]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
zsh: Automatically start screen.
authorSimon Ruderich <simon@ruderich.org>
Tue, 10 Mar 2009 15:48:27 +0000 (16:48 +0100)
committerSimon Ruderich <simon@ruderich.org>
Tue, 10 Mar 2009 15:48:27 +0000 (16:48 +0100)
This prevents problems when X11 crashes or the network connection is lost on
remote servers.

zsh/rc

diff --git a/zsh/rc b/zsh/rc
index 9b371bcdea336b6b97785518cf6e053db15e0c0d..ccd950faf603c341ad9dff4d766f25fef17acc62 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -328,6 +328,20 @@ todo() {
 }
 
 
+# RUN COMMANDS
+
+# If not already in screen reattach to a running session or create a new one.
+if [[ $TERM != 'screen' && $TERM != 'dumb' ]]; then
+    # Create a new session if none is running.
+    if [[ $(screen -list | grep "Detached" | wc -l) == 0 ]]; then
+        screen
+    # Reattach to a running session.
+    else
+        screen -r
+    fi
+fi
+
+
 # Load rc file for current OS.
 source_config ~/.zsh os rc $(uname) nolocal
 # Load rc file for current hostname (first part before a dot) or rc.local.