Universal paste, clipboard, and expression for Linux.
ClipLinux is a keyboard-first Linux ecosystem: clipboard history, emoji, GIFs, stickers, symbols, and snippets — with a daemon, a CLI, and first-class desktop integrations. It is not an Electron app and not merely an emoji picker.
Latest completed milestone: GNOME clipboard bridge + Linux packaging
(.deb / .rpm / AppImage via Tauri). GNOME Wayland needs the Shell
extension and a log out after install. GIFs, stickers, snippets UI, and
cloud sync are not implemented.
| Session | History + insert | How to open |
|---|---|---|
| GNOME Wayland | After the ClipLinux extension loads (log out/in) | Super+Alt+V |
| X11 | Yes | Super+V (configurable) |
| Other Wayland compositors | Not yet (copy + Ctrl+V only) | clipl toggle |
This is not “runs on all Linux desktops.” KDE, Sway, and Hyprland still need compositor-specific work.
cargo test --workspace
cargo run -p clipl-daemon -- --diagnose
cargo run -p clipl-daemon # start (Ctrl+C to stop)
cargo run -p clipl -- doctor
cargo run -p clipl -- status
cargo run -p clipl -- open
cargo run -p clipl -- toggle
cargo run -p clipl -- hide
cargo run -p clipl -- history --limit 20Desktop picker (requires the daemon and Tauri system libraries):
# Terminal 1
cargo run -p clipl-daemon
# Terminal 2
cd apps/desktop
npm install
npm run tauri devOn GNOME Wayland, install extensions/gnome then log out and back in.
See extensions/gnome/README.md.
Build installers (needs WebKitGTK; produces files under target/release/bundle/):
cd apps/desktop
npm install
npm run tauri build.deb / .rpm autostart the daemon and picker on login and install the GNOME
extension files. Log out after installing on GNOME Wayland. Other clipboard
extensions do not need to be disabled first; if copies still do not appear,
gnome-extensions info clipl@io.clipl should show the ClipLinux extension as
enabled in this session.
Release tags v*.*.* (and manual workflow dispatch) build artifacts on
Ubuntu 24.04 in GitHub Actions. A locally built AppImage from Ubuntu
26.04 is not a release candidate (bundled WebKit needs glibc 2.43). The
local .deb uses system libraries and installed on 24.04 in a container
test. Details:
packaging/linux/README.md.
See DEVELOPMENT.md for the full contributor workflow.
| Document | Purpose |
|---|---|
| MASTER_PLAN.md | Product vision and delivery sequence |
| ARCHITECTURE.md | Crate graph, boundaries, and rules |
| ROADMAP.md | Milestones and explicit non-goals |
| PLATFORM_CAPABILITIES.md | X11 / Wayland / GNOME / KDE matrix |
| PRIVACY_MODEL.md | What is stored, filtered, and never logged |
| CONTRIBUTING.md | How to land changes |
| DEVELOPMENT.md | Tooling and local commands |
| docs/architecture/clipboard-engine.md | History pipeline |
| docs/architecture/daemon.md | Daemon behaviour |
| docs/architecture/ipc.md | Unix socket protocol |
| docs/architecture/storage.md | SQLite schema and paths |
| docs/architecture/desktop.md | Tauri + Svelte picker |
| docs/architecture/desktop-daemon-boundary.md | Why the UI never opens SQLite |
| docs/architecture/emoji-engine.md | Unicode 17.0 emoji search |
| docs/architecture/symbols-engine.md | Curated symbols and kaomoji |
| docs/architecture/activation.md | X11 grab, GNOME extension, CLI open/toggle |
| docs/platform-support/x11.md | X11 clipboard + native shortcut |
| docs/platform-support/gnome.md | GNOME Wayland activation |
apps/ desktop (Tauri + Svelte), daemon, CLI
crates/ Rust libraries; core has no UI toolkit dependency
extensions/ GNOME Shell activation extension; KDE planned slot
packages/ emoji data; sticker packs and themes (planned)
docs/ additional architecture notes
tasks/ completed historical tasks
scripts/ workspace quality checks
Licensed under MIT OR Apache-2.0.