X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=xinitrc;h=0f32482e01fd451b21774911b4717cb5c1779c82;hb=1cd38c8dac0b5a26375788bb7ffe5e7a18945fa2;hp=a36ab94378cb4bfd559ae4b950d993d1cbf56bb8;hpb=02c9aabce7f4c128923de9f09a4190eb30d7a6cd;p=config%2Fdotfiles.git diff --git a/xinitrc b/xinitrc index a36ab94..0f32482 100755 --- a/xinitrc +++ b/xinitrc @@ -2,7 +2,7 @@ # startx configuration file. -# Copyright (C) 2011-2013 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 @@ -108,6 +108,9 @@ xmodmap -e 'keycode 94 = grave asciitilde' # Disable annoying audio bell. Thanks to Sebastian Rachuj. xset b off +# Load settings for programs. Xdefaults is deprecated. +xrdb ~/.Xresources + # Change the background if available. if test -f "$HOME/.background" && test -n "$set_background"; then if installed hsetroot; then @@ -144,20 +147,39 @@ elif test -n "$screen_lock_force"; then error "'xautolock' not found. Auto lock won't work!" fi +# Use compton to get transparent windows. See ~/.Xresources for configuration +# of urxvt. +if installed compton; then + compton & +# xcompmgr as fallback. +elif installed xcompmgr; then + xcompmgr & +fi + -# XMonad doesn't start a terminal emulator on its own, start one when I login. +# My window managers doesn't start a terminal emulator on its own, start one +# when I login. (urxvt || rxvt || xterm) & # Start window manager. +failed= if installed herbstluftwm; then - herbstluftwm --locked + herbstluftwm --locked >~/.config/herbstluftwm/log 2>&1 || failed=1 elif installed xmonad; then - xmonad + xmonad || failed=1 elif installed stumpwm; then - stumpwm + stumpwm || failed=1 else - error 'no window manager found (sleeping for 3600 seconds)' - sleep 3600 + failed='no window manager found' +fi +# Fallback in case my window manager failed to start. Otherwise X terminates +# the session immediately (because xinitrc finishes). +if test -n "$failed"; then + if test x"$failed" = x1; then + failed='failed to start window manager' + fi + error "$failed (spawning fallback terminal)" + urxvt || rxvt || xterm fi