From 4e3bd398ca7a1d6625bb51f05921d3b1324e811f Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 13 Apr 2021 13:51:43 +0200 Subject: zsh: set/re-set terminal title from ssh/mosh on Darwin --- user/settings/zsh.nix | 6 +++++- user/zsh/zshrc.darwin | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 user/zsh/zshrc.darwin diff --git a/user/settings/zsh.nix b/user/settings/zsh.nix index ca13f4d0..b7232041 100644 --- a/user/settings/zsh.nix +++ b/user/settings/zsh.nix @@ -237,7 +237,11 @@ in 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 = diff --git a/user/zsh/zshrc.darwin b/user/zsh/zshrc.darwin new file mode 100644 index 00000000..1b702022 --- /dev/null +++ b/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 +} + -- cgit 1.4.1