X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=shell%2Frc;h=d0261bbae3c65d61602328506034568c163c596b;hb=10029386b0efedf07dcf368fdb2fcdd1c85017d0;hp=aa15002c26c8b1c48f39cdc6ddcb8f30eef93420;hpb=17a3d6bf1dc5001799987d03b0e890f84a373ac9;p=config%2Fdotfiles.git diff --git a/shell/rc b/shell/rc index aa15002..d0261bb 100644 --- a/shell/rc +++ b/shell/rc @@ -1,6 +1,6 @@ # Shell configuration file. -# Copyright (C) 2013 Simon Ruderich +# Copyright (C) 2013-2014 Simon Ruderich # # This file is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,9 +24,9 @@ else umask 077 fi -# Disable flow control (^s ^q). I use GNU Screen/Tmux which also supports this -# in a similar way (entering copy mode) and enabling flow control by accident -# is annoying. +# Disable flow control (^s and ^q). I use GNU Screen/Tmux which also supports +# this in a similar way (entering copy mode) and enabling flow control by +# accident is annoying. if test -t 0; then stty -ixon -ixoff fi @@ -39,11 +39,20 @@ timeout_setup_screen_lock() { echo } timeout_setup_tmux_lock() { - echo "Locking Tmux after $timeout seconds (TTY detected)." - tmux set-option lock-after-time $timeout - echo + if type vlock >/dev/null; then + echo "Locking Tmux after $timeout seconds (TTY detected)." + tmux set-option lock-after-time $timeout + echo + + else + echo "vlock not found, locking won't work in Tmux!" >&2 + echo "Falling back to shell timeout." >&2 + echo + + timeout_setup_shell_logout + fi } -timeout_setup_shell_lock() { +timeout_setup_shell_logout() { echo "Auto-logout after $timeout seconds (TTY detected)." TMOUT=$timeout echo @@ -65,10 +74,6 @@ case "$TERM" in ;; esac elif test -n "$TMUX"; then - if ! type vlock >/dev/null; then - echo "vlock not found, locking won't work in Tmux!" >&2 - fi - case "`tmux display -p '#{client_tty}'`" in /dev/tty[0-9]*) timeout_setup_tmux_lock @@ -92,14 +97,14 @@ case "$TERM" in esac else echo 'TERM=screen but neither $STY nor $TMUX found!' >&2 - timeout_setup_shell_lock + timeout_setup_shell_logout fi ;; *) case `tty` in /dev/tty[0-9]*) - timeout_setup_shell_lock + timeout_setup_shell_logout ;; esac ;;