elephant

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2025 License: MIT

README

Elephant - cuz it's phat.

elephant is a service providing data and actions via various data-providers. It is meant to be a backend to create f.e. custom launchers.

Discord

Current State

The project just started and is therefore highly wip.

Communication

Communicating with elephant is done via unix-sockets and protobuf messages.

Current Providers

  • desktopapplications
  • files
  • clipboard

Quick-Guide

  1. You need: elephant
  2. ... a provider
  3. something to make unix socket calls with (or use elephant query/activate for testing)
mkdir ~/.config/elephant
mkdir ~/.config/elephant/providers
git clone https://github.com/abenz1267/elephant && cd elephant/cmd && go install elephant.go
cd ../internals/providers/desktopapplications
go build -buildmode=plugin && cp desktopapplications.so ~/.config/elephant/providers/

Once you have this setup, you can start using elephant.

Using elephant as client

elephant has a built-in tiny client which is meant for testing purpose only.

Querying: elephant query "files;somefile;5;false" => the arguments position correlate to their respective protobuf file.

Activating: elephant activate "1;desktopapplications;/usr/share/applications/firefox-developer-edition.desktop:new-private-window;"

Directories

Path Synopsis
internal
comm
Package comm provides functionallity to communitate with elephant
Package comm provides functionallity to communitate with elephant
comm/client
Package client provides simple functions to communicate with the socket.
Package client provides simple functions to communicate with the socket.
comm/handlers
Package handlers providers all the communication handlers
Package handlers providers all the communication handlers
common
Package common provides common functions used by all providers.
Package common provides common functions used by all providers.
common/history
Package history provides functions to save and load history in a streamlined way.
Package history provides functions to save and load history in a streamlined way.
providers
Package providers provides common provider functions.
Package providers provides common provider functions.
providers/clipboard command
Package clipboard provides access to the clipboard history.
Package clipboard provides access to the clipboard history.
providers/files command
util
Package util provides general utility.
Package util provides general utility.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL