about summary refs log tree commit diff
path: root/Src/vincent.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'Src/vincent.zsh')
-rw-r--r--Src/vincent.zsh30
1 files changed, 30 insertions, 0 deletions
diff --git a/Src/vincent.zsh b/Src/vincent.zsh
new file mode 100644
index 000000000..65da7d764
--- /dev/null
+++ b/Src/vincent.zsh
@@ -0,0 +1,30 @@
+updprompt()
+{
+  psvar[2]=""
+
+  unset _trapchld_called
+  local njobs jobstr
+  njobs=$#jobstates
+  [[ $njobs -gt 1 ]] && jobstr="s"
+  [[ $njobs -ge 1 ]] && jobstr=" $njobs job$jobstr |"
+
+  echo 1 > /dev/tty
+
+  [[ -n $TTY && $TERM == (xterm*|dtterm|mlterm|rxvt*|screen*) ]] &&
+    {
+      [[ $TERM == screen* ]] || print -nP "\e]1;%m${ptsn:+[$ptsn]}:%.\x07"
+      print -nP "\e]2;${jobstr}${WINTITLE:+ $WINTITLE |} %n@%m - %~ | %y\x07"
+    } > /dev/tty
+
+  echo 2 > /dev/tty
+}
+
+TRAPCHLD()
+{
+  echo SIGCHLD 1 > /dev/tty
+  if [[ -o interactive && -n $TTY ]] then
+    updprompt
+    typeset -g _trapchld_called=1
+  fi
+  echo SIGCHLD 2 > /dev/tty
+}