]> git.donarmstrong.com Git - x_base.git/blob - .xsession
remove disk; use blank for down
[x_base.git] / .xsession
1 #!/bin/sh
2
3 echo "Starting new session"
4
5 DATE=$(date "+%Y%m%d_%H%M%S")
6 # track xsession errors
7 mv ~/.xsession-errors ~/.xsession-errors_${DATE};
8 ln -sf ~/.xsession-errors_${DATE} ~/.xsession-errors-current;
9 # delete old xsession error files
10 find ~/ -maxdepth 1 -mindepth 1 -type f \
11     -iname '.xsession-errors*' -ctime +30 -delete;
12
13 if locale -a |grep -qi en_US.utf8; then
14     LANG="en_US.UTF-8"
15 else
16     LANG=C
17 fi;
18 export LANG
19
20 HOSTNAME=$(hostname)
21
22 if [ -d ~/tmp ]; then
23    export TMPDIR=$(echo ~/tmp)
24 fi;
25
26 # No clue why this has changed from Alt_R to Down, but we really want Down.
27 if ! xmodmap -pk|grep -qe '116.*Down'; then
28     xmodmap -e 'keycode 116 = Super_L'
29     xmodmap -e 'keycode 115 = Multi_key'
30 fi;
31 xmodmap -e 'clear mod4'
32 xmodmap -e 'add mod4 = Super_L Super_R'
33
34 if [ -e ~/.Xresources_$HOSTNAME ]; then
35     xrdb -merge < ~/.Xresources_$HOSTNAME;
36 fi;
37
38 if [ -e ~/.xsession_$HOSTNAME ]; then
39     . ~/.xsession_$HOSTNAME
40 fi;
41
42 # make a backup of the .Xauthority
43 if [ -e ~/.Xauthority ]; then
44     cp -f .Xauthority .Xauthority.bak
45 fi
46
47 if [ -x /usr/bin/xscreensaver -a -e ~/.xscreensaver ]; then
48     ( XENVIRONMENT=~/.xscreensaver /usr/bin/xscreensaver >/dev/null 2>&1 &)
49 elif [ -x /usr/bin/xautolock ]; then
50     (/usr/bin/xautolock -notifier true -bell 0 >/de/vnull 2>&1 &)
51 fi;
52
53 if which redshift >/dev/null 2>&1; then
54     (redshift -l 40.11059:-88.20727 >/dev/null 2>&1 &)
55 fi;
56
57 if which mpd >/dev/null 2>&1 && [ -e ~/.mpdconf ]; then
58     (mpd >/dev/null 2>&1 &);
59     MPD_HOST=$(awk '/^bind_to_address/{print $2}' ~/.mpdconf|sed "s|~|$HOME|; s/^\"//; s/\"$//; ");
60     export MPD_HOST;
61 fi;
62
63 if [ -x /usr/bin/i3 ]; then
64     if [ -x ~/.config/i3/build_config.sh ]; then
65         ~/.config/i3/build_config.sh;
66     fi;
67     exec /usr/bin/i3;
68 elif [ -x /usr/bin/awesome ]; then
69     exec /usr/bin/awesome;
70 elif [ -x /usr/bin/ion3 ]; then
71     exec /usr/bin/ion3;
72 elif [ -x /usr/bin/openbox ]; then
73         exec /usr/bin/openbox;
74 elif [ -x /usr/bin/rxvt ]; then
75         exec /usr/bin/rxvt;
76 elif [ -x /usr/bin/rxvt-unicode ]; then
77         exec /usr/bin/rxvt-unicode;
78 elif [ -x /usr/bin/xterm ]; then
79         exec /usr/bin/xterm;
80 else
81      # we're screwed.
82      sleep 2s;
83 fi;