# 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 sled - List, search, decode, delete, and wipe clipboard history - Backwards compatible with Cliphist TSV format - Import clipboard history from TSV (e.g., from `cliphist list`) - 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 ```bash echo "some clipboard text" | stash store ``` ### List entries ```bash stash list ``` ### Decode an entry by ID ```bash stash decode --input "1234" ``` ### Delete entries matching a query ```bash stash delete-query --query "some text" ``` ### Delete multiple entries by ID (from a file or stdin) ```bash stash delete < ids.txt ``` ### Wipe all entries ```bash stash wipe ``` ### 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 `: Custom database path - `--max-items `: Maximum number of entries to keep (oldest trimmed) - `--max-dedupe-search `: Deduplication window size - `--preview-width `: Text preview max width for `list` ## Tips & Tricks ### Migrating from Cliphist [Cliphist]: https://github.com/sentriz/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. ```bash $ cliphist list --db ~/.cache/cliphist/db | stash --import-tsv # > Imported 750 records from TSV into database. ``` Alternatively, you may first export from Cliphist and _then_ import the database. ```bash $ cliphist list --db ~/.cache/cliphist/db > cliphist.tsv $ stash --import-tsv < cliphist.tsv # > Imported 750 records from TSV into database. ```