X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=9e8edd262f67197c44ab3441b53a655f5987f044;hb=3742d8b34552762cc3627dde22975b5c94d33b22;hp=91d1f5de8df17c7b700b20316bd83393801a0299;hpb=fdbda4373a045a26e7025d90a2ae1a9fab4d12dd;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 91d1f5d..9e8edd2 100644 --- 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,13 +826,9 @@ 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 +# Better viewer for info pages .. just pipe everything into less. +info() { + command info "$@" 2>/dev/null | less } @@ -904,19 +901,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