https://github.com/vicsejas/clipmanx
Clipboard manager for Linux Mint
https://github.com/vicsejas/clipmanx
clipboard clipboard-manager linux-mint linuxmint
Last synced: 3 days ago
JSON representation
Clipboard manager for Linux Mint
- Host: GitHub
- URL: https://github.com/vicsejas/clipmanx
- Owner: vicsejas
- License: mit
- Created: 2026-05-22T02:46:56.000Z (22 days ago)
- Default Branch: main
- Last Pushed: 2026-06-04T03:24:58.000Z (9 days ago)
- Last Synced: 2026-06-04T04:12:41.894Z (9 days ago)
- Topics: clipboard, clipboard-manager, linux-mint, linuxmint
- Language: Python
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clipmanx
A lightweight clipboard manager for Linux Mint featuring GTK3 system tray integration.

## Features
- **Clipboard History**: Stores and manages clipboard history
- **System Tray Icon**: Adaptive icon (dark/light theme support)
- **Lightweight**: Minimal dependencies, minimal resource usage
- **Persistent**: Remembers clipboard history between sessions
- **Configurable**: Customize capture sources and history size
- **Linux Mint Native**: System-wide installation on Debian-based systems
## Installation
Download the latest `.deb` from the [Releases page](https://github.com/vicsejas/clipmanx/releases) and install it:
```bash
sudo apt-get install -y ./clipmanx_*_all.deb
```
**System Requirements:**
- Linux Mint 22.3+ (or Ubuntu 24.04+/Debian-based)
- Python 3.10+
- GTK 3.0
## Usage
### Start the Application
```bash
clipmanx
```
Or find "Clipmanx" in your applications menu.
### System Tray Menu
Click the Clipmanx icon in your system tray to:
- **Select any item** from history to copy to clipboard
- **Clear History** to remove all entries
- **Settings** to configure capture sources
- **Quit** to exit the application
### Configuration
Settings are stored at: `~/.config/clipmanx/settings.json`
Available options:
- `capture_clipboard`: Capture Ctrl+C events (default: true)
- `capture_primary`: Capture X11 PRIMARY selection (default: true)
- `max_items`: Maximum history entries (default: 50)
## Architecture
```
clipmanx/
├── app.py # Main GTK3 application & UI
├── clipboard.py # Clipboard monitoring
├── history.py # History storage & retrieval
└── settings.py # Configuration management
```
### Icon Adaptation
The tray icon automatically adapts to your system theme:
- **Dark theme** → `icon-white.svg`
- **Light theme** → `icon-black.svg`
This is handled by the `_create_theme_adapted_icon()` function in `app.py`.
## Development
### Setup
```bash
git clone https://github.com/vicsejas/clipmanx.git
cd clipmanx
# Install uv (Python package manager)
# See https://docs.astral.sh/uv/getting-started/
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync
```
### Run from Source
```bash
uv run clipmanx
```
### Build .deb Package (optional)
Releases are built automatically by GitHub Actions on every `v*` tag push, so
contributors don't need to build the `.deb` locally. If you want to anyway, see
[Build Guide](docs/BUILD_GUIDE.md). For the release workflow itself, see
[Distribution Guide](docs/DISTRIBUTION.md).
## Contributing
Contributions welcome! Areas for improvement:
- Additional clipboard sources
- Clipboard search functionality
- Sync across devices
- More theme options
## Author
Victor Sejas - vrsejas@gmail.com
## License
MIT License - See LICENSE file for details
## Attribution
- **Icon**: Clipboard List icon from [Lucide](https://lucide.dev) under [MIT License](https://github.com/lucide-icons/lucide/blob/main/LICENSE)
## Troubleshooting
**Icon not showing or tray click does nothing?**
A stale background instance may be holding the single-instance socket.
Stop the old process, clear the socket, then relaunch:
```bash
pkill -f bin/clipmanx
rm -f "${XDG_RUNTIME_DIR:-/tmp}"/clipmanx.sock
clipmanx
```
**Can't capture clipboard?**
Click the tray icon → Settings and ensure capture is enabled.
See [INSTALL.md](docs/INSTALL.md#troubleshooting) for more.
---
Made for Linux Mint by Victor Sejas