Stash
A GNOME clipboard-history manager, everything you copy one keypress away



What it is
Stash is a clipboard-history manager for GNOME on Wayland. It remembers everything you copy, text, rich text, images, files, links, and colors, and lets you search and re-paste any past item from the keyboard.
Building it meant solving a GNOME-specific problem. Unlike wlroots compositors, Mutter exposes no data-control protocol, so a background app simply cannot watch the clipboard; it is blocked by design for privacy. The only sanctioned path is a small GNOME Shell extension in GJS running inside gnome-shell, reading St.Clipboard and handing clips to a Rust daemon. So Stash is a four-crate workspace: the shell extension, a stashd daemon, a core library, and a GTK4 UI, talking over D-Bus. History lives in SQLite with optional SQLCipher encryption whose key is held in the keyring, never on disk.
The details are where it earns its place: live image thumbnails, drag-out at original fidelity, transform-on-paste, and background OCR through tesseract to find a screenshot by what it says.
Features
- Searchable history of text, images, files, links and colors with fuzzy search
- A GNOME Shell extension captures clips that Mutter blocks external apps from seeing
- Paste as plain text, plus transform-on-paste (upper, lower, trim, JSON)
- Background OCR of image clips via tesseract, folded into search
- Optional SQLCipher encryption at rest, key held in the login keyring
- Collections, snippets, pinning, retention and privacy pause
Stack
~9,800 lines of Rust · 4-crate workspace · 43 tests