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

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipvault-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 16ed0b32542975e852c99c7abcda4de9f549296998eb45c40eb4b3340aa98424
MD5 fa0961b66cd3261a035ae5f3e811ca83
BLAKE2b-256 bb31b511370ca6454132a1b43cf93bee99b37e996aa60d68df2d98ce31c5217b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: clipvault-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2054a261ee0b14f9d726342209d64db660db5efd1adfcf3c05171fa9b6c807c6
MD5 dc2d23747863552b3a389e3ab35868a9
BLAKE2b-256 cc173f15ebf669cccd377adf326a5d032c4e6215d417cc06006b8803af42be3f

See more details on using hashes here.

Provenance

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