ClipCanvas
Smart clipboard for Windows: sorts what you copy into groups and pastes it back with Ctrl+Shift+V
ClipCanvas
A smart clipboard for Windows. ClipCanvas watches the clipboard, sorts every copied value into groups — texts, IDs and references, links, colours, code, pictures — lays them out as cards on a canvas, and pastes any of them back into the window you were working in through a quick picker: Ctrl+Shift+V, type to search, Enter.
The UI is in Czech.
Features
- Live capture of the text clipboard with automatic classification (text, ID/e-mail/UUID, URL, HEX colour, code).
- Pictures (screenshots, images copied from a browser or Office) go to the Obrázky group with a thumbnail; they are
stored as PNG in
%APPDATA%\ClipCanvas\images(the newest 50 plus pinned ones) and paste back as a picture. - Canvas of group cards, a sidebar of groups, an inspector with the full content, and a Ctrl+K command palette.
- Global Ctrl+Shift+V quick picker that pastes into the previously active window (clipboard + simulated Ctrl+V).
- Runs in the system tray: closing the window keeps ClipCanvas watching the clipboard; the tray icon reopens it and its menu offers the quick picker and Ukončit.
- Only one instance runs per user: another launch opens the existing window. Nastavení → Spouštět s Windows starts it at sign-in hidden in the tray (off by default);
--minimizedalso starts hidden. - Content marked private by its source (KeePass, 1Password, Bitwarden, browsers' password fields) is never stored.
- Local history of the newest 1000 items (pinned ones are always kept) in
%APPDATA%\ClipCanvas\clipboard-items.json, written atomically; an unreadable file is kept aside, never overwritten. - Items are deleted with Delete on the canvas (or Smazat z historie in the inspector), Shift+Delete in the quick picker, and the whole history (pinned items stay) from Nastavení → Smazat historii…; Ctrl+Z undoes the last deletion.
- Application log in
%LOCALAPPDATA%\ClipCanvas\logs(daily files, 14 kept) with a Logy tab in the app. Clipboard content never goes into the log. - Theme switch System / Light / Dark (Ctrl+Shift+L cycles; System follows Windows live), self-update from the TomLabs app store (stable / nightly channel).
ClipCanvas --healthprints{"status":"Healthy","version":"…","name":"clipcanvas"}.
Build and run
Requires the .NET 10 SDK. The self-update library (TomLabs.AutoUpdate.Avalonia) comes from nuget.org.
git clone https://tomlabscloud.visualstudio.com/ClipCanvas/_git/ClipCanvas
cd ClipCanvas
dotnet build ClipCanvas.slnx
dotnet test tests/ClipCanvas.Tests/ClipCanvas.Tests.csproj
dotnet run --project src/ClipCanvas/ClipCanvas.csproj
Portable single-file exe (what the pipeline publishes):
dotnet publish src/ClipCanvas/ClipCanvas.csproj -c Release -r win-x64 -o publish
UI checks run headless through the TomLabs.UiAutomation channel (tomlabs-ui start); see CLAUDE.md.
Release
Bump VersionPrefix in src/ClipCanvas/ClipCanvas.csproj, add the section to CHANGELOG.md, push, tag vX.Y.Z.
azure-pipelines.yml publishes pushes to master to the nightly channel and v* tags to the stable channel of
https://apps.tomlabs.cz through the shared publish-desktop-app.yml template.
Documentation
docs/ARCHITECTURE.md— components, data flow, storage, threading, decisions and risksCHANGELOG.md— release notes (also shown in the app)CLAUDE.md— notes for AI-assisted work on the repository
Changelog
Changelog
0.5.0 — 2026-10-14
Added: deleting history items — Delete on the canvas or Smazat z historie in the inspector, Shift+Delete in the quick picker, and Nastavení → Smazat historii… (asks first, keeps pinned items); Ctrl+Z brings the last deletion back.
Added: only one ClipCanvas instance runs per user; launching it again opens the existing window instead of recording and overwriting history twice.
Added: Spouštět s Windows in Settings (off by default), starting hidden in the system tray at sign-in.
Fixed: reopening the window from the tray retains one clipboard watcher and one global hotkey registration.
Fixed: automatic updates hand over cleanly to the replacement process instead of leaving ClipCanvas closed; rollback relaunches also wait for the exiting instance.
0.4.5 — 2026-10-06
- Changed: the history keeps the newest 1000 items instead of 250 (pinned ones are still always kept; pictures stay limited to 50).
0.4.4 — 2026-09-26
- Fixed: the close button in the title bar hides ClipCanvas to the tray as intended; in 0.4.3 it still ended the app.
0.4.3 — 2026-09-26
- Added: ClipCanvas lives in the system tray. Closing the window hides it there — the clipboard is still recorded and Ctrl+Shift+V keeps working; a click on the tray icon brings the window back, its menu opens the quick picker or ends the app (Ukončit).
0.4.2 — 2026-09-25
- Fixed: copying a value that is already in the history moves it to the top of the quick picker and its group, instead of leaving it where it was; pictures copied again behave the same.
0.4.1 — 2026-09-25
- Fixed: screenshots from Snipping Tool are recorded again — they were mistaken for private content because Snipping Tool marks them as allowed in the Windows clipboard history; only content marked as excluded from it is skipped now.
- Fixed: pictures no longer disappear when an older ClipCanvas build runs over the history (for example after a downgrade): fields an older build does not know are kept, and a picture whose link got lost is found again by its file.
0.4.0 — 2026-09-24
- Added: a new Obrázky group — copied pictures (Print Screen, Snipping Tool, images copied from a browser, Paint or Office) are recorded with a thumbnail on the canvas and in the quick picker, and a large preview with the size in the inspector.
- Added: a picture pastes back as a picture — through the quick picker (Ctrl+Shift+V), Ctrl+C or a double-click, into any application that accepts images.
- Changed: pictures are stored as PNG files in
%APPDATA%\ClipCanvas\images; the newest 50 are kept (pinned ones always), the same picture copied twice is recorded once, and pictures marked private by their source are skipped. When the clipboard holds both text and a picture (Excel, Word), the text is recorded.
0.3.3 — 2026-09-24
- Changed: the self-update library comes from nuget.org (TomLabs.AutoUpdate 0.3.2) instead of a git submodule; updates work as before.
0.3.2 — 2026-09-24
- Changed: the theme switch now has a System option that follows Windows live; earlier Light/Dark choices were reset to System once.
- Added: the header button shows the current mode (half circle = System, sun, moon); the command palette can set each mode directly.
0.3.1 — 2026-09-24
- Changed: the quick picker (Ctrl+Shift+V) opens right below the text cursor of the window you are typing in, or at the mouse pointer where the application does not expose its cursor (browsers, Office, VS Code) — always on that monitor and fully inside it, also on setups mixing monitors with different scaling.
- Added: the mouse wheel moves through the picker one item per notch; typing keeps going to the search box.
- Changed: the picker lists up to 50 matches instead of 12.
- Fixed: the picker no longer depends on the main window, so it also opens while ClipCanvas is minimized.
0.3.0 — 2026-09-24
- Added: new dark-first look shared with the other TomLabs desktop apps — groups in a sidebar, the canvas of group cards, an item inspector with the full content, and a status bar.
- Added: light / dark switch in the header (Ctrl+Shift+L), remembered between starts; the first start follows Windows.
- Added: command palette (Ctrl+K) to jump to any item, group or action.
- Added: Logy tab with the live application log and the log files (
%LOCALAPPDATA%\ClipCanvas\logs), and an O aplikaci tab with the version, file locations and these release notes. - Added: automatic updates from the TomLabs app store with an update banner in the status bar; only builds signed by the release pipeline are installed, and the channel (stable / nightly) can be switched from the palette.
- Fixed: the quick picker now really pastes into the previous window — the simulated Ctrl+V was rejected by Windows until now.
- Changed: the quick picker follows the arrow keys while typing and hides when it loses focus.
- Fixed: an error in the clipboard watcher, the paste or the global hotkey no longer closes the application; it is logged and the app keeps running (the 0.2.0 crashes).
- Fixed: an unreadable history file is kept as
clipboard-items.corrupt-<time>.jsoninstead of being overwritten, and the history is written atomically. - Fixed: sample cards are no longer mixed into the real history; the ones 0.2.x added are dropped.
- Changed: passwords and other content marked as private by its source (KeePass, 1Password, Bitwarden, browsers) are no longer stored.
- Changed: pinned items are always kept when the history reaches its 250-item limit.
0.2.2 — 2026-08-20
- Added: pasting the selected item into the previously active window (clipboard + simulated Ctrl+V).
- Added: visible application version.
0.2.0 — 2026-08-20
- Added: global Ctrl+Shift+V quick picker with search and Enter to paste.
- Added: live watching of the text clipboard, automatic sorting into text, ID, URL, colour and code groups.
- Added: local JSON history in
%APPDATA%\ClipCanvas\clipboard-items.json.