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.0.tar.gz (16.9 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.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipvault-1.0.0.tar.gz
  • Upload date:
  • Size: 16.9 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.0.tar.gz
Algorithm Hash digest
SHA256 ca479b4ec29805afe37863ff259b6b12634b767d68c68e9ec0bc1e1746da32dd
MD5 3509480d4a720d701da8a7d49670954a
BLAKE2b-256 cd1bbaf173d91538360f02c39aa988d21ed1f7811ccf071e03b0a801738ced66

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipvault-1.0.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: clipvault-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b095b1c5dcbbbe79382f50d55cd100367a93c7b33e5ae1ed4d9dd0fff9eaac4d
MD5 b72ec495835632456075dfdebb2d9ca4
BLAKE2b-256 4b78eb21a3e1eab3ce33e4b330e797e77d3e94fa83e133c17592e70184a4755a

See more details on using hashes here.

Provenance

The following attestation bundles were made for clipvault-1.0.0-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