Skip to main content

Windows-style clipboard manager for Ubuntu

Project description

ClipVault — Windows-style Clipboard Manager for Ubuntu

A pixel-perfect recreation of Windows Win+V clipboard history for Ubuntu Linux, built with PyQt5.


Features

Feature Windows Win+V ClipVault
Clipboard History Yes Yes
Text support Yes Yes
Image support Yes Yes
Pin items Yes Yes
Search history Yes Yes
Global hotkey Win+V Super+V
One-click paste Yes Yes
Dark UI Yes Yes
System tray Yes Yes
Auto-start on login Yes Yes
Tabs (All/Pinned/Text/Images) Yes Yes
Cross-device sync Yes (MS account) No

Project structure

clipboard_manager/
├── app/                        # Application package
│   ├── main.py                 # Entry point
│   ├── shared/
│   │   └── constants.py        # Colors, file paths, limits
│   ├── models/
│   │   └── clip_item.py        # ClipItem data model
│   ├── core/
│   │   ├── history_manager.py  # Load/save/search clipboard history
│   │   └── clipboard_watcher.py# QThread — polls system clipboard
│   ├── workers/
│   │   └── hotkey_listener.py  # Daemon thread — global Super+V hotkey
│   └── ui/
│       ├── main_window.py      # ClipVaultWindow (main UI)
│       ├── tray_icon.py        # System tray icon + context menu
│       └── widgets/
│           └── clip_item_widget.py  # Per-item card widget
├── installation/
│   ├── install.sh              # One-shot installer for Ubuntu/Debian
│   ├── uninstall.sh            # Removes all installed files
│   └── README.md               # Installation guide
├── pyproject.toml              # Project metadata, deps, pytest config
└── README.md

Quick install

chmod +x installation/install.sh
./installation/install.sh

Then launch:

clipvault

See installation/README.md for the full installation guide and manual install instructions.

To uninstall:

chmod +x installation/uninstall.sh
./installation/uninstall.sh

Running without installing

# From the project root
python3 app/main.py

Keyboard shortcuts

Shortcut Action
Super+V Toggle clipboard window
Escape Close window
Click item Paste immediately
Pin button Pin / Unpin item
X button Delete item

Configuration

History is stored at ~/.clipvault_history.json.

To change the max history size, edit app/shared/constants.py:

MAX_HISTORY = 50  # change this number

Compatibility

  • Ubuntu 20.04+
  • Debian 11+
  • Any GNOME / KDE / XFCE desktop on X11

Wayland limitations

ClipVault is built on PyQt5 + X11. On Wayland sessions some features are restricted:

Feature X11 Wayland
Clipboard history Yes Yes
Super+V global hotkey Yes No
Auto-paste on item click Yes Partial
System tray icon Yes Yes (via XWayland)

Why the hotkey does not work on Wayland: pynput uses X11 APIs (python-xlib) to intercept global key events. Wayland's security model blocks applications from listening to input outside their own window, so the Super+V hotkey cannot be registered.

Workarounds on Wayland:

  • Click the system tray icon to toggle the window
  • Run the session in X11 mode: log out → on the login screen click the gear icon → select Ubuntu on Xorg → log back in
  • Set the environment variable before launching:
    QT_QPA_PLATFORM=xcb clipvault
    

Check which session you are on:

echo $XDG_SESSION_TYPE   # prints "x11" or "wayland"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipvault-1.0.3.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipvault-1.0.3-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file clipvault-1.0.3.tar.gz.

File metadata

  • Download URL: clipvault-1.0.3.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clipvault-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5daa01e13aeabbb3b09ba46a720c785b4b72cd099413e527e1fbca43cdeb865a
MD5 a57938ee72ca6578b4d76f89cfe1fa6e
BLAKE2b-256 3f1cc371ed86f0880a420dc162ff9efface81f52b3c8bd6c896a64f7001a93a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipvault-1.0.3.tar.gz:

Publisher: publish.yml on jinshah0322/ClipVault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clipvault-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: clipvault-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clipvault-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2ecd9230a0933f4509c04d523d0b5583286da09eda3bbd3ea6e44195a52e4db0
MD5 54ff84c67f0217ae7a6d832d4f0da9c0
BLAKE2b-256 063fb40829912070b9d229ac81c0612d8f6b4b1e9ece2111faf0540a3b0a75d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipvault-1.0.3-py3-none-any.whl:

Publisher: publish.yml on jinshah0322/ClipVault

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page