75 lines
1.7 KiB
Plaintext
75 lines
1.7 KiB
Plaintext
# Initializations to be done on a new terminal. This is
|
||
# called both from .zlogin and .zshrc
|
||
|
||
# default initialization
|
||
if [ -r /usr/local/lib/profile-parts/term ]
|
||
then
|
||
. /usr/local/lib/profile-parts/term
|
||
fi
|
||
|
||
# terminal customization
|
||
|
||
if [[ .$TERM. = .console. ]]
|
||
then
|
||
# Linux console
|
||
TERM=vt200
|
||
stty rows 25 cols 80
|
||
fi
|
||
|
||
if [[ .$TERM. = .vt200. ]]
|
||
then
|
||
# vt200 not known here
|
||
TERM=vt100
|
||
stty erase
|
||
fi
|
||
|
||
if [[ $TERM == xterm-256color && ! -f /usr/share/terminfo/x/xterm-256color && ! -f /lib/terminfo/x/xterm-256color ]]
|
||
then
|
||
TERM=xterm
|
||
fi
|
||
|
||
if [[ $TERM == xterm ]]
|
||
then
|
||
for t in xterm-256color
|
||
do
|
||
for dir in /usr/share/terminfo/x /lib/terminfo/x
|
||
do
|
||
if [[ -f $dir/$t ]]
|
||
then
|
||
TERM=$t
|
||
break 2
|
||
fi
|
||
done
|
||
done
|
||
fi
|
||
|
||
case "$TERM" in
|
||
xterm*|screen)
|
||
# indicated exit status by smiley (suggested by Stig Sandbeck Mathisen)
|
||
smiley="%b%(0?,%{[32m%}:-),%{[31m%}:-()%{[30m%}%B"
|
||
prompt="%{]0;%m(%l)%n %~%}%B%m:%~ %T $smiley %h%# %b"
|
||
unsetopt PRINT_EXIT_VALUE
|
||
# force backspace key to send BS:
|
||
# warning: This works with real xterm and rxvt
|
||
# it doesn't work with konsole or gnome-terminal.
|
||
echo -n '[?67h'
|
||
stty erase
|
||
;;
|
||
*)
|
||
prompt="%B%m:%~ %T %h%# %b"
|
||
;;
|
||
esac
|
||
|
||
if [[ $TERM = xterm || $TERM = xterm-256color ]]
|
||
then
|
||
if [ -f ~/.zxtermcolors ]
|
||
then
|
||
. ~/.zxtermcolors
|
||
else
|
||
perl -e 'printf(qq{if whence xtermcontrol >/dev/null\nthen\nxtermcontrol --bg "#%02X%02X%02X"\nexport BG=light\nfi\n}, map { rand(128)+128 } qw(1 1 1))' > ~/.zxtermcolors
|
||
fi
|
||
fi
|
||
|
||
export PROMPT
|
||
znewtermexecuted=true
|