+#!/bin/sh
+
# Setup script for X11 configuration files.
+# 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+set -eu
. ../lib.sh
-# Link setup.
-link stumpwmrc ~/.stumpwmrc
-link xinitrc ~/.xinitrc
+
+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 Xresources .in perl -ne \
+ 'if (/^Term/) {
+ s/^Term//;
+ print "XTerm", $_;
+ print "UXTerm", $_;
+ print "Rxvt", $_;
+ } elsif (/^XTerm/) {
+ print $_;
+ s/^XTerm//;
+ print "UXTerm", $_;
+ } else {
+ print $_;
+ }'
+ # 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 test ! "x`os`" = xdarwin; then
+ link xinitrc ~/.xinitrc
+ # Most display managers use ~/.xsession instead of ~/.xinitrc (which
+ # is used by e.g. startx). Provide both links.
+ link xinitrc ~/.xsession
+ fi
+ if test -f xinitrc.local; then
+ link xinitrc.local ~/.xinitrc.local
+ fi
+ link xmodmaprc ~/.xmodmaprc
+ link Xresources ~/.Xresources
+ link XCompose ~/.XCompose
+fi
+
+if installed xpdf; then
+ link xpdfrc ~/.xpdfrc
+fi
+if installed zathura; then
+ mkdir -p ~/.config/zathura
+ link zathurarc ~/.config/zathura/zathurarc
+fi
+
+if installed feh; then
+ mkdir -p ~/.config
+ link feh ~/.config/feh
+ # Older feh versions only support theme options and configure them through
+ # ~/.fehrc.
+ link feh/themes ~/.fehrc
+fi