From acebf76b5b6088358d64d6dfa8f020bfd87e353a Mon Sep 17 00:00:00 2001 From: Terin Stock Date: Thu, 1 Feb 2024 00:54:40 +0100 Subject: feat(term/eat): set titles Set the terminal's title on the modeline and one a created frame. --- modules/term/eat/autoload.el | 13 ++++++++++--- modules/term/eat/config.el | 5 +++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/term/eat/autoload.el b/modules/term/eat/autoload.el index d7107e6..1c078b3 100644 --- a/modules/term/eat/autoload.el +++ b/modules/term/eat/autoload.el @@ -13,9 +13,9 @@ ;;;###autoload (defvar +eat-frame-parameters - `((name . "eat") - (width . 110) + `((width . 110) (height . 35) + (minibuffer . nil) (transient . t) ,@(when IS-LINUX `((window-system . ,(if (boundp 'pgtk-initialized) 'pgtk 'x)) @@ -35,7 +35,14 @@ (switch-to-buffer (doom-fallback-buffer)) (let* ((eat-kill-buffer-on-exit 't) (default-directory "~") - (eat-mode-hook (cons (lambda () (add-hook 'eat-exit-hook (lambda (_process) (delete-frame)) 91 t)) eat-mode-hook))) + (eat-mode-hook (cons (lambda () + (add-hook 'eat-exit-hook (lambda (_process) (delete-frame)) 91 t) + ;; Disabling the modeline causes emacs to stop calling this function. + ;; Replace with advising eat--t-set-title instead. + (add-to-list 'mode-line-process '(:eval (when-let* ((eat-terminal) + (title (eat-term-title eat-terminal))) + (modify-frame-parameters nil `((name . ,title))) + "")))) eat-mode-hook))) (eat nil t))))) ;; These clobber vterm bindings, so will need to pick alternatives. diff --git a/modules/term/eat/config.el b/modules/term/eat/config.el index eac9649..2447a47 100644 --- a/modules/term/eat/config.el +++ b/modules/term/eat/config.el @@ -2,6 +2,11 @@ (use-package! eat :config + (add-hook 'eat-mode-hook (lambda () + (add-to-list 'mode-line-process '(:eval (when-let* ((eat-terminal) + (title (eat-term-title eat-terminal)) + ((not (string-empty-p title)))) + (format "(%s)" (string-replace "%" "%%%%" title))))))) (when (modulep! :editor evil) (evil-set-initial-state 'eat-mode 'emacs))) -- cgit 1.4.1