Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I6a6a69640e1c77cc479b40f276ba77b736040504
2.4 KiB
Stash
Wayland clipboard "manager" with fast persistent history and multi-media support. Stores and previews clipboard entries (text, images) on the command line.
Features
- Stores clipboard entries with automatic MIME detection
- Fast persistent storage using SQLite
- List, search, decode, delete, and wipe clipboard history
- Backwards compatible with Cliphist TSV format
- Import clipboard history from TSV (e.g., from
cliphist list)
- Import clipboard history from TSV (e.g., from
- Image preview (shows dimensions and format)
- Deduplication and entry limit control
- Text previews with customizable width
Usage
Command interface is only slightly different from Cliphist. In most cases, it
will be as simple as replacing cliphist with stash in your commands, aliases
or scripts.
Store an entry
echo "some clipboard text" | stash store
List entries
stash list
Decode an entry by ID
stash decode --input "1234"
Delete entries matching a query
stash delete --type query --arg "some text"
Delete multiple entries by ID (from a file or stdin)
stash delete --type id < ids.txt
Wipe all entries
stash wipe
Watch clipboard for changes and store automatically
stash watch
This runs a daemon that monitors the clipboard and stores new entries automatically.
Options
Some commands take additional flags to modify Stash's behavior. See each
commands --help text for more details. The following are generally standard:
--db-path <path>: Custom database path--max-items <N>: Maximum number of entries to keep (oldest trimmed)--max-dedupe-search <N>: Deduplication window size--preview-width <N>: Text preview max width forlist
Tips & Tricks
Migrating from Cliphist
Stash is designed to be backwards compatible with Cliphist. Though for brevity, I have elected to skip automatic database migration. Which means you must handle the migration yourself, with one simple command.
$ cliphist list --db ~/.cache/cliphist/db | stash --import-tsv
# > Imported 750 records from TSV into SQLite database.
Alternatively, you may first export from Cliphist and then import the database.
$ cliphist list --db ~/.cache/cliphist/db > cliphist.tsv
$ stash --import-tsv < cliphist.tsv
# > Imported 750 records from TSV into SQLite database.