]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/rc
zsh/rc: Remove ghci wrapper function.
[config/dotfiles.git] / zsh / rc
diff --git a/zsh/rc b/zsh/rc
index 7f05bbf4b4a5eb4958f41f8b6457f6279f616423..09264ed39e0588f4aac8a732bfc6ad190726cb8d 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -50,10 +50,11 @@ zshrc_resolve_fg_to_resumed_job_name() {
 
 # MISCELLANEOUS SETTINGS
 
-# Be paranoid, new files are readable/writable by me only, but not as root.
-if [[ $UID -ne 0 ]]; then
-    umask 077
-fi
+# Prevent warnings.
+typeset -g TMOUT
+# Load general shell setup commands. NOTE: Expand this when publishing the
+# config.
+source_config ~/.shell/rc
 
 # Disable beeps.
 setopt nobeep
@@ -825,15 +826,6 @@ elif (( $+commands[zathura] )); then
     compdef _xpdf pdf
 fi
 
-# GHCI doesn't use readline, force it if rlwrap is available.
-(( $+commands[rlwrap] )) && ghci() {
-    command rlwrap \
-        --always-readline --complete-filenames -t dumb \
-        --histsize 5000 \
-        --file ~/.shell/rlwrap/ghci \
-        ghci "$@" 2>&1
-}
-
 
 # OS SPECIFIC SETTINGS
 
@@ -851,6 +843,8 @@ fi
 # Multiplexer to use. By default GNU screen is used. Possible values: screen,
 # tmux and empty (no multiplexer).
 zshrc_use_multiplexer=screen
+# Additional arguments for fortune.
+zshrc_fortune_arguments=()
 
 source_config ~/.zsh/rc.local
 
@@ -902,19 +896,32 @@ if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then
     fi
 fi
 
-# Colorize stderr in bold red. Very useful when looking for errors. Thanks to
-# http://gentoo-wiki.com/wiki/Zsh for the basic script and Mikachu in #zsh on
-# Freenode (2010-03-07 04:03 CET) for some improvements (-r, printf). It's not
-# yet perfect and doesn't work with su and git for example, but it can handle
-# most interactive output quite well (even with no trailing new line) and in
-# cases it doesn't work, the E alias can be used as workaround.
-#
-# Moved in the "run commands" section to prevent one unnecessary zsh process
-# when starting GNU screen/tmux (see above).
-exec 2>>(while read -r -k -u 0 line; do
-    printf '\e[91m%s\e[0m' "$line"
-    print -n $'\0'
-done &)
+# Colorize stderr in bold red. Very useful when looking for errors.
+if [[ $LD_PRELOAD != *libcoloredstderr.so* ]]; then
+    # coloredstderr found, use it.
+    if [[ -f ~/.zsh/libcoloredstderr.so ]]; then
+        export LD_PRELOAD="$HOME/.zsh/libcoloredstderr.so:$LD_PRELOAD"
+        export COLORED_STDERR_FDS=2,
+        export COLORED_STDERR_PRE=$'\033[91m' # bright red
+        export COLORED_STDERR_IGNORED_BINARIES=/usr/bin/tset
+    # Use the fallback solution.
+    #
+    # Thanks to http://gentoo-wiki.com/wiki/Zsh for the basic script and
+    # Mikachu in #zsh on Freenode (2010-03-07 04:03 CET) for some improvements
+    # (-r, printf). It's not yet perfect and doesn't work with su and git for
+    # example, but it can handle most interactive output quite well (even with
+    # no trailing new line) and in cases it doesn't work, the E alias can be
+    # used as workaround.
+    #
+    # Moved in the "run commands" section to prevent one unnecessary zsh
+    # process when starting GNU screen/tmux (see above).
+    else
+        exec 2>>(while read -r -k -u 0 line; do
+            printf '\e[91m%s\e[0m' "$line"
+            print -n $'\0'
+        done &)
+    fi
+fi
 
 # Display possible log messages from ~/.xinitrc (if `xmessage` wasn't
 # installed). No race condition as xinitrc has finished before a shell is
@@ -931,7 +938,7 @@ fi
 PERIOD=14400
 periodic() {
     # Display fortunes.
-    (( $+commands[fortune] )) && fortune -ac
+    (( $+commands[fortune] )) && fortune -ac "${zshrc_fortune_arguments[@]}"
     # Display reminders.
     (( $+commands[rem] )) && [[ -f ~/.reminders ]] && rem -h
 }