everclip is a headless, event-driven X11 CLIPBOARD history daemon and pipe-first CLI. It stores stable history records in SQLite while keeping each original X11 target payload in a deduplicated blob store.
🎬 Click here to watch the short everclip demo... 🎬
everclip.mp4
Install the everclip daemon:
everclip daemon install
# OR configure the max clipboard history and or database path (optional)
everclip daemon install --max-history 10000 --database /path/to/history.turso.db
# populate your clipboard history
printf 'hello' | xclip -selection clipboard
printf 'world' | xclip -selection clipboard
# list
everclip
everclip list
everclip list --color
everclip list --json | jq
everclip list | grep 1
everclip search hello
everclip copy 1
everclip delete 1Pass -v or --verbose to everclip daemon to log captured clipboard copies and CLI requests to standard error. Pass --database PATH to override the SQLite clipboard history location.
Install the current binary as an enabled systemd user service with everclip daemon install. Pass --database PATH or --max-history INT after install to persist those options in the systemd service (for example, everclip daemon install --max-history 250). Installation also adds Bash completion under ~/.local/share/bash-completion/completions/. Remove the service, installed binary, and completion with everclip daemon uninstall; uninstall asks separately before deleting clipboard history.
Run everclip --help or a command's --help for all flags. Lists are one escaped line per event by default. Use everclip list --offset INT to skip that many newest matching items for pagination. --json produces an array and --jsonl produces one object per line. show ID --raw writes the selected representation without decoration.
Pass --color to everclip list to render IDs in bold, underlined teal (#09d1b0), clipboard previews in light blue (#dae4ff), and a blank line between entries.
Text character counts are Unicode scalar-value counts. Word counts use Unicode word segmentation (unicode-segmentation).
The optional config file is ~/.config/everclip/config.toml:
[history]
max_history = 1000
[capture]
selection = "clipboard"
max_item_bytes = 268435456
max_representation_bytes = 134217728
[text]
max_preview_chars = 160
calculate_statistics = trueDefaults place the database and blobs below ~/.local/share/everclip and the user-only socket at $XDG_RUNTIME_DIR/everclip.sock. compact only removes oldest excess unpinned events. Deletion and compaction garbage-collect unreferenced blobs.