X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=aa195f28b167da25b030ec5e20aef1cc1dfec0ad;hb=9b4edaeb7c8a573fcf2c865fe1dd7c16337e0c76;hp=f696a34f16efa20fe5bbf7d4c5c708e41ed498c5;hpb=7462c890fb0ddcd28654e06ff8f8d378854a4f12;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index f696a34..aa195f2 100644 --- a/zsh/rc +++ b/zsh/rc @@ -672,20 +672,22 @@ fi command tree -C "$@" | less } -# Choose the "best" PDF viewer available: zathura, then xpdf. Also setup -# completion for `pdf`. -if (( $+commands[zathura] )); then +# Choose the "best" PDF viewer available: xpdf, then zathura (in the past +# zathura was preferred, but recent versions are completely broken: still no +# working search and no page-wise scrolling anymore). Also setup completion +# for `pdf`. +if (( $+commands[xpdf] )); then pdf() { - command zathura "$@" 2>/dev/null & + command xpdf "$@" 2>/dev/null & disown %command } - # No completion for zathura yet. compdef _xpdf pdf -elif (( $+commands[xpdf] )); then +elif (( $+commands[zathura] )); then pdf() { - command xpdf "$@" 2>/dev/null & + command zathura "$@" 2>/dev/null & disown %command } + # No completion for zathura yet. compdef _xpdf pdf fi @@ -712,8 +714,9 @@ fi # LOAD ADDITIONAL CONFIGURATION FILES -# Configuration option for rc.local to use tmux. By default screen is used. -use_tmux= +# Configuration option for rc.local to use GNU screen/tmux. By default GNU +# screen is used. Possible values: screen, tmux. +use_multiplexer=screen source_config ~/.zsh/rc.local @@ -725,32 +728,32 @@ source_config ~/.zsh/rc.local # through ssh. if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # Get running detached sessions. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') - else + elif [[ $use_multiplexer = tmux ]]; then session=$(tmux list-sessions 2>/dev/null \ | sed '/(attached)$/ d; s/^\([0-9]\{1,\}\).*$/\1/; q') fi # As we exec later we have to set the title here. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then window_preexec "screen" - else + elif [[ $use_multiplexer = tmux ]]; then window_preexec "tmux" fi # Create a new session if none is running. if [[ -z $session ]]; then - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux fi # Reattach to a running session. else - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen -r $session - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux attach-session -t $session fi fi @@ -770,9 +773,12 @@ exec 2>>(while read -r -k -u 0 line; do print -n $'\0'; done &) -# Run reminder and redisplay it every four hours (if it's available). +# Run the following programs every 4 hours. PERIOD=14400 periodic() { + # Display fortunes. + (( $+commands[fortune] )) && fortune -ac + # Display reminders. (( $+commands[rem] )) && [ -f ~/.reminders ] && rem -h }