]> code.delx.au - dotemacs/commitdiff
xterm frame title support
authorJames Bunton <jamesbunton@delx.net.au>
Thu, 21 Jul 2016 23:21:33 +0000 (09:21 +1000)
committerJames Bunton <jamesbunton@delx.net.au>
Thu, 21 Jul 2016 23:21:50 +0000 (09:21 +1000)
lisp/my-defuns.el
lisp/my-gui.el

index db7c56f96334e203b8fa3d74055ff60abd49a03a..37d5c3e3bd33ea082c4c2c4534857c41375c8efc 100644 (file)
@@ -18,7 +18,7 @@
        ") - Emacs"
        )
     (concat
-     "%b"
+     (buffer-name)
      (if (buffer-modified-p)
          " +")
      " - Emacs")))
     (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)
index 9cefd9d9232543045462d1149fba23100731ce3e..50e2ac059b6bb37a1c59adb4850d2ecafbb0f90c 100644 (file)
 
 (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)