X-Git-Url: https://ruderich.org/simon/gitweb/?p=config%2Fdotfiles.git;a=blobdiff_plain;f=setup.sh;h=45fda4d984c7d42585f0eaaf2226229a089d2dab;hp=25f46843905f0823c507c4500f3dd9364eb5d296;hb=861842615ae39815ae9e5ee9090a82f22ea65bf3;hpb=c7c1641b81359f269d6ca303edaec89416458fc9 diff --git a/setup.sh b/setup.sh index 25f4684..45fda4d 100755 --- a/setup.sh +++ b/setup.sh @@ -2,24 +2,47 @@ # 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 . + + +set -eu . ../lib.sh + if installed stumpwm; then link stumpwmrc ~/.stumpwmrc fi if installed xmonad; then - link . ~/.xmonad + 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 and UXTerm are supported. - generate perl Xdefaults -ne \ + # 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//; @@ -27,14 +50,46 @@ 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 [ `os` != darwin ]; 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 test -f xinitrc.local; then + link xinitrc.local ~/.xinitrc.local fi link xmodmaprc ~/.xmodmaprc - link Xdefaults ~/.Xdefaults + link Xresources ~/.Xresources + link XCompose ~/.XCompose +fi + +if installed xscreensaver; then + link xscreensaver ~/.xscreensaver +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