J'essaie d'obtenir screen
pour définir mon xterm
titre. Je l'ai fait fonctionner en dehors de screen
mais screen
garde le titre qui était en place quand je l'ai commencé. Voici mon .bashrc
:
function bash\_prompt\_command() {
# How many characters of the $PWD should be kept
local pwdmaxlen=25
# Indicate that there has been dir truncation
local trunc\_symbol=".."
local dir=${PWD##\*/}
pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen ))
NEW\_PWD=${PWD/#$HOME/\\~}
local pwdoffset=$(( ${#NEW\_PWD} - pwdmaxlen ))
if \[ ${pwdoffset} -gt "0" \]
then
NEW\_PWD=${NEW\_PWD:$pwdoffset:$pwdmaxlen}
NEW\_PWD=${trunc\_symbol}/${NEW\_PWD#\*/}
fi
export NEW\_PWD
}
PROMPT\_COMMAND=bash\_prompt\_command
# Color chart @ http://wiki.archlinux.org/index.php/Color\_Bash\_Prompt
case "${TERM}" in
"xterm")
TITLEBAR='\\\[\\033\]0;\\u@\\h > ${NEW\_PWD}\\007\\\]'
PS1="${TITLEBAR}\\\[\\e\[1;32m\\\]\[\\e\[0;36m\\\]\\u\\e\[1;32m\\\]@\\e\[1;33m\\\]\\h\\e\[1;32m\\\]\] \\e\[0;37m\\\]\\${NEW\_PWD}/ \\e\[1;32m\\\]\\$ \\\[\\e\[0m"
;;
"screen")
TITLEBAR='\\\[\\033\]0;\\u@\\h > ${NEW\_PWD}\\007\\\]'
ESC='\\\[\\ek\\e\\\\\\\]'
PS1="${TITLEBAR}\\\[\\e\[1;32m\\\]\[\\e\[0;36m\\\]\\u\\e\[1;32m\\\]\] \\e\[0;37m\\\]\\${NEW\_PWD}/ \\e\[1;32m\\\]\\$ ${ESC}\\\[\\e\[0m"
;;
\*)
PS1="\\\[\\e\[1;32m\\\]\[\\e\[0;36m\\\]\\u\\e\[1;32m\\\]@\\e\[1;33m\\\]\\h\\e\[1;32m\\\]\] \\e\[0;37m\\\]\\${NEW\_PWD}/ \\e\[1;32m\\\]\\$ \\\[\\e\[0m"
;;
esac
Et voici mon .screenrc
:
hardstatus alwayslastline
hardstatus string '%{= kg}\[%{Y}%H%{g}\]\[%= %{= kw}%?%-Lw%?%{=b kR}(%{W}%n-%t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}\]\[%{Y}%l%{g}\]%{g}\[%{B}%m.%d.%Y %{G}%c%{g}\]'
termcapinfo xterm|xterms|xs|rxvt ti@:te@
termcapinfo xterm 'hs:ts=\\E\]2;:fs=\\007:ds=\\E\]2;screen\\007'
altscreen on
shelltitle '$ |bash'
Qu'est-ce que je fais de manière incorrecte ?
Mise à jour (19 août 2010) : Le problème est que vous ne pouvez pas mettre à jour le titre du terminal à partir de l'écran lorsque vous définissez alwayslastline
. Ma solution a donc été d'abandonner et de me contenter d'un titre prédéterminé, utile, pour mes sessions d'écran. Ma mise à jour .bashrc
y .screenrc
peut être trouvé à http://bitbucket.org/jsumners/rcfiles/src .