- # Use settings for XTerm also for UXTerm. This prevents code duplication.
- generate awk Xdefaults \
- '{ print ; if ( /^XTerm/ ) { print "U" $0 } }'
- # 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
-
- link xinitrc ~/.xinitrc
+ # 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 Xdefaults .in perl -ne \
+ 'if (/^Term/) {
+ s/^Term//;
+ print "XTerm", $_;
+ print "UXTerm", $_;
+ print "Rxvt", $_;
+ } elsif (/^XTerm/) {
+ print $_;
+ s/^XTerm//;
+ print "UXTerm", $_;
+ } else {
+ print $_;
+ }'
+ # Xdefaults uses ! as comment instead of #.
+ sed_i 's/^#/!/' Xdefaults
+ # Use urxvt's pseudo-transparency if compton is not available. Better than
+ # nothing.
+ if ! installed compton; then
+ echo 'Xdefaults: no compton found, enabling pseudo-transparency'
+ sed_i 's/^Rxvt\*background/!&/' Xdefaults
+ sed_i 's/^!NO_COMPTON //' Xdefaults
+ fi
+
+ 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 test -f xinitrc.local; then
+ link xinitrc.local ~/.xinitrc.local
+ fi