]> code.delx.au - dotemacs/blob - text-edit/my-frame-title.el
SSH_AUTH_SOCK
[dotemacs] / text-edit / my-frame-title.el
1 ;;; -*- lexical-binding: t -*-
2
3 (defun my/generate-frame-title ()
4 "Return a string like \"filename (dirname) (hostname)\"."
5 (let ((t-name
6 (if (buffer-file-name)
7 (file-name-nondirectory (buffer-file-name))
8 (buffer-name)))
9 (t-directory
10 (if (buffer-file-name)
11 (concat
12 " ("
13 (abbreviate-file-name
14 (substring (file-name-directory (buffer-file-name)) 0 -1))
15 ")")))
16 (t-modified
17 (if (buffer-modified-p)
18 " +")))
19 (concat
20 t-name
21 t-modified
22 t-directory
23 " (" (system-name) ")")))
24
25 (defun my/terminal-update-title ()
26 "If using a terminal frame then sends the escape codes to update the title."
27 (if (terminal-parameter (frame-terminal) 'terminal-initted)
28 (send-string-to-terminal (concat "\033]0;" (my/generate-frame-title) "\007"))))
29
30 (provide 'my-frame-title)