aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-29 18:58:10 -0400
committerCraig Jennings <c@cjennings.net>2026-06-29 18:58:10 -0400
commit3774b42d36d2b42d2e235f544b384ee832cc7607 (patch)
treebe41368e2bd65dca23c3b607fba978315af301a4
parent18e2c0edca4e686356c70ec381f8f76ce4616085 (diff)
downloaddotemacs-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.el12
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))