X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;ds=sidebyside;f=xinitrc;h=387614d1288a7d079fcfa7a7418c8a31f7f490a5;hb=7e67171f8481db2487eac3aab41fe7771bc2e1d8;hp=ccc2b7d62938f40ef889ea94fad69f9a35949082;hpb=5aea6258d6cd8778fb10ef77ea707582fc56312f;p=config%2Fdotfiles.git diff --git a/xinitrc b/xinitrc index ccc2b7d..387614d 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 @@ -42,7 +42,7 @@ error() { xmessage "$@" & else # Log message to a file which is displayed by my Zsh setup on startup. - echo "$*" >> "$HOME/.xinitrc.errors" + printf '%s\n' "$*" >>"$HOME/.xinitrc.errors" fi } # Save PID of the most recently started background process. Used to terminate @@ -92,8 +92,8 @@ if installed setxkbmap; then setxkbmap us fi -# Use the Caps lock as Ctrl because it easier to reach and very useful for all -# programs. Caps lock is removed completely. Thanks to +# Use the Caps lock as Ctrl because it's easier to reach and very useful for +# all programs. Caps lock is removed completely. Thanks to # http://snarfed.org/space/switch%20control%20and%20caps%20lock if xmodmap | grep -E '^lock.*Caps_Lock' >/dev/null; then xmodmap -e 'remove Lock = Caps_Lock' @@ -105,6 +105,9 @@ fi # necessary because of my German keyboard which I use with English settings. xmodmap -e 'keycode 94 = grave asciitilde' +# Disable annoying audio bell. Thanks to Sebastian Rachuj. +xset b off + # Change the background if available. if test -f "$HOME/.background" && test -n "$set_background"; then if installed hsetroot; then @@ -142,11 +145,30 @@ elif test -n "$screen_lock_force"; then 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. -xmonad +failed= +if installed herbstluftwm; then + herbstluftwm --locked >~/.config/herbstluftwm/log 2>&1 || failed=1 +elif installed xmonad; then + xmonad || failed=1 +elif installed stumpwm; then + stumpwm || failed=1 +else + 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 # Cleanup.