-# Filename: zshrc
+# Filename: /etc/zsh/zshrc
# Purpose: config file for zsh (z shell)
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
BATTERY=${BATTERY:-0}
GRMLSMALL_SPECIFIC=${GRMLSMALL_SPECIFIC:-1}
GRML_ALWAYS_LOAD_ALL=${GRML_ALWAYS_LOAD_ALL:-0}
-GRML_WARN_SKEL=${GRML_WARN_SKEL:-1}
+
+if isgrmlcd ; then
+ GRML_WARN_SKEL=${GRML_WARN_SKEL:-0}
+else
+ GRML_WARN_SKEL=${GRML_WARN_SKEL:-1}
+fi
if (( GRML_WARN_SKEL != 0 )) ; then
If you have a .zshrc file in your home directory that originally
came from the skel directory, please remove it. This is also the case
if you followed earlier instructions from the grml-zsh-refcard or
-from <http://grml.org/console> on non-grml systems.
+from <http://grml.org/console/> on non-grml systems.
-Please see the current grml-zsh-refcard for updated installation
-information. In short, you don'\''t want a .zshrc.global file. Install
-the global zshrc to ~/.zshrc and be done.
+Please see the current grml-zsh-refcard (available at
+<http://grml.org/zsh/>) for updated installation information. In short,
+you don'\''t want a .zshrc.global file. Install the global zshrc to
+~/.zshrc and be done.
If you need changes to the configuration, use ~/.zshrc.pre and
~/.zshrc.local.
# do Fink setup on darwin
isdarwin && xsource /sw/bin/init.sh
-# set width of man pages to 80 for more convenient reading
-# export MANWIDTH=${MANWIDTH:-80}
-
-# Search path for the cd command
-# cdpath=(.. ~)
-
# completion functions go to /etc/zsh/completion.d
# function files may be put into /etc/zsh/functions.d, from where they
# will be automatically autoloaded.
# }}}
# {{{ some aliases
-if [[ $UID -eq 0 ]] ; then
- [[ -r /etc/grml/screenrc ]] && alias screen='/usr/bin/screen -c /etc/grml/screenrc'
-elif [[ -r $HOME/.screenrc ]] ; then
- alias screen="/usr/bin/screen -c $HOME/.screenrc"
-else
- [[ -r /etc/grml/screenrc_grml ]] && alias screen='/usr/bin/screen -c /etc/grml/screenrc_grml'
+if check_com -c screen ; then
+ if [[ $UID -eq 0 ]] ; then
+ [[ -r /etc/grml/screenrc ]] && alias screen="${commands[screen]} -c /etc/grml/screenrc"
+ elif [[ -r $HOME/.screenrc ]] ; then
+ alias screen="${commands[screen]} -c $HOME/.screenrc"
+ else
+ [[ -r /etc/grml/screenrc_grml ]] && alias screen="${commands[screen]} -c /etc/grml/screenrc_grml"
+ fi
fi
# do we have GNU ls with color-support?
# {{{ completion system
# called later (via is4 && grmlcomp)
-# notice: use 'zstyle' for getting current settings
+# note: use 'zstyle' for getting current settings
# press ^Xh (control-x h) for getting tags in context; ^X? (control-x ?) to run complete_debug with trace output
grmlcomp() {
# TODO: This could use some additional information
zstyle ':completion:*:manuals.*' insert-sections true
zstyle ':completion:*:man:*' menu yes select
+ # provide .. as a completion
+ zstyle ':completion:*' special-dirs ..
+
# run rehash on completion so new installed program are found automatically:
_force_rehash() {
(( CURRENT == 1 )) && rehash
fi
# d():Copyright 2005 Nikolai Weibull <nikolai@bitwi.se>
-# notice: option AUTO_PUSHD has to be set
+# note: option AUTO_PUSHD has to be set
#f5# Jump between directories
d() {
emulate -L zsh
print ""
print "Date..: "$(date "+%Y-%m-%d %H:%M:%S")""
print "Shell.: Zsh $ZSH_VERSION (PID = $$, $SHLVL nests)"
- print "Term..: $TTY ($TERM), $BAUD bauds, $COLUMNS x $LINES cars"
+ print "Term..: $TTY ($TERM), ${BAUD:+$BAUD bauds, }$COLUMNS x $LINES cars"
print "Login.: $LOGNAME (UID = $EUID) on $HOST"
print "System: $(cat /etc/[A-Za-z]*[_-][rv]e[lr]*)"
print "Uptime:$(uptime)"
mkdir -p ${root}/${subdir}/{cur,new,tmp}
}
-# xtrename() rename xterm from within GNU-screen
+#f5# Change the xterm title from within GNU-screen
xtrename() {
- if [[ -z ${DISPLAY} ]] ; then
- printf 'xtrename only makes sense in X11.\n'
- return 1
+ if [[ ${1} != "-f" ]] ; then
+ if [[ -z ${DISPLAY} ]] ; then
+ printf 'xtrename only makes sense in X11.\n'
+ return 1
+ fi
+ else
+ shift
fi
if [[ -z ${1} ]] ; then
- printf 'usage: xtrename() "title for xterm"\n'
+ printf 'usage: xtrename [-f] "title for xterm"\n'
printf ' renames the title of xterm from _within_ screen.\n'
- printf ' Also works without screen.\n'
+ printf ' also works without screen.\n'
+ printf ' will not work if DISPLAY is unset, use -f to override.\n'
return 0
fi
print -n "\eP\e]0;${1}\C-G\e\\"