# Setup script for X11 configuration files.
-# Copyright (C) 2011-2012 Simon Ruderich
+# Copyright (C) 2011-2014 Simon Ruderich
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set -e
+set -eu
. ../lib.sh
+
if installed stumpwm; then
link stumpwmrc ~/.stumpwmrc
fi
if installed xmonad; then
link xmonad ~/.xmonad
fi
+if installed herbstluftwm; then
+ link herbstluftwm ~/.config/herbstluftwm
+fi
if installed X; then
# Prevent code duplication. Term* rules are for all terminals; XTerm rules
# are for XTerm and UXTerm. At the moment XTerm, UXTerm and Rxvt are
# supported.
- generate perl Xdefaults -ne \
+ generate Xresources .in perl -ne \
'if (/^Term/) {
s/^Term//;
print "XTerm", $_;
} else {
print $_;
}'
- # Xdefaults uses ! as comment instead of #. tmp file necessary because of
- # different implementations of `sed -i`.
- sed 's/^#/!/' Xdefaults > Xdefaults.tmp
- mv Xdefaults.tmp Xdefaults
+ # Xresources uses ! as comment instead of #.
+ sed_i 's/^#/!/' Xresources
+ # Use urxvt's pseudo-transparency if neither compton nor xcompmgr are
+ # available. Better than nothing.
+ if ! installed compton && ! installed xcompmgr; then
+ echo 'Xresources: no compton found, enabling pseudo-transparency'
+ sed_i 's/^Rxvt\*background: \[/!&/' Xresources
+ sed_i 's/^!NO_COMPTON //' Xresources
+ fi
- if [ x`os` != xdarwin ]; then
+ if test ! "x`os`" = xdarwin; then
link xinitrc ~/.xinitrc
+ # lightdm doesn't use ~/.xinitrc but ~/.xprofile instead. Assume it's
+ # used when the lightdm configuration file is present.
+ if test -f "$HOME/.dmrc"; then
+ link xinitrc ~/.xprofile
+ fi
fi
- if [ -f xinitrc.local ]; then
+ if test -f xinitrc.local; then
link xinitrc.local ~/.xinitrc.local
fi
link xmodmaprc ~/.xmodmaprc
- link Xdefaults ~/.Xdefaults
+ link Xresources ~/.Xresources
link XCompose ~/.XCompose
fi