A beautiful, Windows 11-style Clipboard History Manager for Linux.
Works on Wayland & X11.
Built with 🦀 Rust + ⚡ Tauri v2 + ⚛️ React + 🎨 Tailwind CSS
✨ Features
- 🐧 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.
📥 Installation
🚀 Recommended: One-Line Install
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 | bash
Note: The installer uses ACLs to grant immediate access to input devices — no logout required!
📦 Manual Installation
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/uinput
Option 2: Direct Download
# Download and install (replace VERSION and ARCH with actual values)
# ARCH: amd64 for x86_64, arm64 for ARM64/aarch64
sudo apt install ./win11-clipboard-history_VERSION_ARCH.deb
# The package sets up udev rules automatically.
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinput
Fedora / 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/uinput
Option 2: Direct Download
# Download and install (replace VERSION and ARCH with actual values)
# ARCH: x86_64 for Intel/AMD, aarch64 for ARM64
sudo dnf install ./win11-clipboard-history-VERSION-1.ARCH.rpm
# For immediate paste access (without logout):
sudo setfacl -m u:$USER:rw /dev/uinput
Arch Linux (AUR)
# Using yay
yay -S win11-clipboard-history-bin
# Or using paru
paru -S win11-clipboard-history-bin
AppImage (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_*.AppImage
Full 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"' >> ~/.bashrc
Setting 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/uinput
Note: 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=/usr
🎯 First Run
On 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
⌨️ How to Use
| Hotkey | Action |
|---|---|
Super + V |
Open Clipboard History |
Ctrl + Alt + V |
Alternative Shortcut |
Esc |
Close Window |
↑ / ↓ / Tab |
Navigate Items |
Enter |
Paste Selected Item |
Tips
- 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.
🛠️ Development
Prerequisites
- Rust 1.77+
- Node.js 20+
- System build dependencies (see
make deps)
Quick Start
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
Available Commands
| 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 |
🔧 Troubleshooting
App won't open with Super+V
- 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
Super+V Conflicts with Desktop Environment
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-history
Reload 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-history
Reload 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-history
Config auto-reloads.
Pasting doesn't work
- 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
Window appears on the wrong monitor
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.
🗑️ Uninstalling
Debian / Ubuntu
sudo apt remove win11-clipboard-history
# To also remove config files:
sudo apt purge win11-clipboard-history
Fedora / RHEL
sudo dnf remove win11-clipboard-history
Arch Linux (AUR)
yay -R win11-clipboard-history-bin
AppImage
rm -f ~/.local/bin/win11-clipboard-history*
rm -f ~/.local/share/applications/win11-clipboard-history.desktop
rm -rf ~/.config/win11-clipboard-history
Built from Source (Makefile)
rm -f ~/.local/bin/win11-clipboard-history
rm -rf ~/.local/lib/win11-clipboard-history
rm -f ~/.config/autostart/win11-clipboard-history.desktop
Check 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"
Contributors ✨
Thanks goes to these wonderful people (emoji key):
freshCoder21313 🔣 💻 🎨 |
Tallin-Boston-Technology 🤔 |
rorar 🤔 🐛 |
sonarx 🤔 |
Oleksandr Romaniuk 🐛 |
Predrag 💻 🐛 |
Hen 🐛 💻 |
Eyad 🐛 💻 |
||||||
|
|
||||||
This project follows the all-contributors specification. Contributions of any kind welcome!
🤝 Contributing
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
📄 License
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 ⭐!
