zsh: set/re-set terminal title from ssh/mosh on Darwin
Alan Pearce alan@alanpearce.eu
Tue, 13 Apr 2021 13:51:43 +0200
2 files changed, 31 insertions(+), 1 deletions(-)
M user/settings/zsh.nix → user/settings/zsh.nix
@@ -237,7 +237,11 @@ source ${pkgs.fzf}/share/fzf/key-bindings.zsh source ${pkgs.fzf}/share/fzf/completion.zsh - '' + builtins.readFile ../zsh/zshrc; + '' + builtins.readFile ../zsh/zshrc + ( + if stdenv.isDarwin + then builtins.readFile ../zsh/zshrc.darwin + else "" + ); }; home.file."${zshrc}".onChange =
A user/zsh/zshrc.darwin
@@ -0,0 +1,26 @@+set_title () { + print -Pn "\e]0;$1\7\n" +} +ssh () { + local arg server retval + for arg + do + if [[ "${arg#-}" == "$arg" ]] + then + server=$arg + break + fi + done + set_title "file://${server}/" + command ssh "$@" + retval=$? + set_title + return $retval +} +mosh () { + command mosh "$@" + retval=$? + set_title + return $retval +} +