A beautiful, Windows 11-style Clipboard History Manager for Linux.
Works on Wayland & X11.
Built with π¦ Rust + β‘ Tauri v2 + βοΈ React + π¨ Tailwind CSS
Features β’ Installation β’ How to Use β’ Development
- π§ Wayland & X11 Support - Uses OS-level shortcuts and
uinputfor pasting to support Wayland & X11. - β‘ Global Hotkey - Press
Super+VorCtrl+Alt+Vto open instantly. - π±οΈ Smart Positioning - Window follows your mouse cursor across multiple monitors.
- π Pinning - Keep important items at the top of your list.
- πΌοΈ Rich Media - Supports Images, Text, etc.
- π¬ GIF Integration - Search and paste GIFs from Tenor directly into Discord, Slack, etc.
- π€© Emoji Picker - Built-in searchable emoji keyboard.
- ποΈ Performance - Native Rust backend ensures minimal resource usage.
- π‘οΈ Privacy Focused - History is stored locally and never leaves your machine.
- π§ Setup Wizard - First-run wizard guides you through permission setup, detects shortcut conflicts, and autostart configuration.
This script automatically detects your distro and architecture (x86_64, ARM64), downloads the correct package, and sets up permissions.
curl -fsSL https://raw.githubusercontent.com/gustavosett/Windows-11-Clipboard-History-For-Linux/master/scripts/install.sh | bashNote: The installer uses ACLs to grant immediate access to input devices β no logout required!
Download the latest release from the Releases Page.
Debian / Ubuntu / Pop!_OS / Linux Mint
Option 1: APT Repository (Recommended - enables automatic updates)
# Add the Cloudsmith repository
curl -1sLf 'https://dl.cloudsmith.io/public/gustavosett/clipboard-manager/setup.deb.sh' | sudo -E bash
# Install the package
sudo apt update
sudo apt install win11-clipboard-history
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinputOption 2: Direct Download
# Download and install (replace VERSION with actual version)
sudo apt install ./win11-clipboard-history_VERSION_amd64.deb
# The package sets up udev rules automatically.
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinputFedora / RHEL / CentOS
Option 1: DNF Repository (Recommended - enables automatic updates)
# Add the Cloudsmith repository
curl -1sLf 'https://dl.cloudsmith.io/public/gustavosett/clipboard-manager/setup.rpm.sh' | sudo -E bash
# Install the package
sudo dnf install win11-clipboard-history
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinputOption 2: Direct Download
# Download and install (replace VERSION with actual version)
sudo dnf install ./win11-clipboard-history-VERSION-1.x86_64.rpm
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinputArch Linux (AUR)
# Using yay
yay -S win11-clipboard-history-bin
# Or using paru
paru -S win11-clipboard-history-binAppImage (Universal)
Quick Start
# Download the AppImage from the releases page
chmod +x win11-clipboard-history_*.AppImage
# Grant uinput access for paste simulation
sudo setfacl -m u:$USER:rw /dev/uinput
# Run the app
./win11-clipboard-history_*.AppImageFull Installation (recommended for regular use)
# Create directories
mkdir -p ~/.local/bin ~/.local/share/applications
# Move AppImage to local bin
mv win11-clipboard-history_*.AppImage ~/.local/bin/win11-clipboard-history.AppImage
chmod +x ~/.local/bin/win11-clipboard-history.AppImage
# Create a wrapper script for clean environment
cat > ~/.local/bin/win11-clipboard-history << 'EOF'
#!/bin/bash
unset LD_LIBRARY_PATH LD_PRELOAD GTK_PATH GIO_MODULE_DIR
export NO_AT_BRIDGE=1
exec "$HOME/.local/bin/win11-clipboard-history.AppImage" "$@"
EOF
chmod +x ~/.local/bin/win11-clipboard-history
# Create desktop entry
cat > ~/.local/share/applications/win11-clipboard-history.desktop << EOF
[Desktop Entry]
Type=Application
Name=Clipboard History
Comment=Windows 11-style Clipboard History Manager
Exec=$HOME/.local/bin/win11-clipboard-history
Icon=utilities-clipboard
Terminal=false
Categories=Utility;
EOF
# Add ~/.local/bin to PATH if not already there
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcSetting up paste simulation (required)
AppImage doesn't install udev rules automatically, so you need to set up permissions:
# Quick fix (temporary, resets on reboot):
sudo setfacl -m u:$USER:rw /dev/uinput
# Permanent fix (survives reboot):
sudo tee /etc/udev/rules.d/99-win11-clipboard-input.rules > /dev/null << 'EOF'
ACTION=="add", SUBSYSTEM=="misc", KERNEL=="uinput", OPTIONS+="static_node=uinput"
KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", TAG+="uaccess"
EOF
echo "uinput" | sudo tee /etc/modules-load.d/win11-clipboard.conf > /dev/null
sudo modprobe uinput
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=misc
# Apply ACL for immediate access
sudo setfacl -m u:$USER:rw /dev/uinputNote: You may need to log out and back in for the permanent udev rules to take full effect.
Build from Source
# Clone and enter the repo
git clone https://github.com/gustavosett/Windows-11-Clipboard-History-For-Linux.git
cd Windows-11-Clipboard-History-For-Linux
# Install dependencies (auto-detects distro)
make deps
make rust
make node
source ~/.cargo/env
# Build
make build
# Install system-wide (uses /usr/local by default)
sudo make install
# Or install to /usr like a package
sudo make install PREFIX=/usrOn the first launch, the app will show a Setup Wizard that:
- β Checks if you have the necessary permissions for paste simulation
- π§ Offers a one-click fix if permissions are missing
β οΈ Detects shortcut conflicts with your desktop environment (GNOME, KDE, i3, Sway, Hyprland, etc.)- β‘ Offers automatic conflict resolution where possible
- β¨οΈ Helps register the global shortcut (Super+V) for your desktop environment
- π Lets you enable autostart on login
| Hotkey | Action |
|---|---|
Super + V |
Open Clipboard History |
Ctrl + Alt + V |
Alternative Shortcut |
Esc |
Close Window |
β / β / Tab |
Navigate Items |
Enter |
Paste Selected Item |
- Paste GIFs: Select a GIF, and it will be copied as a file URI. The app simulates
Ctrl+Vto paste it into apps like Discord or Telegram. - Pinning: Click the pin icon on any item to keep it at the top permanently.
- Rust 1.77+
- Node.js 20+
- System build dependencies (see
make deps)
git clone https://github.com/gustavosett/Windows-11-Clipboard-History-For-Linux.git
cd Windows-11-Clipboard-History-For-Linux
make deps # Install system dependencies (auto-detects distro)
make rust # Install Rust via rustup
make node # Install Node.js via nvm
source ~/.cargo/env
make dev # Run in development mode with hot reload| Command | Description |
|---|---|
make dev |
Run in development mode |
make build |
Build production release |
make install |
Install to system (default: /usr/local) |
make uninstall |
Remove from system |
make clean |
Remove build artifacts |
make lint |
Run linters |
make help |
Show all available commands |
- Ensure the app is running:
pgrep -f win11-clipboard-history-bin - If not running, launch it from your app menu or run
win11-clipboard-history - Re-run the Setup Wizard to register the shortcut:
rm ~/.config/win11-clipboard-history/setup.json win11-clipboard-history
Many desktop environments use Super+V for built-in features. The Setup Wizard will detect and offer to fix these automatically, but you can also resolve them manually:
GNOME / Ubuntu
GNOME uses Super+V for the Notification Center / Message Tray.
# Change GNOME's notification tray shortcut to Super+Shift+V
gsettings set org.gnome.shell.keybindings toggle-message-tray "['<Super><Shift>v']"Or manually: Settings β Keyboard β Keyboard Shortcuts β Search "Notification"
Pop!_OS / Pop Shell
Pop!_OS inherits GNOME's Super+V shortcut:
gsettings set org.gnome.shell.keybindings toggle-message-tray "['<Super><Shift>v']"If Pop Shell also uses Super+V for tiling: Settings β Keyboard β Customize Shortcuts β Pop Shell
KDE Plasma
Check if Klipper (built-in clipboard manager) uses Meta+V:
- Right-click Klipper in system tray β Configure
- Go to Shortcuts
- Change or disable the Meta+V binding
Or: System Settings β Shortcuts β Global Shortcuts β Search "Meta+V"
COSMIC Desktop
Settings β Keyboard β Shortcuts and check for Super+V bindings in both Custom and System shortcuts.
i3 Window Manager
Edit your i3 config (~/.config/i3/config):
# Comment out or remove existing $mod+v binding
# bindsym $mod+v split vertical
# Add clipboard history
bindsym $mod+v exec win11-clipboard-historyReload i3: $mod+Shift+r
Sway
Edit your Sway config (~/.config/sway/config):
# Comment out existing $mod+v binding if any
# Add clipboard history
bindsym $mod+v exec win11-clipboard-historyReload Sway: $mod+Shift+c
Hyprland
Edit your Hyprland config (~/.config/hypr/hyprland.conf):
# Comment out existing SUPER, V binding if any
# Add clipboard history
bind = SUPER, V, exec, win11-clipboard-historyConfig auto-reloads.
- Check the Setup Wizard: It shows permission status and offers one-click fixes
- Quick fix:
sudo setfacl -m u:$USER:rw /dev/uinput - Wayland: Ensure
wl-clipboardis installed - X11: Ensure
xclipis installed - The app simulates
Ctrl+Vβ ensure the target app accepts this shortcut
The app uses smart cursor tracking. If it appears incorrectly, try moving your mouse to the center of the desired screen and pressing the hotkey again.
Debian / Ubuntu
sudo apt remove win11-clipboard-history
# To also remove config files:
sudo apt purge win11-clipboard-historyFedora / RHEL
sudo dnf remove win11-clipboard-historyArch Linux (AUR)
yay -R win11-clipboard-history-binAppImage
rm -f ~/.local/bin/win11-clipboard-history*
rm -f ~/.local/share/applications/win11-clipboard-history.desktop
rm -rf ~/.config/win11-clipboard-historyBuilt from Source (Makefile)
rm -f ~/.local/bin/win11-clipboard-history
rm -rf ~/.local/lib/win11-clipboard-history
rm -f ~/.config/autostart/win11-clipboard-history.desktopCheck if it still have shortcuts registered and remove them:
This can happen if the application was uninstalled while it was running or if the uninstall permissions were incorrect.
- Go to Settings -> Keyboard -> Shortcuts
- Find "Win11 Clipboard History" or similar entry
- Remove the shortcut or change it to "Disabled"
Thanks goes to these wonderful people (emoji key):
freshCoder21313 π£ π» π¨ |
Tallin-Boston-Technology π€ |
rorar π€ π |
sonarx π€ |
Oleksandr Romaniuk π |
Predrag π» π |
Hen π π» |
|
|
||||||
This project follows the all-contributors specification. Contributions of any kind welcome!
Contributions are welcome!
- Fork it
- Create your feature branch (
git checkout -b feature/cool-feature) - Commit your changes (
git commit -m 'feat: add cool feature') - Push to the branch (
git push origin feature/cool-feature) - Open a Pull Request
MIT License Β© Gustavo Sett
Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.
If you like this project, give it a β!
