Skip to content

sekihan02/Clip_Pocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clip Pocket

CI Release License Focus Python Platform Docs

Clip Pocket is a small desktop text staging tray for copied snippets.

日本語 README


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.

Screenshot

Clip Pocket main window

The screenshot shows the default white color setting. Color, opacity, font size, and window size can be changed from Settings.

Getting Started

Download the build for your platform from the GitHub release, unzip it, and run:

ClipPocket.exe

On Windows, the app starts hidden in the notification area. Open the window with:

  • Double-tap Ctrl
  • Double-click the notification-area icon
  • Run ClipPocket.exe again 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 Support

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

Why not Windows + V

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.

Features

  • 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

Install

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.

Copy Formats

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.

Settings

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.

Window Behavior

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.

Security and Privacy

  • 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.

Known Limitations

  • 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.

Troubleshooting

The app starts but no window appears

Clip Pocket starts hidden in the notification area. Double-click the notification-area icon, double-tap Ctrl, or run ClipPocket.exe again.

Ctrl double-tap does not open the window

Open Settings and make sure Open with Ctrl double-tap is enabled. Some apps may block or override global keyboard hooks.

Windows shows a warning

Unsigned executables may trigger Windows SmartScreen. Only run builds downloaded from the official release page, or build from source yourself.

Uninstall

Clip Pocket does not install files outside the folder you extracted, but it may save local settings and diagnostic logs.

  1. Quit Clip Pocket from the notification-area menu.
  2. If startup is enabled, open Settings and turn off Start when Windows starts.
  3. Delete the extracted ClipPocket folder.
  4. To remove local settings and logs, delete:
%LOCALAPPDATA%\ClipPocket

Clipboard history itself is kept in memory only and is cleared when the app exits.

Build from Source

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-pocket

Build the Python package:

uv build --out-dir dist\python

Build the Windows executable:

uv sync --extra build
uv run --extra build python tools/build_exe.py --clean

Output:

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.

Quality Checks

$env:PYTHONPATH = "src"
python -m unittest discover -s tests
python -m py_compile src\clip_pocket\*.py tools\build_exe.py

The history and settings logic can also be tested on non-Windows systems by setting PYTHONPATH=src.

Architecture

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.

License

MIT

About

A small Windows clipboard pocket: temporarily keep copied text and restore it later.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages