X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=setup.sh;h=0f84352570592dc3cbaea1b64d12d4dc4ad5be0e;hb=88ba0f56e16573a402d6fcbb383dc0f62fc4620d;hp=2dc16935fca9588f90882fd30139316d6cb49800;hpb=429ce4dc8ecc960043dc0258bd0f795ef66e62ba;p=config%2Fdotfiles.git diff --git a/setup.sh b/setup.sh index 2dc1693..0f84352 100755 --- a/setup.sh +++ b/setup.sh @@ -2,7 +2,7 @@ # 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 @@ -18,25 +18,30 @@ # along with this program. If not, see . +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 \ + # are for XTerm and UXTerm. + generate Xresources .in perl -ne \ 'if (/^Term/) { s/^Term//; print "XTerm", $_; print "UXTerm", $_; - print "Rxvt", $_; + print "URxvt", $_; } elsif (/^XTerm/) { print $_; s/^XTerm//; @@ -44,20 +49,32 @@ if installed X; then } 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 + # Most display managers use ~/.xsession instead of ~/.xinitrc (which + # is used by e.g. startx). Provide both links. + link xinitrc ~/.xsession 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 + + link fonts ~/.fonts + + link bin/xlockscreen ~/.xlockscreen fi if installed xpdf; then @@ -71,4 +88,7 @@ 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