hassan@alsallam:~/projects/stash$ bat README.md

Stash

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

Working build2026linux-appsource: private · ask me
Onboarding screen
Onboarding screen
Clipboard history list
Clipboard history list
History filtered to copied colors
History filtered to copied colors

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

Stack

RustGTK4libadwaitaGNOME Shell extensionSQLiteSQLCipherD-Bus

~9,800 lines of Rust · 4-crate workspace · 43 tests