Advanced clipboard manager. Cross-platform, Linux-first. Built with Rust / Slint / SQLite.
Use your clip history as a library of things, with instant fuzzy search.
- Persistent History: SQLite FTS5 full-text search.
- Fast Search: Real-time filtering with match highlighting.
- Virtualized Scrolling: instant O(1) visible-row rendering regardless of list size.
- Paste Suppression: SHA-256 hashing prevents duplicates.
- Clipboard Capture: Everything you copy is stored, categorised, ready for searching, pasting, previewing.
- Paste Emulation: Select clip → Enter → content pasted via
enigo. - Global Hotkeys: System-wide shortcuts via XDG Portal
GlobalShortcuts. - Quick Paste Overlay: Just hit the number pad to select and paste.
- Content-Aware Filtering: Filter by text, links, images, colors, bookmarks, etc.
- Image Previews: Hover thumbnails to preview PNG, JPEG, WebP, AVIF, GIF, JXL, SVG.
- Color Swatches:
#hex,rgb(),hsl(),oklch()- with transparency. - Code Highlighting: Syntax-highlighted editor via
syntect. - URL Metadata: Auto-fetches page titles and favicons.
- File Info: Size, modification date, type classification.
- Bookmarks: Make clips permanent, avoid auto-cleanup.
- Text Transformations: E.g.
upper,lower,camel,kebab,strip whitespace, etc. - "Send To": Send clips to external programs, text diff tool integration.
- Auto-Cleanup: Prune by age and / or count.
- Clear Caches: Reclaim disk space for thumbnails and metadata.
- Deadhead: Remove clips referencing deleted files.
- Reclassify: Re-run content classification on stored clips.
- Export/Import: Portable JSON backup and restore.
- DB Statistics: Total clips, paste count, database size.
- Theming: Light/Dark/System, custom accent color.
- Typography: Font family, size, row padding.
- System Tray: Close to tray.
| Component | Technology |
|---|---|
| Language | Rust (edition 2024) |
| UI Framework | Slint 1.17 (Qt 6 backend) |
| Window System | Wayland (wlr-data-control, KDE Plasma 6) |
| Database | SQLite + FTS5 (rusqlite) |
| Async Runtime | Tokio |
| Image Processing | image, resvg, jxl-oxide |
| Syntax Highlighting | syntect |
| Colour Science | Custom OKLCH→sRGB (Björn Ottosson spec) |
| D-Bus / Portals | zbus |
| System Tray | D-Bus StatusNotifierItem via zbus |
| Input Emulation | enigo |
| HTTP Client | reqwest (rustls) |
Large Language Models (LLMs) were used to assist with code generation, refactoring, and documentation. All AI output was subject to human code review, automated testing, manual testing, and adversarial reviews.
- Rust toolchain (stable):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Qt 6 + Wayland dev headers:
| Distro | Command |
|---|---|
| Debian/Ubuntu | sudo apt install qt6-base-dev qt6-wayland libwayland-dev libxkbcommon-dev pkg-config |
| Fedora | sudo dnf install qt6-qtbase-devel qt6-qtwayland libwayland-devel libxkbcommon-devel pkgconfig |
| Arch | sudo pacman -S qt6-base qt6-wayland wayland wayland-protocols libxkbcommon pkgconf |
git clone https://github.com/dcog989/cliptoo.git && cd cliptoocargo install cargo-outdated # initialize outdated tool
cargo build # debug build
cargo check # type-check only
cargo clippy --workspace --all-targets -- -D warnings
cargo fetch && cargo outdated -w # check for updates above semver range
cargo fmt --all --check # formatting
cargo fmt # format all files
cargo run # build and run
cargo test --workspace # tests
cargo update --verbose # update Cargo.lock within semver ranges
cargo clean && rm -rf target/ # clean build artifactscd /home/bubba/Projects/Cliptoo
make install # builds + installs binary and desktop fileManually:
cargo build --release -p cliptoo
sudo install -Dm755 target/release/cliptoo /usr/local/bin/cliptoo
sudo install -Dm644 packaging/cliptoo.desktop /usr/share/applications/cliptoo.desktopReleases use Cocogitto (cargo install cocogitto / sudo pacman -S cocogitto), configured in cog.toml.
cog bump # bump version, sync manifests, write `CHANGELOG.md`, commit, tag, push
cog bump --version V=1.23.4 # Manual version
cog changelog # Changelog previewCommits must use Conventional Commits — enforced on commit via cog verify.
GNU General Public License v3
