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.5.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.5-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipvault-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 dbe9ee85021279f959cfac03b523790a1b2c84d621c462a4cfd80efcf2b3c6e9
MD5 35d6351a070b34d024a8f65857563c8d
BLAKE2b-256 2c16800688136e7911e341a5cd3c8289b449b51ee41896563a3d09386c6a9de0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: clipvault-1.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e32b44a7ee94ebbd6212e6df89c595cbec5e93b46d08d96db9f27763c269baf5
MD5 ff2f158d258507a9213483b4f89be8d9
BLAKE2b-256 faba8b7941813950d7c72930540db56a26b04f5d4605a91268d4a60045e18172

See more details on using hashes here.

Provenance

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