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.ahkwith 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.inipersistence 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
ItemCountgoverns how many[ItemN]sections are loaded; extra sections are ignored unlessItemCountmatches. - (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:
ItemCountmust 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.