From 2d1571114a5f54d416dddcdf098047b361bf7825 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 2 Jul 2026 00:32:07 -0400 Subject: feat(modeline): eat state icons and info-left, systray-right layout The modeline now follows one layout rule: the left side is Emacs information (mode icon, eat state, modified/read-only, buffer name, @host, Narrow, VC branch, position, MACRO, process) and the right side is a systray for package indicators (recording, flycheck counts, misc-info). The VC branch and mode-line-process moved left to fit the rule. eat buffers trade the [semi-char]:run text for two icons beside the mode icon: a keyboard glyph for the input mode (quiet when semi-char, warning otherwise, hover text explains where keys go, mouse-1/2/3 switch modes mirroring eat's own bindings) and a green play / red power-off for the process state. eat-config clears eat's buffer-local mode-line-process so nothing renders twice. --- modules/eat-config.el | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'modules/eat-config.el') diff --git a/modules/eat-config.el b/modules/eat-config.el index d66507c4..e059fe36 100644 --- a/modules/eat-config.el +++ b/modules/eat-config.el @@ -112,11 +112,19 @@ not recognize (which would later trip (cl-assert charset) on write)." ;; ------------------------------- eat package --------------------------------- +(defun cj/--eat-clear-mode-line-process () + "Drop eat's buffer-local [mode]:status `mode-line-process'. +The modeline's own eat segment (cj/--modeline-eat-state in +modeline-config.el) renders the input mode and process state as icons +on the left, so eat's text form would be a duplicate." + (setq mode-line-process nil)) + (use-package eat :ensure t :commands (eat) :hook ((eat-mode . cj/turn-off-chrome-for-term) - (eat-mode . cj/--eat-tame-scroll)) + (eat-mode . cj/--eat-tame-scroll) + (eat-mode . cj/--eat-clear-mode-line-process)) :custom ;; Close the EAT buffer when its shell exits. (eat-kill-buffer-on-exit t) -- cgit v1.2.3