Skip to content

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

Repository files navigation

πŸ“‹ Windows 11 Clipboard History For Linux

License Rust Tauri Platform Version

A beautiful, Windows 11-style Clipboard History Manager for Linux.
Works on Wayland & X11.

Screenshot Screenshot

Built with πŸ¦€ Rust + ⚑ Tauri v2 + βš›οΈ React + 🎨 Tailwind CSS

Features β€’ Installation β€’ How to Use β€’ Development


✨ Features

  • 🐧 Wayland & X11 Support - Uses kernel-level input handling (evdev & uinput) to bypass Wayland restrictions.
  • ⚑ 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.

πŸ“₯ Installation

πŸš€ Recommended: One-Line Install

This script automatically detects your distro, downloads the correct package (DEB, RPM, or AppImage), sets up permissions, and configures autostart.

curl -sL http://install-clipboard.gustavosett.dev | bash

Note: This installer uses ACLs to grant immediate access to input devices, so no logout is required!

πŸ“¦ Manual Installation

If you prefer to install manually, download the latest release from the Releases Page.

Click to see manual setup instructions
  1. Install the package:

    • Debian/Ubuntu: sudo apt install ./win11-clipboard-history_*.deb
    • Fedora/RHEL: sudo dnf install ./win11-clipboard-history-*.rpm
    • AppImage: Make executable (chmod +x) and run.
  2. Configure Permissions (Crucial): Since this app listens to global hotkeys on Wayland, it needs access to /dev/input.

    # 1. Create 'input' group
    sudo groupadd input
    sudo usermod -aG input $USER
    
    # 2. Create udev rules
    echo 'KERNEL=="event*", SUBSYSTEM=="input", MODE="0660", GROUP="input"' | sudo tee /etc/udev/rules.d/99-win11-clipboard-input.rules
    echo 'KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"' | sudo tee -a /etc/udev/rules.d/99-win11-clipboard-input.rules
    
    # 3. Load uinput module
    sudo modprobe uinput
    echo "uinput" | sudo tee /etc/modules-load.d/uinput.conf
    
    # 4. Reload rules
    sudo udevadm control --reload-rules && sudo udevadm trigger

    You will need to log out and back in for group changes to take effect if doing this manually.


⌨️ How to Use

Hotkey Action
Super + V Open Clipboard History
Ctrl + Alt + V Alternative Open Shortcut
Esc Close Window
Arrows / Tab Navigate Items
Enter Paste Selected Item

Advanced Usage

  • 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 prevent it from being auto-deleted when the history limit (50 items) is reached.

πŸ› οΈ Development

Prerequisites

You need Rust, Node.js (v20+), and build tools.

# Clone repo
git clone https://github.com/gustavosett/Windows-11-Clipboard-History-For-Linux.git
cd win11-clipboard-history

# Install system dependencies (auto-detects distro)
make deps

# Install language tools
make rust
make node
source ~/.cargo/env

Running in Dev Mode

Use the provided script to ensure the environment is clean (fixes issues with VS Code Snap version):

make dev
# or
./scripts/run-dev.sh

Building for Production

make build
# Artifacts will be in src-tauri/target/release/bundle/

πŸ”§ Troubleshooting

App won't open with Super+V

  1. Ensure the app is running: pgrep -f win11-clipboard-history
  2. Check permissions: ls -l /dev/input/event0. The group should be input and your user should be in that group (groups).
  3. Try the alternative hotkey: Ctrl+Alt+V.

Pasting doesn't work

  1. Wayland: Ensure wl-clipboard is installed: sudo apt install wl-clipboard.
  2. X11: Ensure xclip is installed: sudo apt install xclip.
  3. 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

Ubuntu / Debian:

sudo apt remove win11-clipboard-history

Fedora:

sudo dnf remove win11-clipboard-history

Installer Script / AppImage:

rm -f ~/.local/bin/win11-clipboard-history
rm -rf ~/.local/lib/win11-clipboard-history
rm -f ~/.config/autostart/win11-clipboard-history.desktop

🀝 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 ⭐!