chiark / gitweb /
dot/shell-rc: Factor out the terminal and screen title-setting.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 9 May 2020 23:46:45 +0000 (00:46 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 9 May 2020 23:46:45 +0000 (00:46 +0100)
This is getting even more complicated as time goes on.

dot/shell-rc

index 2478edb42a173521e5b7a3f1b0224b031f991fc5..d6a218a18cf5e997e7888989102365b564d6926f 100644 (file)
@@ -145,11 +145,22 @@ __mdw_set_prompt () {
   esac
 }
 
-__mdw_xterm_precmd () { printf >/dev/tty "\e]2;%s@%s:%s – %s\e\\" "$USER" "$__mdw_host" "$PWD" "$__mdw_shell"; }
-__mdw_xterm_preexec () { printf >/dev/tty "\e]2;%s@%s:%s – %s\e\\" "$USER" "$__mdw_host" "$PWD" "$1"; }
+__mdw_xterm_settitle () {
+  printf >/dev/tty \
+    "\e]2;%s@%s:%s – %s\e\\" \
+    "$USER" "$__mdw_host" "$PWD" \
+    "$1"
+}
+__mdw_xterm_precmd () { __mdw_xterm_settitle "$__mdw_shell"; }
+__mdw_xterm_preexec () { __mdw_xterm_settitle "$1"; }
 
-__mdw_screen_precmd () { printf >/dev/tty "\ek%s\e\\" "$__mdw_shell"; }
-__mdw_screen_preexec () { printf >/dev/tty "\ek%s\e\\" "$1"; }
+__mdw_screen_settitle () {
+  printf >/dev/tty \
+    "\ek%s\e\\" \
+    "$1"
+}
+__mdw_screen_precmd () { __mdw_screen_settitle "$__mdw_shell"; }
+__mdw_screen_preexec () { __mdw_screen_settitle "$1"; }
 
 if [ -t 0 ]; then
   case ${STY+t},${__mdw_precmd_hook+t},${__mdw_preexec_hook+t},${TERM} in