From da0875787abffbe8c2b3c47b4b2cab1850317c3c Mon Sep 17 00:00:00 2001 From: James Bunton Date: Fri, 22 Jul 2016 09:21:33 +1000 Subject: [PATCH] xterm frame title support --- lisp/my-defuns.el | 7 ++++++- lisp/my-gui.el | 18 +++--------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/lisp/my-defuns.el b/lisp/my-defuns.el index db7c56f..37d5c3e 100644 --- a/lisp/my-defuns.el +++ b/lisp/my-defuns.el @@ -18,7 +18,7 @@ ") - Emacs" ) (concat - "%b" + (buffer-name) (if (buffer-modified-p) " +") " - Emacs"))) @@ -96,6 +96,11 @@ (comment-or-uncomment-region (line-beginning-position) (line-end-position))) (forward-line)) +(defun my/terminal-update-title () + "If using a terminal frame then sends the escape codes to update the title." + (if (eq 'terminal-init-xterm (terminal-parameter (frame-terminal) 'terminal-initted)) + (send-string-to-terminal (concat "\033]0;" (my/generate-frame-title) "\007")))) + (defun my/use-eslint-from-node-modules () (let* ((root (locate-dominating-file (or (buffer-file-name) default-directory) diff --git a/lisp/my-gui.el b/lisp/my-gui.el index 9cefd9d..50e2ac0 100644 --- a/lisp/my-gui.el +++ b/lisp/my-gui.el @@ -22,19 +22,7 @@ (add-to-list 'delete-frame-functions #'my/kill-buffers-if-deleting-last-frame) -(setq frame-title-format - '((:eval (if (buffer-file-name) - (concat - (file-name-nondirectory (buffer-file-name)) - (if (buffer-modified-p) - " +") - " (" - (abbreviate-file-name (substring (file-name-directory (buffer-file-name)) 0 -1)) - ") - Emacs" - ) - (concat - "%b" - (if (buffer-modified-p) - " +") - " - Emacs"))))) +(setq frame-title-format '((:eval (funcall #'my/generate-frame-title)))) (setq icon-title-format frame-title-format) + +(add-to-list 'post-command-hook #'my/terminal-update-title) -- 2.39.2