dev@bfd:~/dev-diary$ git show 2026-01
commit 2026-01-18-build-mouse-adjacent-paste-launcher-with-pinning-and-settings
Author: MJ
Date: Jan 18, 2026

2026-01-18 - Build mouse-adjacent paste launcher with pinning and settings

Timeline

  • (Context) Defined a new AHKv2 tool: a GUI of user-configurable items that paste linked files/folders/text into the active window.
  • (Action) Built PasteItemsPanel.ahk with persistent items, a compact popup UI, and a full settings editor.
  • (Action) Implemented file/folder paste via CF_HDROP clipboard + ^v, plus text paste mode.
  • (Action) Added PasteItemsPanel.ini persistence for items and UI settings, plus an INI watcher to reflect live edits.
  • (Failure) Fixed tab/control parenting glitches where controls appeared on the wrong tab and overlapped.
  • (Failure) Fixed runtime errors from loop-variable capture and array index assignment during popup list mapping.
  • (Action) Added popup UX improvements: filter, keep-open toggle, right-click actions (open folder, edit), pin-to-top, and move launcher window controls.
  • (Observation) Noted that ItemCount governs how many [ItemN] sections are loaded; extra sections are ignored unless ItemCount matches.
  • (Open Thread) Consider a non-AHK implementation path if this is ever productized (installer/update story, AV friction, UI polish).

Context

  • Build a fast “instant import” helper: click an entry and paste its linked file/folder/text into the working app.
  • Keep editing simple: links are created/edited in-app via file/folder pickers, with persistence until changed.

Actions

  • Built an AHKv2 paste launcher with persistent items, a compact popup UI, and a full settings editor.
  • Implemented a full-window Settings tab to add/edit/delete items, browse files/folders, and persist changes to PasteItemsPanel.ini.
  • Implemented popup-first startup positioned at mouse cursor, with a bottom “Settings Menu” entry to open the full editor UI.
  • Added keep-open “Pin” toggle for batch pasting, plus right-click context menu actions including pin-to-top and manual ordering.
  • Added live INI reload via a timer watcher and guarded against mid-edit invalid states and save/reload races.

Observations

  • Hiding the UI before pasting is necessary to reliably activate the target window and avoid pasting into the panel itself.
  • ListView column widths and dialog ownership need explicit handling for consistent UX (persist widths; keep confirmation dialogs on top).
  • INI-driven config requires internal consistency: ItemCount must match the number of populated [ItemN] sections to load them all.

Open Threads

  • Decide whether to allow “always stay open” as a first-class mode (vs. default exit-after-paste) and how that should interact with focus tracking.
  • Evaluate a standalone (non-AHK) version if this becomes distributable software with stronger packaging and support requirements.

Boundary Reminder: Seeds. No maintenance. No roadmap.