Skip to content

lostf1sh/clp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clp

GPU-accelerated clipboard manager for Wayland. Built with Rust + GPUI.

Super+V opens an instant popup with your clipboard history. Select an entry to paste it. That's it.

Features

  • Native Wayland clipboard watching via ext-data-control-v1 protocol
  • GPU-accelerated popup UI (GPUI framework)
  • Text, image, and rich text support
  • Live search filtering
  • Pin/unpin important entries
  • Mouse and keyboard navigation
  • Focus-blur auto-close
  • SQLite storage with automatic deduplication and pruning
  • Catppuccin Mocha theme

Requirements

  • Wayland compositor with ext-data-control-v1 support (KDE 6+, GNOME 45+, Hyprland, Sway, etc.)
  • Rust toolchain

Install

git clone https://github.com/lostf1sh/clp.git
cd clp
bash install.sh

The install script will:

  • Build release binaries
  • Install clpd and clp to ~/.cargo/bin/
  • Start the clpd daemon as a systemd user service
  • Auto-detect your compositor and add the Super+V keybind

Uninstall

bash uninstall.sh

Manual install

If you prefer to set things up yourself:

cargo build --release
cp target/release/clpd target/release/clp ~/.cargo/bin/

Start the daemon

# Foreground
clpd

# Or as a systemd user service
cp contrib/clpd.service ~/.config/systemd/user/
systemctl --user enable --now clpd

Keybind setup

clp doesn't handle global keybinds itself. Configure your compositor:

Hyprland:

bind = SUPER, V, exec, clp

Sway:

bindsym Mod4+v exec clp

KDE: System Settings > Shortcuts > Custom Shortcuts > Add > clp

Popup shortcuts

Key Action
Up/Down Navigate entries
Enter Paste selected entry
Click Paste clicked entry
Delete Delete selected entry
Ctrl+P Pin/unpin entry
Type Filter entries
Backspace Delete search character
Ctrl+U Clear search
Escape Close popup

Configuration

Create ~/.config/clp/config.toml:

max_entries = 500
max_image_size = 5242880  # 5MB

Architecture

clpd (daemon)          clp (popup)
  |                      |
  | watches clipboard    | opens on Super+V
  | stores to SQLite     | fetches via IPC
  | serves IPC           | shows GPUI popup
  |                      | pastes selection
  +--- Unix Socket ------+
  • clpd: Background daemon (~2MB RAM). Watches clipboard via native Wayland protocol, stores entries in SQLite, serves IPC requests over Unix socket.
  • clp: Popup UI. Connects to daemon, displays entries in a GPU-rendered popup, copies selection back to clipboard.
  • clp-common: Shared types and bincode IPC protocol.

License

MIT

About

GPU-accelerated clipboard manager for Wayland. Built with Rust + GPUI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors