X-Git-Url: https://ruderich.org/simon/gitweb/?p=config%2Fdotfiles.git;a=blobdiff_plain;f=setup.sh;h=45fda4d984c7d42585f0eaaf2226229a089d2dab;hp=7ace8e0d20ab164b95be773f1bf567566454d90a;hb=861842615ae39815ae9e5ee9090a82f22ea65bf3;hpb=462f355f79fa930d54a4dbe6a45efca894bb32bb diff --git a/setup.sh b/setup.sh index 7ace8e0..45fda4d 100755 --- a/setup.sh +++ b/setup.sh @@ -2,25 +2,94 @@ # 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 ~/.xmonad +fi +if installed herbstluftwm; then + link herbstluftwm ~/.config/herbstluftwm +fi if installed X; then - # 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 - - if [ `os` != darwin ]; 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 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