X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=7e74bfcfd1f41a1e58aa9f486deb9c8078df00a4;hb=575c92ff4335c1fb35a8dc4995ff12e298058eee;hp=018914c7746fbbb53d47254231d4d37018f9255e;hpb=8ac2e84c61fe067dc2676cbf4b29d431c209bcf8;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 018914c..7e74bfc 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -3,7 +3,7 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Son Apr 15 22:36:24 CEST 2007 [mika] +# Latest change: Son Apr 29 13:16:44 CEST 2007 [mika] ################################################################################ # This file is sourced only for interactive shells. It # should contain commands to set up aliases, functions, @@ -443,17 +443,25 @@ fi # precmd () { setopt promptsubst; [[ -o interactive ]] && jobs -l; + # make sure to use right prompt only when not running a command + is4 && setopt transient_rprompt + is4 && [[ -z $NOPRECMD ]] && precmd () { [[ -n $NOPRECMD ]] && return 0 + # allow manual overwriting of RPROMPT + if [[ -n $RPROMPT ]] ; then + [[ $TERM == screen* ]] && echo -n $'\ekzsh\e\\' + return 0 + fi # just use DONTSETRPROMPT=1 to be able to overwrite RPROMPT - if [[ -z ${DONTSETRPROMPT} ]] ; then - if [ -n "$BATTERY" ] ; then - # RPROMPT="%(?..:()% ${PERCENT}${SCREENTITLE}" - RPROMPT="${PERCENT}${SCREENTITLE}" - else - # RPROMPT="%(?..:()% ${SCREENTITLE}" - RPROMPT="${SCREENTITLE}" - fi + if [[ -z $DONTSETRPROMPT ]] ; then + if [[ -n $BATTERY ]] ; then + RPROMPT="%(?..:()% ${PERCENT}${SCREENTITLE}" + # RPROMPT="${PERCENT}${SCREENTITLE}" + else + RPROMPT="%(?..:()% ${SCREENTITLE}" + # RPROMPT="${SCREENTITLE}" + fi fi # adjust title of xterm # see http://www.faqs.org/docs/Linux-mini/Xterm-Title.html @@ -476,15 +484,15 @@ fi # get the name of the program currently running and hostname of local machine # set screen window title if running in a screen if [[ "$TERM" == screen* ]]; then - # local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} # dont't use hostname - local CMD="${1[(wr)^(*=*|sudo|ssh|-*)]}$NAME" # use hostname - echo -ne "\ek$CMD\e\\" + # local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} # dont't use hostname + local CMD="${1[(wr)^(*=*|sudo|ssh|-*)]}$NAME" # use hostname + echo -ne "\ek$CMD\e\\" fi # set the screen title to "zsh" when sitting at the command prompt: if [[ "$TERM" == screen* ]]; then - SCREENTITLE=$'%{\ekzsh\e\\%}' + SCREENTITLE=$'%{\ekzsh\e\\%}' else - SCREENTITLE='' + SCREENTITLE='' fi # adjust title of xterm case $TERM in (xterm*|rxvt) @@ -522,11 +530,11 @@ fi # don't use colors on dumb terminals (like emacs): if [[ "$TERM" == dumb ]] ; then - PROMPT="${EXITCODE}${debian_chroot:+($debian_chroot)}%n@%m %40<...<%B%~%b%<< %# " + PROMPT="${EXITCODE}${debian_chroot:+($debian_chroot)}%n@%m %40<...<%B%~%b%<< %# " else # only if $GRMLPROMPT is set (e.g. via 'GRMLPROMPT=1 zsh') use the extended prompt # set variable identifying the chroot you work in (used in the prompt below) - if [[ -n "$GRMLPROMPT" ]]; then + if [[ -n $GRMLPROMPT ]]; then PROMPT="${RED}${EXITCODE}${CYAN}[%j running job(s)] ${GREEN}{history#%!} ${RED}%(3L.+.) ${BLUE}%* %D ${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< %# " else @@ -616,6 +624,7 @@ ${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< %# " unsetopt prompt_cr export PS1="%m%# " nice -n -20 speechd-up + sleep 2 flite -o play -t "Finished setting up software synthesizer" fi ' @@ -1024,7 +1033,7 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." } _dchange() { _files -W /usr/share/doc -/ } compdef _dchange dchange - + # use "uchange " to view upstream's changelog of the package: uchange() { if [ -r /usr/share/doc/${1}/changelog.gz ] ; then @@ -1142,6 +1151,17 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." } functions peval &>/dev/null && alias calc=peval + # brltty seems to have problems with utf8 environment and/or font Uni3-Terminus16 under + # certain circumstances, so work around it, no matter which environment we have + brltty() { + if [ -z "$DISPLAY" ] ; then + consolechars -f /usr/share/consolefonts/default8x16.psf.gz + command brltty "$@" + else + command brltty "$@" + fi + } + # Switching shell safely and efficiently? http://www.zsh.org/mla/workers/2001/msg02410.html # bash() { # NO_SWITCH="yes" command bash "$@"