diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-24 00:06:01 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-24 00:06:01 -0400 |
| commit | dd6723dd7a05c65337bcefd9f5cb1202c09f1874 (patch) | |
| tree | e50ff32d6bf5269ae23262a416c423629942e83a | |
| parent | 6921d62c43ec9412d0e520576aaddf65a71c23f4 (diff) | |
| download | dotemacs-dd6723dd7a05c65337bcefd9f5cb1202c09f1874.tar.gz dotemacs-dd6723dd7a05c65337bcefd9f5cb1202c09f1874.zip | |
chore(todo): close the three solo speedrun tasks
Close the modified-arrow copy-mode, face-diagnostic buttons, and latexmk activation tasks, and file their residual hands-on checks as VERIFYs under Manual testing and validation.
Claude-Session: https://claude.ai/code/session_01BqrdWUo9GcznYX2pZr76gZ
| -rw-r--r-- | todo.org | 32 |
1 files changed, 26 insertions, 6 deletions
@@ -160,11 +160,12 @@ Allow creating an ai-term backed by any of Claude, Codex, or a local LLM via oll :END: Research how completely each of EAT, vterm, and ghostel can be themed — in particular how far theme studio can theme each terminal and what it leaves out. Produce a comparison document, then review it with an eye to whether ai-term should move off ghostel (current) to EAT or vterm. Connects to the chime/emacs-wttrin/pearl face-exposure theme-studio thread. From the roam inbox. -** TODO [#C] term: M-<arrow> enters tmux copy-mode :feature: +** DONE [#C] term: M-<arrow> enters tmux copy-mode :feature: +CLOSED: [2026-06-24 Wed] :PROPERTIES: :LAST_REVIEWED: 2026-06-22 :END: -Bind meta + arrow keys in the terminal to enter tmux copy-mode, sidestepping the current C-; x c chord — Craig flags this as a "huge timesaver" for scrollback navigation. Needs deciding which terminal(s) it covers (ghostel ai-term, vterm) and how to send the tmux copy-mode entry through the pty. From the roam inbox. +Done 2026-06-24: C-<up>/<down>/<left>/<right> and M-<arrow> in =ghostel-mode-map= enter copy-mode and carry their direction in one stroke (=cj/term-copy-mode-up= & friends -> =cj/term-copy-mode-move= -> =cj/term-copy-mode-dwim= then =cj/--term-copy-mode-move-step=). tmux path writes the arrow escape sequence into the pty; non-tmux path moves point in =ghostel-copy-mode=. All 8 keys added to =ghostel-keymap-exceptions= + =ghostel--rebuild-semi-char-keymap= (the gotcha). Ghostel-only. 6 new ERT tests; bindings + exceptions + the dwim sequence verified live in the daemon. The real tmux copy-mode scroll is a VERIFY under Manual testing and validation. Folded 2026-06-23 from the roam inbox: Craig also wants C-<up> (control + up arrow) to enter tmux copy-mode and move up in one stroke — i.e. a modified arrow both enters copy-mode and passes the movement (copy-mode + arrow). So the binding set is the modified arrow keys (M-arrow and/or C-arrow), each entering copy-mode and carrying its own direction. @@ -475,6 +476,23 @@ Expected: d duplicates; D names the exact targets and only deletes on yes; the f Craig confirmed in his live GUI frame: the agent window keeps its height across repeated F9 toggles after a C-; b pull-away, even under the WIP theme's near-zero mode-line-inactive. The total-height capture/replay fix holds (dbee95ae). *** 2026-06-20 Sat @ 22:11:00 -0400 F9 toggle preserves all windows in a 3-window layout Craig confirmed in his live GUI frame: toggling the agent off then on in a 3-window layout returns the same three windows — both working windows survive and the agent re-splits its own bottom strip. The reversible-toggle fix holds (64916462). +*** VERIFY modified-arrow copy-mode scrolls in a real terminal +What we're verifying: C-/M-<arrow> in a ghostel buffer enters copy-mode and carries the movement, in one stroke, against a live tmux pane. The bindings, exceptions, and the dwim+arrow byte sequence are verified in the daemon; the actual copy-mode scroll needs a real attached tmux session. +- Open a terminal (=C-; x N= or F12) so tmux auto-starts; run something with scrollback. +- Press C-<up> (or M-<up>) once. +- Press it a few more times; then try C-<down>. +Expected: the first C-<up> enters tmux copy-mode and moves up one line at column 0; further C-<up> keep scrolling up the left edge; C-<down> moves back down. M-<arrow> behaves identically to C-<arrow>. Without tmux (rare here), the same keys enter =ghostel-copy-mode= and move point. If an arrow does nothing or reaches the shell instead, capture it and reopen the task. +*** VERIFY face-name buttons open describe-face +What we're verifying: the face names in the Face Diagnosis report are live buttons. The button text properties (action + face data) are confirmed in the daemon; this is the click/RET confirmation. +- Put point on themed text and run =C-h F= (=cj/describe-face-at-point=). +- In the *Face Diagnosis* buffer, move onto a face name (e.g. in the face stack or provenance) and press RET; also try mouse-1. +Expected: RET or a click on a face name opens that face's =describe-face= help. Non-face entries (anonymous specs) stay plain text. If a name isn't clickable, note which group it's in and reopen. +*** VERIFY latexmk compiles from C-c C-c +What we're verifying: the two activation fixes make the latexmk workflow usable end to end. A live .tex buffer already reports =TeX-command-default= "latexmk" and "LatexMk" in =TeX-command-list=; this is the actual compile. +- Open a small .tex document. +- Press C-c C-c (it should default to LatexMk without prompting through the other commands first), then RET to run it. +- Press C-c C-v to view the PDF. +Expected: C-c C-c runs latexmk and produces a PDF; C-c C-v opens it in the selected viewer. If C-c C-c still defaults to LaTeX or latexmk is missing from the command list, capture it and reopen. ** PROJECT [#A] Theme-Studio Open Work Parent grouping the open theme-studio / theming issues; close each child independently. @@ -3682,11 +3700,12 @@ F2 is the universal preview key. Currently bound only in markdown-mode (markdown Keep the binding mode-local so F2 stays available as a global candidate where no preview makes sense. -** TODO [#C] face-diagnostic: face-name buttons + header allowlist :feature:quick:solo: +** DONE [#C] face-diagnostic: face-name buttons + header allowlist :feature:quick:solo: +CLOSED: [2026-06-24 Wed] :PROPERTIES: :LAST_REVIEWED: 2026-06-21 :END: -Two v1 follow-ups on the shipped face/font diagnostic: render the face names in the report as buttons that call describe-face (the spec's "For the user" buttons; v1 shows them as plain text), and add face-diagnostic to the module-header allowlist in tests/test-init-module-headers.el now that it's required in init.el. Spec: [[id:98f065cf-8bd5-46a0-ac24-da94d66855ad][face-font-diagnostic-popup-spec-implemented.org]]. +Done 2026-06-24: (a) =cj/--face-diag-face-button= renders each real face name in the report as a =buttonize='d button that runs =describe-face= on it (carries the face as button-data); anonymous specs and non-faces stay plain. Routed through the stack, overlay, remap, and provenance render sites. (b) Added =face-diagnostic= to =test-init-header--classified-modules= (it's required in init.el and already carries the header contract). 5 new ERT tests; button text properties confirmed live in a rendered *Face Diagnosis* buffer. Click/RET sign-off is a VERIFY under Manual testing and validation. Spec: [[id:98f065cf-8bd5-46a0-ac24-da94d66855ad][face-font-diagnostic-popup-spec-implemented.org]]. ** TODO [#C] Gold text in auto-dimmed buffers :bug: :PROPERTIES: :LAST_REVIEWED: 2026-06-21 @@ -3704,11 +3723,12 @@ From the 2026-06-11 brainstorm. Goal: keep [[file:~/sync/org/contacts.org][conta :END: From the 2026-06-11 messenger-unification brainstorm. Google Voice has no official API; the viable routes ride the Matrix bridge ecosystem's reverse engineering (mautrix-gvoice). Research pass to establish the 2026 state of play: (1) is mautrix-gvoice healthy and what does its auth flow look like now; (2) any better-maintained alternative (CLI/daemon) for the signel-pattern architecture (external daemon + JSON-RPC + thin Emacs chat client); (3) does call initiation (ring-linked-phone-then-connect, Emacs as dialer) survive in the current protocol — two-way audio in Emacs is out of scope (WebRTC); (4) ToS/account-flag risk assessment for Craig's account. Output: a recommendation doc in docs/design/ naming the architecture (signel-pattern daemon vs Matrix bridge + ement.el) or a no-go with reasons. If go, GV becomes a registered backend under the messenger-unification convention (see the [#B] task below). -** TODO [#C] latexmk workflow never activates (two breaks) :bug:quick:solo: +** DONE [#C] latexmk workflow never activates (two breaks) :bug:quick:solo: +CLOSED: [2026-06-24 Wed] :PROPERTIES: :LAST_REVIEWED: 2026-06-21 :END: -=modules/latex-config.el:66= — =:hook (TeX-mode-hook . ...)= gets use-package's =-hook= suffix appended (unbound symbol not ending in =-mode=), registering on nonexistent =TeX-mode-hook-hook=, so =TeX-command-default "latexmk"= is never set. Independently =:80= auctex-latexmk is =:defer t= with no trigger, so =auctex-latexmk-setup= never runs and "latexmk" isn't in TeX-command-list. Fix hook name to =TeX-mode=; change auctex-latexmk to =:after tex=. From the 2026-06 config audit. +Done 2026-06-24: changed the :hook key from =TeX-mode-hook= to =TeX-mode= (use-package appends "-hook" only to non-"-mode" symbols, so this now registers on the real =TeX-mode-hook= instead of the unbound =TeX-mode-hook-hook=), and auctex-latexmk from =:defer t= to =:after tex= so =auctex-latexmk-setup= runs when AUCTeX loads. Confirmed both breaks via macroexpand (the dump showed =add-hook 'TeX-mode-hook-hook= before, =TeX-mode-hook= after). 2 new regression ERT tests; live-verified in a real .tex buffer: =TeX-command-default= is "latexmk" and "LatexMk" is in =TeX-command-list=. Actual C-c C-c compile is a VERIFY under Manual testing and validation. From the 2026-06 config audit. ** TODO [#C] Org-noter custom workflow — fix and finish :feature:bug: :PROPERTIES: |
