Your clipboard, with a memory.
A small clipboard history tool for Linux, written in Go. A daemon keeps history in a local SQLite database; a CLI and a Unix-socket API get it back out. Nothing leaves your machine.
A personal project, shared under the MIT license.
$ clipd &clipd: watching clipboard $ clipctl list 3 kubectl logs -f deploy/api --tail=50 2 https://go.dev/blog/errors-are-values 1 make build && ./bin/clipd $ echo "password: hunter2" | wl-copyclipd: entry skipped, contains password $ clipctl search kube 3 kubectl logs -f deploy/api --tail=50$ Three pieces
clipd
the daemon
Watches the clipboard in the background, stores every change in a local SQLite database, and prunes old entries on a schedule.
./bin/clipd --poll-interval 500msclipctl
the CLI
Lists, searches, inspects, and deletes history entries from the terminal, over the same socket the daemon serves.
clipctl search "kubectl"the socket
the API
A small REST API on a Unix socket with owner-only permissions. Local by construction, scriptable with plain curl.
curl --unix-socket /tmp/clipd.sock http://unix/api/v1/historyBuilt to learn, shared in case it helps
This started as a learning exercise in Go and clean architecture. It is not a product; expect rough edges. If it looks useful, building it takes about a minute:
git clone https://github.com/geodask/clipboard-manager
cd clipboard-manager && make build Curious how it is put together? The architecture notes walk through the layers.