Skip to content

gustavosett/Windows-11-Clipboard-History-For-Linux

Repository files navigation

image

License Rust Tauri Platform Version

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


✨ Features

  • 🐧 Wayland & X11 Support - Uses OS-level shortcuts and uinput for pasting to support Wayland & X11.
  • ⚑ Global Hotkey - Press Super+V or Ctrl+Alt+V to 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
# Download and install (replace VERSION with actual version)
sudo apt install ./win11-clipboard-history_VERSION_amd64.deb

# The package sets up udev rules automatically.
# You may need to log out and back in for permissions to take effect,
# or run this for immediate access:
sudo setfacl -m u:$USER:rw /dev/uinput
Fedora / RHEL / CentOS
# Download and install (replace VERSION with actual version)
sudo dnf install ./win11-clipboard-history-VERSION-1.x86_64.rpm

# For immediate access:
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)
# Download the AppImage
chmod +x win11-clipboard-history_*.AppImage

# Run it
./win11-clipboard-history_*.AppImage

# For paste to work, grant uinput access:
sudo setfacl -m u:$USER:rw /dev/uinput

Note: AppImage is fully portable β€” no system installation required. The permission command above is only needed for paste simulation.

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+V to 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

  1. Ensure the app is running: pgrep -f win11-clipboard-history-bin
  2. If not running, launch it from your app menu or run win11-clipboard-history
  3. 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:

  1. Right-click Klipper in system tray β†’ Configure
  2. Go to Shortcuts
  3. 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

  1. Check the Setup Wizard: It shows permission status and offers one-click fixes
  2. Quick fix: sudo setfacl -m u:$USER:rw /dev/uinput
  3. Wayland: Ensure wl-clipboard is installed
  4. X11: Ensure xclip is installed
  5. 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.

  1. Go to Settings -> Keyboard -> Shortcuts
  2. Find "Win11 Clipboard History" or similar entry
  3. Remove the shortcut or change it to "Disabled"

Screenshot

🀝 Contributing

Contributions are welcome!

  1. Fork it
  2. Create your feature branch (git checkout -b feature/cool-feature)
  3. Commit your changes (git commit -m 'feat: add cool feature')
  4. Push to the branch (git push origin feature/cool-feature)
  5. Open a Pull Request

πŸ“„ License

MIT License Β© Gustavo Sett


If you like this project, give it a ⭐!