aboutsummaryrefslogtreecommitdiff
path: root/modules
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
commitf2c31db680e4b93e58e8668a1ec6f87ec84c280d (patch)
tree09018cbff39e93b890909caa4db799d1bc8fe027 /modules
parent854f8502f72cde14c774ef83e5876406c148621c (diff)
downloaddotemacs-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.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))