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 | f2c31db680e4b93e58e8668a1ec6f87ec84c280d (patch) | |
| tree | 09018cbff39e93b890909caa4db799d1bc8fe027 /modules | |
| parent | 854f8502f72cde14c774ef83e5876406c148621c (diff) | |
| download | dotemacs-f2c31db680e4b93e58e8668a1ec6f87ec84c280d.tar.gz dotemacs-f2c31db680e4b93e58e8668a1ec6f87ec84c280d.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.
Diffstat (limited to 'modules')
| -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)) |
