about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-12-08 11:46:49 +0100
committeraszlig <aszlig@redmoonstudios.org>2014-12-08 11:46:49 +0100
commit8dd20779131ed142d328b7b685429b0df86b8f56 (patch)
tree3a14da3a0cb03cca8e1f5b846fcbd86e46892aaa /modules
parent024f112cb8fd9f45e2416c26d795e3eb028fdcb5 (diff)
zsh: Set window title to command if using xterm.
Having a shitton of xterms open can get quite confusing at some point,
so let's make this easier by providing a sane title.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'modules')
-rw-r--r--modules/zsh/default.nix12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/zsh/default.nix b/modules/zsh/default.nix
index d7921e3e..4d21e33a 100644
--- a/modules/zsh/default.nix
+++ b/modules/zsh/default.nix
@@ -40,6 +40,18 @@ with lib;
       if [[ "$TERM" = xterm ]]; then
         bindkey -v '\e[H' vi-beginning-of-line
         bindkey -v '\e[F' vi-end-of-line
+
+        function set-title() {
+          echo -en "\e]2;$2\a"
+        }
+
+        function reset-title() {
+          echo -en "\e]2;''${(%):-%~}\a"
+        }
+
+        autoload -Uz add-zsh-hook
+        add-zsh-hook preexec set-title
+        add-zsh-hook precmd reset-title
       else
         bindkey -v '\e[1~' vi-beginning-of-line
         bindkey -v '\e[4~' vi-end-of-line