diff options
author | Terin Stock <terinjokes@gmail.com> | 2024-02-01 00:54:40 +0100 |
---|---|---|
committer | Terin Stock <terinjokes@gmail.com> | 2024-02-01 00:54:40 +0100 |
commit | acebf76b5b6088358d64d6dfa8f020bfd87e353a (patch) | |
tree | 387ee81df01748a173e891004a635bb839832d52 | |
parent | 16db3bf96a8c738ba9f89e5771e79cb856bbc3a5 (diff) |
feat(term/eat): set titles
Set the terminal's title on the modeline and one a created frame.
-rw-r--r-- | modules/term/eat/autoload.el | 13 | ||||
-rw-r--r-- | 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))) |