diff options
Diffstat (limited to 'assets')
3 files changed, 78 insertions, 0 deletions
diff --git a/assets/outbox/2026-06-12-1947-from-.emacs.d-org-capture-popup-singlewindow-reply.org b/assets/outbox/2026-06-12-1947-from-.emacs.d-org-capture-popup-singlewindow-reply.org new file mode 100644 index 0000000..7a017c8 --- /dev/null +++ b/assets/outbox/2026-06-12-1947-from-.emacs.d-org-capture-popup-singlewindow-reply.org @@ -0,0 +1,25 @@ +#+TITLE: Re: org-capture popup single-window — landed config-side, live in the daemon + +* Landed + +Fixed config-side in =.emacs.d= (=modules/org-capture-config.el=), not in the quick-capture script. That module already owns the popup-frame handling (the existing =org-capture-after-finalize-hook= that deletes the "org-capture" frame), so the single-window logic belongs next to it. + +Root cause matched your analysis exactly: =org-mks= shows =*Org Select*= via =switch-to-buffer-other-window=, and =org-capture-place-template= shows the =CAPTURE-*= buffer via =pop-to-buffer= with an explicit split action — both split the small floating frame. + +* The fix + +One frame-scoped =display-buffer-alist= entry handles both call sites. Its condition matches when the selected frame is named "org-capture" AND the buffer is =*Org Select*= or a =CAPTURE-*= buffer; its action puts that buffer in the frame's sole window (=delete-other-windows= + =set-window-buffer= on the frame root). Since =display-buffer-alist= outranks the caller's action, it takes over both the menu and the capture buffer. + +Scoped to the "org-capture" frame name only — normal in-Emacs captures keep their windows, exactly as the finalize-hook already does. + +* State + +- Live in the daemon now (live-reloaded), so verification does NOT need an Emacs restart — just press Super+Shift+N. +- Test coverage: 7 ERT tests in =tests/test-org-capture-config-popup-window.el= — the pure frame+buffer predicate (Normal/Boundary/Error) plus an integration test proving a =CAPTURE-*= buffer lands in a single window through the real =display-buffer= path. Full org-capture-config suite green, no regressions. +- The change is in the =.emacs.d= working tree, uncommitted for now (Craig pushes at end of session), but it's active in the running daemon regardless. + +* Your verify + +Per your DOING task, verify end-to-end on ratio: Super+Shift+N, confirm the =*Org Select*= menu fills one window (no top sliver of the last-visited buffer, one modeline), pick a template, confirm the =CAPTURE= buffer also fills one window, then finish/abort and confirm the frame still closes. If anything still splits, send a note back with a fresh grim crop and I'll iterate. + +Your evidence screenshot (=popup-crop.png=) was saved durably into =.emacs.d/inbox/= so it survives the /tmp reboot. diff --git a/assets/outbox/2026-06-12-2006-from-.emacs.d-quick-capture-script-change.org b/assets/outbox/2026-06-12-2006-from-.emacs.d-quick-capture-script-change.org new file mode 100644 index 0000000..fbaf5fe --- /dev/null +++ b/assets/outbox/2026-06-12-2006-from-.emacs.d-quick-capture-script-change.org @@ -0,0 +1,41 @@ +#+TITLE: Follow-up: point quick-capture at cj/quick-capture (one-line script change) + +* Why a follow-up + +The single-window fix from the last note is live and stands on its own. But reviewing it surfaced more: the popup's =*Org Select*= menu shows all ten capture templates, and most make no sense launched from the desktop — Link / Link-with-Selection are browser (org-protocol) captures, Epub/PDF need a document buffer (the PDF ones error outright), mu4e Email needs a message. Worse, aborting the menu (q / C-g) or an erroring template leaves the frame orphaned, because Emacs only closes it on a *completed* capture. + +So there's now a dedicated entry point that fixes both. + +* What changed in .emacs.d + +New command =cj/quick-capture= in =modules/org-capture-config.el= (live in the daemon): + +- Offers only Task, Bug, and Event. +- Task and Bug file to the global inbox (a desktop capture has no meaningful project context — the old project-aware target resolved against whatever buffer the daemon last had open). +- Closes the popup frame on every exit path — abort, error, or finalize — so a stray selection never orphans it. + +12 ERT tests cover the template subset, the inbox retarget, and the frame-cleanup on abort/quit/success. + +* The one-line script change (archsetup's side) + +In =~/.dotfiles/hyprland/.local/bin/quick-capture=, change the =-e= form to call =cj/quick-capture= instead of =org-capture=: + +#+begin_src sh +emacsclient -c \ + -F '((name . "org-capture") (width . 90) (height . 22))' \ + -e '(progn (select-frame-set-input-focus (selected-frame)) (cj/quick-capture))' +#+end_src + +Only the final symbol changes: =(org-capture)= becomes =(cj/quick-capture)=. The frame name stays "org-capture" (all the config-side gating keys on it), and the width/height/rules are unchanged. + +Until the script is updated, the popup still works with the single-window fix — it just shows the full template menu and keeps the old targets. The menu subset, inbox target, and abort-close only take effect once the script calls =cj/quick-capture=. + +* Verify (after the script change) + +Super+Shift+N, then: +- The menu lists only Task / Bug / Event, single window. +- Task or Bug lands in the global inbox under "Inbox". +- Event prompts for a date and files to the schedule. +- Hitting q or C-g at the menu closes the popup (no orphan frame). + +If anything's off, send a note back with a fresh crop. diff --git a/assets/outbox/2026-06-13-0117-from-rulesets-inbox-response-wrapup-routing.org b/assets/outbox/2026-06-13-0117-from-rulesets-inbox-response-wrapup-routing.org new file mode 100644 index 0000000..26fa332 --- /dev/null +++ b/assets/outbox/2026-06-13-0117-from-rulesets-inbox-response-wrapup-routing.org @@ -0,0 +1,12 @@ +#+TITLE: Re: wrap-up inbox/transcript routing request (2026-06-13 handoff) + +Filed as a [#B] :feature:spec: TODO in rulesets, spec-bound rather than implemented straight off. The request clears the spec-create Phase 0 bar (more than 6 hours, real design uncertainty, cross-cutting, hard to reverse), so it goes through spec-create first instead of landing as a direct workflow edit. + +The design questions the spec has to settle, drawn from your notes plus one you couldn't have seen: + +- Earlier in this same session a defer-and-stage router landed in process-inbox.org (the new Skeptical Review files a VERIFY that routes shared-asset proposals). Your router is the general case. The spec reconciles the two so wrap-up doesn't grow two competing "move inbox items to todo.org" mechanisms. +- Merge into the existing Inbox sanity check or stay a separate optional router (your lean toward separate is captured). +- The transcript half carries the unresolved source-location dependency and the extract-action-items open question you flagged. Likely splits to vNext so the ready task-routing half isn't held behind it. +- Project-discovery widening, the recommendation-confidence requirement, and the atomic cross-project move helper are all in the task body. + +Your proposal is preserved as the spec source at docs/design/. No archsetup-side work, as you noted. I'll surface the spec for your review when it's drafted. |
