A local clipboard history manager with text workflow automation, built with Python, Tkinter, and SQLite.
ClipWatcher monitors clipboard changes and keeps reusable text history locally. It provides fast search, pinned entries, phrase management, configurable themes, and extensible text-processing plugins.
- Clipboard history — Automatically records copied text in SQLite.
- Search and filtering — Finds history entries as you type.
- Pinned entries — Keeps frequently used items at the top and protects them from bulk deletion.
- Phrase management — Organizes reusable text by category and copies it quickly.
- Plugins — Supports text transformations and additional GUI tool tabs.
- Undo/redo — Encapsulates supported history changes through the command pattern.
- Appearance and privacy settings — Includes light/dark themes, always-on-top mode, history limits, and excluded applications.
- Python 3.10 or later
- Windows is the primary supported environment;
pywin32is used for Windows clipboard integration.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .
python clip_watcher.pyFor development tools, install the dev extra:
python -m pip install -e ".[dev]"python -m ruff check .
python -m ruff format --check .
python -m mypy .
python -m pytestCI runs the equivalent lint, format, type-check, and test steps through uv on GitHub Actions.
See the documentation guide for current design documents, development setup, how-to guides, reviews, and historical records.
Clipboard history may contain sensitive text. Use excluded-application settings for password managers or any application whose clipboard contents must not be recorded. Local security policies can also restrict clipboard access.