about summary refs log tree commit diff
path: root/Src/vincent.zsh
blob: 65da7d764cb82d2e923956fefd6582111af90a28 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
}