Commit Graph

28 Commits

Author SHA1 Message Date
alan f4fc81eefe Bound watcher stdin draining with a deadline 2026-09-08 18:06:43 +01:00
alan 4522fdbce1 Bound clipboard payloads and image parsing
The capture daemon read the whole clipboard payload into memory and handed
it to Pillow, zbarimg and tesseract with no limit. Payloads now stream
through a capped reader (32 MiB images, 4 MiB text, 5 s deadline) and are
dropped when exceeded; image dimensions come from the container header
without decoding, and QR/OCR only run under 40 megapixels. The OCR backfill
script applies the same pixel guard. Limits are overridable via
CLIPBOARD_MAX_IMAGE_BYTES, CLIPBOARD_MAX_TEXT_BYTES, CLIPBOARD_MAX_PARSE_PIXELS.
2026-09-08 15:20:10 +01:00
alan b1ebdb83e6 List is strictly newest-first; search only filters
Drop the recency/pin/usage score bonuses that reordered the picker: an
entry pasted before outranked a fresh copy for hours. Results are now
sorted by timestamp only; query tokens and fuzzy terms filter rows.
2026-09-08 10:59:34 +01:00
alan b1d98971c9 Scrollable OCR panel and copy-text shortcut
The OCR panel overflowed its container on long recognized text; it now
clips, caps at 40% of the preview height, and scrolls. Ctrl+Shift+C copies
an entry's text content (OCR text or QR payload for images) as plain text,
and the QR/OCR panels get Copy chips.
2026-09-07 16:50:11 +01:00
alan 8127ae4bba Fix text body lingering under image preview
PreviewPane set bodyText from onResultChanged, reading derived/entry that
are themselves bindings on result. Depending on evaluation order the
handler saw the previous entry, leaving a stale text body visible under
the image column. Derive bodyText declaratively and gate the text body on
the textual types.
2026-09-07 16:28:06 +01:00
alan 4662c8002d Prepare marketplace submission: preview image, dependency docs, drop personal upgrade script 2026-09-07 12:23:37 +01:00
alan 4f562ab215 Add legacy upgrade helper 2026-09-06 00:59:48 +01:00
alan 2c999201db Add legacy install and shortcut migration 2026-09-06 00:51:40 +01:00
alan 1d7a9d6cde Keep clipboard shortcuts routed to built-in source 2026-09-06 00:47:44 +01:00
alan 99d9a65283 Fix preview callback closing picker during rebuild 2026-09-06 00:41:00 +01:00
alan 2e0fb0cdd0 Bind clipboard shortcut to plugin-owned IPC 2026-09-06 00:36:46 +01:00
alan 4c3a665d2d Synchronize picker with host panel state 2026-09-06 00:30:08 +01:00
alan 0f308bd59f Make floating picker open state imperative 2026-09-06 00:27:43 +01:00
alan b57b6286e2 Keep floating picker mapped and click-through while closed 2026-09-06 00:22:53 +01:00
alan 16da55b441 Map picker on a reliable fullscreen layer surface 2026-09-06 00:19:40 +01:00
alan 4e0cd0ab36 Fix invisible picker and show dependency setup in UI 2026-09-06 00:03:09 +01:00
alan ac3b5ef4dc Never open Vim for text clipboard entries 2026-09-05 23:55:27 +01:00
alan 6b0a2ac494 Safety: no auto-browser from text containing URLs (only pure-link entries); row click selects (double-click activates); missing deps shown as picker banner with run-in-terminal button 2026-09-05 23:48:53 +01:00
alan a2ed301bb0 Installer: transparent dependency check/install (--skip-deps), idempotent rebind; picker notifies when QR/OCR helper binaries are missing 2026-09-05 23:34:52 +01:00
alan 2e6a2e8da1 Rename plugin id to alanfortlink.clipboard (manifest, IPC, bindings, scripts, docs) 2026-09-05 23:33:55 +01:00
alan 8027fcd936 OCR search: tesseract on captured images, searchable + preview panel, settings (ocr/ocrLang), backfill script; fix tesseract flag 2026-09-05 23:17:50 +01:00
alan 93b4419785 README: binding example must target bindings.lua (live Quattro config) 2026-09-05 23:16:42 +01:00
alan c48c10b3ec install.sh: rebind ALT+SHIFT+V in bindings.lua (the live Quattro config), not just legacy bindings.conf 2026-09-05 23:16:20 +01:00
alan 6da0c42847 Open links from QR payloads: Ctrl+O opens the decoded URL (browser) instead of the image; clickable Open-link chips in link and QR previews 2026-09-05 22:56:26 +01:00
alan 66ba5bd3db Floating card window, retention settings (maxAgeDays/historyLimit/maxRows), pause/resume (Ctrl+= + IPC), LICENSE, README with screenshots, screenshot tooling 2026-09-05 20:28:03 +01:00
alan 1aac582e90 QR decode support (zbarimg) with searchable payload + preview panel; restructure repo root as installable omarchy plugin; plain-text safety for QR payloads 2026-09-05 16:22:10 +01:00
alan 63a003e4a5 Fix review findings: dual-entry image capture, image blob GC at limit, stdin drain, fuzzy query edge cases, uri encoding, GC queue, temp-file pruning, theme border widths 2026-09-05 15:43:33 +01:00
alan 44808ffd2c Clipboard history picker: Omarchy shell plugin (tank.clipboard) with fuzzy search, rich previews, capture daemon 2026-09-05 15:25:15 +01:00