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.6.tar.gz (17.1 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.6-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipvault-1.0.6.tar.gz
  • Upload date:
  • Size: 17.1 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.6.tar.gz
Algorithm Hash digest
SHA256 6a8de16159c9138d5e68df8da908a625d1d7a46eb4f4158b03b9dced66e8b359
MD5 3675436256ff98f41d1242489105a0a2
BLAKE2b-256 b0da4bbe858e39ae5ac34a83d83a5411343c8c3665f4b2e9db8d272b5a8f18b2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: clipvault-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 20.2 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fdde3dccbe0361c354fa92af5c6290724394b601756c24a723574f922a3490b4
MD5 bc8927c0ede72358eaf383ead192d662
BLAKE2b-256 d3b9f8879e05b702ee00e90322e36b03f66fa4e429a80229033f795cfd8f0973

See more details on using hashes here.

Provenance

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