clipboard-monitor

Crates.ioclipboard-monitor
lib.rsclipboard-monitor
version1.0.1
created_at2025-12-07 15:53:37.294794+00
updated_at2025-12-07 15:53:37.294794+00
descriptionClipboard monitoring and history with notifications and SQLite storage
homepage
repositoryhttps://github.com/cumulus13/clipmon-rust
max_upload_size
id1971839
size282,989
cumulus13 (cumulus13)

documentation

README

📋 Clipboard Monitor (clipmon)

Crates.io Docs.rs License: MIT

🚀 A command-line clipboard monitoring tool with history, notifications, and SQLite storage.


✨ Features

  • Real-time monitoring of clipboard changes
  • SQLite database for persistent clipboard history
  • TUI interface to browse, search, and copy history
  • Notifications via Growl / notify-rust
  • Word and character count per entry
  • Cross-platform (Linux, Windows, macOS)

📦 Installation

Install directly from crates.io:

cargo install clipboard-monitor

Or build locally:

git clone https://github.com/cumulus13/clipmon-rust
cd clipboard-monitor
cargo install --path .

▶️ Usage

Run the binary:

clipmon

Commands inside the app

  • h → Show clipboard history (TUI)
  • q → Quit
  • Arrow keys → Navigate history
  • Enter → Copy selected entry back to clipboard

🖼️ Example TUI Screen

+-------------------------------------------------------------+
| Clipboard History                                           |
+----+---------------------+----------------------+-----+-----+
| ID | Timestamp           | Preview              | Chars | Words |
+----+---------------------+----------------------+-----+-----+
|  1 | 2025-12-07 18:59:12 | Hello world...       |   11 |    2 |
|  2 | 2025-12-07 18:59:45 | Rust is awesome...   |   15 |    3 |
+-------------------------------------------------------------+

⚙️ Configuration

Environment Variables

Enable debug mode with:

DEBUG=1 clipmon

Accepted values: 1, true, ok, yes.

Database Path

By default, clipboard history is stored in:

clipboard_data.db

You can change this by editing the source or passing a different path when initializing ClipboardMonitor.

Icon Path

The application attempts to load an icon (clipmon.png) from several locations:

  • Same directory as the executable
  • icons/clipmon.png
  • resources/clipmon.png
  • Current working directory
  • Fallback: clipmon.png

This icon is used for notifications. Place your custom icon in one of these paths to override.


📜 Author & License

MIT © Hadi Cahyadi

Buy Me a Coffee

Donate via Ko-fi

Support me on Patreon


🔗 Links

Commit count: 0

cargo fmt