Clip Pocket is a small desktop text staging tray for copied snippets.
Clip Pocket watches copied text and keeps an in-memory working tray. You can restore earlier snippets to the clipboard, search and sort the tray, and turn selected snippets into plain text notes, Markdown, or a GitHub issue draft with a ready-to-edit structure.
The screenshot shows the default white color setting. Color, opacity, font size, and window size can be changed from Settings.
Download the build for your platform from the GitHub release, unzip it, and run:
ClipPocket.exeOn Windows, the app starts hidden in the notification area. Open the window with:
- Double-tap
Ctrl - Double-click the notification-area icon
- Run
ClipPocket.exeagain while Clip Pocket is already running
The experimental right-click triple-click gesture is disabled by default. Enable it from the notification-area icon's settings menu if you want to try it.
On macOS and Linux, the current implementation starts as a regular desktop window. Clipboard monitoring, restore, search, sort, and export work there too, but tray-only behavior is still Windows-first.
| Platform | Status | Notes |
|---|---|---|
| Windows | Full support | Notification-area icon, Ctrl double-tap, experimental right-click triple-click, startup registration, PyInstaller release build |
| macOS | Supported | Uses the cross-platform polling host for clipboard monitoring and desktop-window workflow |
| Linux | Supported | Uses the cross-platform polling host for clipboard monitoring and desktop-window workflow |
For general clipboard history, you probably do not need Clip Pocket.
Windows already has clipboard history with Win + V.
Clip Pocket is intentionally narrower.
It is not trying to be a full clipboard manager. It is a small text staging tray for the current task.
The goal is to collect copied text snippets while you work, then turn them into something useful:
- a Markdown note
- a GitHub issue draft
- a list of links
- a debug log snippet
- a short research memo
If you want a general clipboard history tool, use Windows + V.
Clip Pocket is for people who want a small, inspectable tool for collecting copied text snippets during one task and exporting them as plain text or Markdown.
- Clipboard monitoring for copied text
- One-character text is recorded; empty text is ignored
- In-memory tray, cleared when the app exits
- Restore a selected item to the current clipboard
- Search and sort copied items
- Copy selected snippets as notes, Markdown lists, Markdown notes, blocks, or a GitHub issue draft
- Copy the current tray as a Markdown note or GitHub issue draft
- Start a new session by clearing the current tray
- Manual paste only; Clip Pocket does not inject keystrokes or paste automatically
- Duplicate copies are refreshed instead of added again
- Delete unwanted items with
Delete, the delete button, or the item context menu - Auto-hide window behavior, with an option to keep the window open
- Settings from the main window, and from the notification-area icon on Windows
- Temporary pause/resume from the notification-area icon on Windows
- English UI by default, with Japanese available in settings
- Configurable retention period, including unlimited retention while the app is running
- Configurable maximum item count
- White or black window color
- Configurable window opacity
- Configurable font size
- Configurable window size, either by dragging the window edge or from Settings
For normal use, download the prebuilt Windows ZIP from the latest release.
The one-folder build contains ClipPocket.exe and its runtime files. Keep the folder together when moving it.
Open the Export menu from the main window or item context menu to turn snippets into reusable text. The menu is split into Selected snippets and Current session so you can choose between the current selection and the whole tray without changing views.
- Copy selected as note
- Copy selected as Markdown list
- Copy selected as Markdown note
- Copy selected as quote block
- Copy selected as code block
- Copy selected as GitHub issue draft
- Copy session as Markdown note
- Copy session as GitHub issue draft
- Start new session
Markdown note exports are grouped into a working-note layout. GitHub issue draft exports also include ready-to-edit Summary, Steps to reproduce, Expected behavior, and Actual behavior sections before the collected snippets.
Right-click the notification-area icon and choose Settings. You can also open the main window and choose Settings.
On macOS and Linux, open Settings from the main window.
Settings are applied together when you choose Apply. Closing the settings window without applying leaves the current settings unchanged.
Available settings:
- Start when Windows starts
- Open with Ctrl double-tap
- Open with right-click triple-click (experimental, off by default)
- Language
- Color
- Opacity (0-100%; 0% is still kept faintly visible so the window cannot disappear completely)
- Font size
- Window width
- Window height
- Delete copied items after
- Maximum copied items
The notification-area menu also includes Pause monitoring / Resume monitoring. Paused clipboard changes are ignored and are not added later when monitoring resumes.
Clip Pocket opens near the pointer and keeps the window inside the screen. If the window has to shift away from the pointer at a screen edge, it stays visible until you move the pointer. After the pointer moves outside the window, the window hides quickly unless Keep window open is enabled.
On macOS and Linux, the current polling-host workflow keeps the window open instead of using resident auto-hide behavior.
- Copied text is stored in memory only.
- Clipboard contents are not written to disk.
- App settings and diagnostic logs are written under
%LOCALAPPDATA%\ClipPocket. - No network access is used by the app.
- The app does not automatically paste into other applications.
- Very large copied text is ignored, and the in-memory history has a total text-size limit.
- The Ctrl double-tap shortcut uses a low-level keyboard hook.
- The right-click triple-click gesture uses a low-level mouse hook only when enabled.
- Text clipboard contents only.
- Images, files, and rich text formatting are not saved.
- History is cleared when the app exits.
- Clip Pocket only records clipboard changes while it is running. Text that was already on the clipboard before startup is not added automatically.
- The app does not paste automatically.
- Global shortcuts may not work in some elevated apps, remote desktops, games, or security-sensitive windows.
- The right-click triple-click gesture is experimental and may conflict with normal context menus.
- The current macOS and Linux host polls for clipboard changes. That means tray activation and repeated copy detection for unchanged clipboard text are not yet equivalent to the Windows host.
Clip Pocket starts hidden in the notification area. Double-click the notification-area icon, double-tap Ctrl, or run ClipPocket.exe again.
Open Settings and make sure Open with Ctrl double-tap is enabled. Some apps may block or override global keyboard hooks.
Unsigned executables may trigger Windows SmartScreen. Only run builds downloaded from the official release page, or build from source yourself.
Clip Pocket does not install files outside the folder you extracted, but it may save local settings and diagnostic logs.
- Quit Clip Pocket from the notification-area menu.
- If startup is enabled, open
Settingsand turn offStart when Windows starts. - Delete the extracted
ClipPocketfolder. - To remove local settings and logs, delete:
%LOCALAPPDATA%\ClipPocket
Clipboard history itself is kept in memory only and is cleared when the app exits.
The project uses Python and uv.
Prerequisites:
- Windows, macOS, or Linux
- Python 3.11+
- uv on PATH
Setup:
git clone https://github.com/sekihan02/Clip_Pocket.git
cd Clip_Pocket
uv sync
uv run clip-pocketBuild the Python package:
uv build --out-dir dist\pythonBuild the Windows executable:
uv sync --extra build
uv run --extra build python tools/build_exe.py --cleanOutput:
dist\windows\ClipPocket\ClipPocket.exe
The current packaging script is Windows-focused. Cross-platform runtime support is available from source, while release packaging for macOS and Linux is still catching up.
$env:PYTHONPATH = "src"
python -m unittest discover -s tests
python -m py_compile src\clip_pocket\*.py tools\build_exe.pyThe history and settings logic can also be tested on non-Windows systems by setting PYTHONPATH=src.
src/clip_pocket/
├── app.py # CLI entry point and launch behavior
├── history.py # Clipboard history rules
├── i18n.py # English/Japanese UI strings
├── platform_host.py # Platform-based host selection
├── polling_host.py # Cross-platform clipboard polling host
├── resources.py # Asset lookup for source and bundled builds
├── settings.py # Local JSON settings
├── settings_window.py# Settings dialog builder
├── startup.py # Per-user startup registration (Windows today)
├── ui.py # Tkinter UI controller
├── ui_theme.py # Shared theme/font styling helpers
├── win32_host.py # Hidden Win32 window, clipboard listener, tray icon, hooks
└── win32_input.py # Win32 gesture tracking helpers
Clip Pocket keeps the Tkinter UI and platform-specific host integration separate. On Windows, messages are received by a hidden Win32 window and forwarded to the UI thread through a queue. On macOS and Linux, the current host uses clipboard polling on the Tk thread.
The project name should not be treated as legal or trademark clearance. Please do your own review before redistributing under a different name or brand.
MIT
