X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=xinitrc;h=696230a455b997b61d9a7d669e767c85ac7a51bf;hb=162e2229a9fec492d8c7dcfaa11f66dd3bc2930c;hp=127683d5992c59c820aa745a4edfc5b1721acbdb;hpb=272053303a40c6fc2397452eb4e1bd3d89d627c0;p=config%2Fdotfiles.git diff --git a/xinitrc b/xinitrc index 127683d..696230a 100755 --- a/xinitrc +++ b/xinitrc @@ -2,7 +2,7 @@ # startx configuration file. -# Copyright (C) 2011-2012 Simon Ruderich +# Copyright (C) 2011-2013 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 @@ -21,10 +21,22 @@ # Some systems don't set the LANG environment variable when starting xinitrc, # this causes problems for rxvt-unicode-256color which fails to display UTF-8 # characters correctly when LANG is missing and for notify.py which also needs -# LANG set (for Python's decode() function). Therefore set it here, might be -# overwritten by shell setup scripts. -LANG=en_US.UTF-8 -export LANG +# LANG set (for Python's decode() function). Therefore load my general shell +# environment which also includes $LANG. +if test -f "$HOME/.shell/env"; then + # Debug function used in ~/.shell/env. + source_debug() { + # Do nothing. + : + } + + . "$HOME/.shell/env" +fi + + +installed() { + type "$1" >/dev/null 2>&1 +} # Start ssh-agent if we have private keys, thanks to @@ -32,14 +44,14 @@ export LANG if test -x /usr/bin/ssh-agent && test -f "$HOME/.ssh/id_rsa"; then # -s to force bourne shell output. This file is a bourne shell script even # if the environment might suggest otherwise. - eval `/usr/bin/ssh-agent -s` + eval `/usr/bin/ssh-agent -s` >/dev/null fi # Use a black background for the root window. xsetroot -solid black # Force English keyboard layout. -if test -x /usr/bin/setxkbmap; then +if installed setxkbmap; then setxkbmap us fi @@ -56,19 +68,30 @@ fi # Change the background if available. if test -f "$HOME/.background" && test -n "$set_background"; then - if test -x /usr/bin/hsetroot; then + if installed hsetroot; then hsetroot -full "$HOME/.background" - elif test -x /usr/bin/feh; then + elif installed feh; then feh --bg-scale "$HOME/.background" + # Remove the unnecessary ~/.fehbg file created by `feh`. I don't want + # to restore the background, I just run `feh` on each startx run. + # --no-fehbg is only available in recent feh releases. + rm -f "$HOME/.fehbg" fi fi # Display timed reminders and recheck the file for changes every minute (-z1). -if test -x /usr/bin/remind && test -f "$HOME/.reminders"; then +if installed remind && test -f "$HOME/.reminders"; then remind -z1 -k'.shell/bin/notify.py %s &' "$HOME/.reminders" & fi -# Start XMonad. -xmonad +# Set color temperature of display according to time of day. +if installed redshift; then + redshift -l 49.9:10.9 -t 5500:4500 >/dev/null & +fi + -# vim: ft=sh +# XMonad doesn't start a terminal emulator on its own, start one when I login. +(urxvt || rxvt || xterm) & + +# Start window manager. +xmonad