Append rather than replace terminal-overrides.
[profile.git] / .profile.d / screen.bashrc
index ca08f6e..e6a8b1e 100644 (file)
@@ -1,9 +1,14 @@
 # Fixup screen and define ``session'' if available.
 screen=$(find_working screen 2>/dev/null)
 if [ $? = 0 ]; then
-  # Override SCREENDIR iff screen is not setuid.
-  if ! ls -l "$screen" | cut -d ' ' -f 1 | grep s >/dev/null; then
-    export SCREENDIR="$HOME/.screen/$HOSTNAME"
+  # Override SCREENDIR iff screen is not setgid (but not under sudo).
+  if [ ! -g "$screen" ]; then
+    if [ -n "$SUDO_USER" ]; then
+      unset SCREENDIR
+    else
+      export SCREENDIR="$HOME/.screen/$HOSTNAME"
+      mkdir -p "$SCREENDIR"
+    fi
   fi
 
   krenew=$(find_working krenew 2/dev/null)
@@ -13,7 +18,5 @@ if [ $? = 0 ]; then
     alias kscreen=''
   fi
   unset krenew
-
-  alias session='bigscreen -rx -S session || kscreen bigscreen -S session'
 fi
 unset screen