]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - setup.sh
setup.sh: Fix GNU screen Git check.
[config/dotfiles.git] / setup.sh
index 305c0931124929e42416dec7ef0574f97b12c205..55efa84bb13cadfae3cbef9ea446eff703f5c3b2 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -34,8 +34,6 @@ if ! infocmp > /dev/null 2>&1; then
 fi
 
 
-hostname=`hostname`
-
 # Create private temporary directory used by many tools (including GNU screen
 # and tmux).
 mkdir -p ~/.tmp
@@ -83,14 +81,15 @@ if test -z "$use_256colors"; then
 fi
 # Some options are only necessary when running as root. They are marked as
 # "(ROOT)".
-if [ x`id -u` != x0 ]; then
+if test "`id -u`" -ne 0; then
     echo screenrc: removing root options
     grep -v '(ROOT)' screenrc > screenrc.tmp
     mv screenrc.tmp screenrc
 fi
-# I use some features of screen which are only in Git. Drop them on machines
-# which have older versions. They are marked as "(GIT)".
-if test -d "$HOME/development/shell/screen"; then
+# I use some features of GNU screen which are only in Git or very recent GNU
+# screen versions. Drop them on machines which have older versions. They are
+# marked as "(GIT)".
+if test ! -d "$HOME/development/shell/screen"; then
     echo screenrc: removing Git features
     grep -v '(GIT)' screenrc > screenrc.tmp
     mv screenrc.tmp screenrc
@@ -104,12 +103,30 @@ if installed rxvt; then
 fi
 # Display current battery charge on computers with a battery. Necessary lines
 # are marked as "(BATTERY)".
-if [ ! -d /sys/class/power_supply/BAT0 ]; then
+if test ! -d /sys/class/power_supply/BAT0; then
     echo screenrc: removing battery display
     grep -v '(BATTERY)' screenrc > screenrc.tmp
     mv screenrc.tmp screenrc
 fi
 
+if installed tmux; then
+    generate perl tmux.conf ./bin/remove-continuation.pl
+
+    # 256 colors not available.
+    if test -z "$use_256colors"; then
+        echo tmux.conf: removing 256 colors
+        sed 's/Enable 256 color/Disable 256 color/;
+             s/screen-256color/screen/' tmux.conf > tmux.conf.tmp
+        mv tmux.conf.tmp tmux.conf
+    fi
+    # Tmux doesn't display a warning if the shell wasn't found!
+    if test ! -x '/bin/zsh'; then
+        echo tmux.conf: removing /bin/zsh as shell
+        sed 's/zsh/sh/' tmux.conf > tmux.conf.tmp
+        mv tmux.conf.tmp tmux.conf
+    fi
+fi
+
 # Htop overwrites the comments in its configuration file.
 generate cat htoprc .in
 
@@ -135,7 +152,6 @@ fi
 link inputrc ~/.inputrc
 link screenrc ~/.screenrc
 if installed tmux; then
-    generate perl tmux.conf ./bin/remove-continuation.pl
     link tmux.conf ~/.tmux.conf
 fi
 if installed htop; then