Screen

Présentation

Configuration (barre de statut et une barre de titre)

Exemple de configuration utilisant une barre de statut et une barre de titre :

caption always "%{= bb}%{+b w}%h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

Les deux sont modifiables via le shell en utilisant des séquences d'échappement particulières, par exemple, en zsh on aura quelque chose du genre :

   function title {
      # Use these two for GNU Screen:
      local myhost
      myhost=${$(hostname)//.*/}
      print -nR $'\033k'$myhost$'\033'\\
      print -nR $'\033]0;'$1$'\a'
   }

   preexec () {
      emulate -L zsh
      local -a cmd; cmd=(${(z)1})
      title ${$(hostname)//.*/} "$cmd[1,-1]"
   }

Pour mettre de façon automatique la barre de statut.

Configuration (affiche $PWD ainsi que la commande en cours)

Exemple de configuration affichant $PWD ainsi ainsi que la commande en cours zsh :

caption always "%{+u ck}%?%-w%?%{mk}[%t]%{ck}%?%+w%?"
hardstatus alwayslastline "%{kc} @%{+b kw}%H%{-b kc} %c-%D %d/%m/%y %{kc} ld: %l %{kc} %{kc}%1`%= %2`%= %{kc}"
if [[ $TERM == "screen" ]]; then
TAB_TITLE_PREFIX='"${USER}$PROMPT_CHAR"'
TAB_TITLE_PROMPT='`echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/;s/\/..*\//\/...\//"`'
TAB_TITLE_EXEC='$cmd[1]:t'
TAB_HARDSTATUS_PREFIX='"[`echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/"`] "'
TAB_HARDSTATUS_PROMPT='$SHELL:t'
TAB_HARDSTATUS_EXEC='$cmd'

function screen_set()
	  {  
	    print -nR $'\033k'$1$'\033'\\\
	    print -nR $'\033]0;'$2$'\a'
	  }
	  function preexec()
	  {
	    local -a cmd; cmd=(${(z)1}) # the command string
	    eval "tab_title=$TAB_TITLE_PREFIX$TAB_TITLE_EXEC"
	    eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX$TAB_HARDSTATUS_EXEC"
	    screen_set $tab_title $tab_hardstatus
	  }
	  function precmd()
	  {
	    eval "tab_title=$TAB_TITLE_PREFIX$TAB_TITLE_PROMPT"
	    eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX$TAB_HARDSTATUS_PROMPT"
	    screen_set $tab_title $tab_hardstatus
	  }
	fi

À voir également :

 
outils/screen.txt · Dernière modification: 2008/03/26 04:33 par lj