diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-29 18:58:10 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-29 18:58:10 -0400 |
| commit | 3774b42d36d2b42d2e235f544b384ee832cc7607 (patch) | |
| tree | be41368e2bd65dca23c3b607fba978315af301a4 | |
| parent | 18e2c0edca4e686356c70ec381f8f76ce4616085 (diff) | |
| download | dotemacs-3774b42d36d2b42d2e235f544b384ee832cc7607.tar.gz dotemacs-3774b42d36d2b42d2e235f544b384ee832cc7607.zip | |
fix(eat): register F1 so it reaches Emacs from agent terminals
F1 (cj/dashboard-only, the kill-all sweep back to the dashboard) was swallowed by the pty inside agent EAT buffers. EAT forwards unbound keys to the terminal, so I bound F1 in eat-semi-char-mode-map and eat-mode-map alongside the existing F12 and C-; passthroughs. Unlike ghostel, EAT needs no exception-list or keymap rebuild.
| -rw-r--r-- | modules/eat-config.el | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/eat-config.el b/modules/eat-config.el index f53baed31..3fca0f04b 100644 --- a/modules/eat-config.el +++ b/modules/eat-config.el @@ -27,6 +27,7 @@ (declare-function eat "eat" (&optional program arg)) (declare-function eshell "eshell" (&optional arg)) +(declare-function cj/dashboard-only "dashboard-config") (defvar eat-mode-map) (defvar eat-semi-char-mode-map) (defvar eshell-buffer-name) @@ -110,12 +111,17 @@ ARGS is (TERMINAL OUTPUT)." (eat-sixel-render-formats '(xpm svg half-block background none)) ; inline images (on by default) (eat-query-before-killing-running-terminal 'auto) ; confirm before killing a terminal with a live process :config - ;; F12 and C-; must reach Emacs from inside EAT. In semi-char mode (EAT's - ;; default) EAT forwards unbound keys to the terminal -- a letter runs + ;; F1, F12, and C-; must reach Emacs from inside EAT. In semi-char mode + ;; (EAT's default) EAT forwards unbound keys to the terminal -- a letter runs ;; `eat-self-input' -- so bind these explicitly or they never reach Emacs: - ;; F12 toggles the terminal window, C-; opens the global prefix map. + ;; F1 runs the kill-all sweep back to the dashboard (`cj/dashboard-only', + ;; which buries agent buffers rather than killing them), F12 toggles the + ;; terminal window, C-; opens the global prefix map. Unlike ghostel, EAT + ;; needs no exception-list or keymap rebuild -- the bind alone suffices. + (keymap-set eat-semi-char-mode-map "<f1>" #'cj/dashboard-only) (keymap-set eat-semi-char-mode-map "<f12>" #'cj/term-toggle) (keymap-set eat-semi-char-mode-map "C-;" cj/custom-keymap) + (keymap-set eat-mode-map "<f1>" #'cj/dashboard-only) (keymap-set eat-mode-map "<f12>" #'cj/term-toggle) (keymap-set eat-mode-map "C-;" cj/custom-keymap)) |
