GRMLZSHRC
-August, 2009
+Oktober, 2009
%!target: man
%!postproc(man): "^(\.TH.*) 1 " "\1 5 "
If set to a value greater than zero and //acpi// installed, //grmlzshrc// will
put the battery status into the right hand side interactive prompt.
+: **COMMAND_NOT_FOUND**
+A non zero value activates a handler, which is called when a command can not
+be found. The handler is defined by GRML_ZSH_CNF_HANDLER (see below).
+
+: **GRML_ALWAYS_LOAD_ALL**
+Enables the whole grml setup for root, if set to a non zero value.
+
+: **GRML_ZSH_CNF_HANDLER**
+This variable contains the handler to be used by COMMAND_NOT_FOUND (see above)
+and defaults to "/usr/share/command-not-found/command-not-found".
+
+: **GRMLSMALL_SPECIFIC**
+Set this to zero to remove items in zsh config, which do not work in
+grml-small.
+
+: **MAILCHECK**
+Sets the frequency in seconds for zsh to check for new mail. Defaults to 30.
+A value of zero turns off checking.
+
+: **NOCOR**
+Non zero values deactivate automatic correction of commands.
+
+: **NOMENU**
+If set to zero (default), allows selection from a menu, if there are at least
+five possible options of completion.
+
+: **NOPRECMD**
+A non zero value disables precmd and preexec commands. These are functions
+that are run before every command (setting xterm/screen titles etc.).
+
+: **REPORTTIME**
+Show time (user, system and cpu) used by external commands, if they run longer
+than the defined number of seconds (default: 5).
+
+: **ZSH_NO_DEFAULT_LOCALE**
+Import "/etc/default/locale", if set to zero (default).
+
+: **ZSH_PROFILE_RC**
+A non zero value causes shell functions to be profiled. The results can be
+obtained with the zprof builtin command (see zshmodules(1) for details).
+
= FEATURE DESCRIPTION =
This is an in depth description of non-standard features implemented by
= REFERENCE =
+== ENVIRONMENT VARIABLES ==
+//grmlzshrc// sets some environment variables, which influence the
+behaviour of applications.
+
+: **BROWSER**
+If X is running this is set to "firefox", otherwise to "w3m".
+
+: **COLORTERM**
+Set to "yes". Some applications read this to learn about properties
+of the terminal they are running in.
+
+: **EDITOR**
+If not already set, sets the default editor. Falls back to vi(1),
+if vim(1) is not available.
+
+: **MAIL**
+The mailbox file for the current user is set to /var/mail/$USER, if not
+already set otherwise.
+
+: **PAGER**
+Set less(1) as default pager, if not already set to something different.
+
+: **QTDIR**
+Holds the path to shared files for the C++ application framework QT
+(version 3 or 4).
+
+: **SHELL**
+Set explicitly to /bin/zsh, to prevent certain terminal emulators to
+default to /bin/sh or /bin/bash.
+
+
== OPTIONS ==
Apart from zsh's default options, //grmlzshrc// sets some options
that change the behaviour of zsh. Options that change Z-shell's default
Pressing the 'asdf' keys toggles between dvorak or neon and us keyboard
layout.
+: **asc()**
+Login on the host provided as argument using autossh. Then reattach a GNU screen
+session if a detached session is around or detach a currently attached screen or
+else start a new screen. This is especially useful for roadwarriors using GNU
+screen and ssh.
+
: **audioburn()**
Burns the files in ~/ripps (see audiorip() below) to an audio CD.
Then prompts the user if she wants to remove that directory. You might need
use the wodim binary instead. Wodim is the debian fork of Joerg Schillings
cdrecord.
+: **changed()**
+Lists files in current directory, which have been changed within the
+last N days. N is an integer to be passed as first and only argument.
+If no argument is specified N is set to 1.
+
: **check_com()**
Returns true if given command exists either as program, function, alias,
builtin or reserved word. If the option -c is given, only returns true,
Changes current directory to the one supplied by argument and lists the files
in it, including file names starting with ".".
+: **d()**
+Presents a numbered listing of the directory stack. Then changes current
+working directory to the one chosen by the user.
+
: **debbug()**
Searches the Debian bug tracking system (bugs.debian.org) for Bug numbers,
email addresses of submitters or any string given on the command line.
Takes packagename as argument. Sets current working directory to
/usr/share/doc/<packagename> and prints out a directory listing.
+: **exirename()**
+Renames image files based on date/time informations in their exif headers.
+
: **fir()**
Opens given URL with Firefox (Iceweasel on Debian). If there is already an
instance of firefox running, attaches to the first window found and opens the
: **hidiff()**
Outputs highlighted diff; needs highstring(1).
+: **hl()**
+Shows source files in less(1) with syntax highlighting. Run "hl -h"
+for detailed usage information.
+
+: **ic_get()**
+Queries IMAP server (first parameter) for its capabilities. Takes
+port number as optional second argument.
+
: **is4()**
Returns true, if zsh version is equal or greater than 4, else false.
Lists images (i. e. files ending with ".jpg", ".gif" or ".png") in current
directory.
+: **makereadable()**
+Creates a PostScript and a PDF file (basename as first argument) from
+source code files.
+
+: **man2()**
+Displays manpage in a streched style.
+
: **mcd()**
Creates directory including parent directories, if necessary. Then changes
current working directory to it.
+: **mdiff()**
+Diffs the two arguments recursively and writes the
+output (unified format) to a timestamped file.
+
+: **memusage()**
+Prints the summarized memory usage in bytes.
+
: **minimal-shell()**
-Spawns a absolute minimal Korn shell. It references no files in /usr, so
-that file system can be unmounted.
+Spawns a minimally set up MirBSD Korn shell. It references no files in /usr,
+so that file system can be unmounted.
: **mkaudiocd()**
Renames all mp3 files in ~/ripps (see audiorip above) to lowercase and
enabled using mkisofs(8). Prompts the user for volume name, filename and
target directory.
+: **mkmaildir()**
+Creates a directory with first parameter as name inside $MAILDIR_ROOT
+(defaults to $HOME/Mail) and subdirectories cur, new and tmp.
+
: **mmake()**
Runs "make install" and logs the output under ~/.errorlogs/; useful for
a clean deinstall later.
+: **new()**
+Lists files in current directory, which have been modified within the
+last N days. N is an integer to be passed as first and only argument.
+If no argument is specified N is set to 1.
+
: **ogg2mp3_192()**
Recodes an ogg file to mp3 with a bitrate of 192.
second argument, which denotes the compression/archive type as typical
filename extension; defaults to "tar.gz".
-: **smartindent()**
+: **smart-indent()**
Indents C source code files given; uses Kernighan & Ritchie style.
: **sshot()**
of the current desktop. The result is stored in ~/shots to a timestamped
jpg file.
+: **ssl-cert-fingerprints**
+Prints the SHA512, SHA256, SHA1 and MD5 digest of a x509 certificate.
+First and only parameter must be a file containing a certificate. Use
+/dev/stdin as file if you want to pipe a certificate to these
+functions.
+
+: **ssl-cert-info**
+Prints all information of a x509 certificate including the SHA512,
+SHA256, SHA1 and MD5 digests. First and only parameter must be a file
+containing a certificate. Use /dev/stdin as file if you want to pipe a
+certificate to this function.
+
+: **ssl-cert-sha512(), ssl-cert-sha256(), ssl-cert-sha1(), ssl-cert-md5()**
+Prints the SHA512, SHA256, SHA1 respective MD5 digest of a x509
+certificate. First and only parameter must be a file containing a
+certificate. Use /dev/stdin as file if you want to pipe a certificate
+to this function.
+
: **startx()**
Initializes an X session using startx(1) if /etc/X11/xorg.conf exists, else
issues a Warning to use the grml-x(1) script. Can be overridden by using
Sets up software synthesizer by calling swspeak-setup(8). Kernel boot option
swspeak must be set for this to work.
+: **trans()**
+Translates a word from german to english (-D) or vice versa (-E).
+
: **udiff()**
Makes a unified diff of the command line arguments trying hard to find a
smaller set of changes. Descends recursively into subdirectories. Ignores
hows some information about current status.
+: **uopen()**
+Downloads and displays a file using a suitable program for its
+Content-Type.
+
: **uprint()**
Works around the "print -l ${(u)foo}"-limitation on zsh older than 4.2.
See zshbuiltins(1) for a detailed description of the source command.
See also xunfunction() below.
+: **xtrename()**
+Changes the title of xterm window from within screen(1). Run without
+arguments for details.
+
: **xunfunction()**
Removes the functions salias, xcat, xsource, xunfunction and zrcautoload.
= STATUS =
-This manual page is supposed to be a **reference** manual for //grmlzshrc//.
+This manual page is the **reference** manual for //grmlzshrc//.
+
That means that in contrast to the existing refcard it should document **every**
-aspect of the setup. That is currently **not** the case. Not for a long time
-yet. Contributions are highly welcome.
+aspect of the setup.
+
+This manual is currently not complete. If you want to help improving it, visit
+the following pages:
+
+http://wiki.grml.org/doku.php?id=zshrcmanual
+
+http://lists.mur.at/pipermail/grml/2009-August/004609.html
+
+Contributions are highly welcome.
= AUTHORS =
-This manpage was written by Frank Terbeck <ft@grml.org> and Joerg Woelke
-<joewoe@fsmail.de>.
+This manpage was written by Frank Terbeck <ft@grml.org>, Joerg Woelke
+<joewoe@fsmail.de>, Maurice McCarthy <manselton@googlemail.com> and Axel
+Beckert <abe@deuxchevaux.org>.
= COPYRIGHT =