isgrmlcd && SAVEHIST=1000 || SAVEHIST=10000 # useful for setopt append_history
# }}}
+# dirstack handling {{{
+ DIRSTACKSIZE=20
+ if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]]; then
+ dirstack=( ${(uf)"$(< ~/.zdirs)"} )
+ # "cd -" won't work after login by just setting $OLDPWD, so
+ cd $dirstack[0] && cd $OLDPWD
+ fi
+ chpwd() { dirs -pl >! ~/.zdirs }
+# }}}
+
# {{{ display battery status on right side of prompt via running 'BATTERY=1 zsh'
if [ -n "$BATTERY" ] ; then
if [ -x =acpi ] ; then
# precmd () { setopt promptsubst; [[ -o interactive ]] && jobs -l;
- is4 && ! [[ -n "$NOPRECMD" ]] && precmd () {
- (( NOPRECMD > 0 )) && return 0
+ is4 && [[ -z $NOPRECMD ]] && precmd () {
+ [[ -n $NOPRECMD ]] && return 0
# just use DONTSETRPROMPT=1 to be able to overwrite RPROMPT
if [[ -z ${DONTSETRPROMPT} ]] ; then
if [ -n "$BATTERY" ] ; then
# chpwd () => a function which is executed whenever the directory is changed
# preexec() => a function running before every command
- is4 && ! [[ -n "$NOPRECMD" ]] && preexec () {
- (( NOPRECMD > 0 )) && return 0
+ is4 && [[ -z $NOPRECMD ]] && preexec () {
+ [[ -n $NOPRECMD ]] && return 0
# set hostname if not running on host with name 'grml'
local HOSTNAME=$(hostname)
if [[ "$HOSTNAME" != grml ]] ; then