]> git.donarmstrong.com Git - x_base.git/blob - .xsession
add mpc stop/toggle/pause
[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 mopidy >/dev/null 2>&1 && [ -e ~/.config/mopidy/mopidy.conf ]; then
58     (mopidy > /dev/null 2>&1 & );
59 elif which mpd >/dev/null 2>&1 && [ -e ~/.mpdconf ]; then
60     (mpd >/dev/null 2>&1 &);
61     MPD_HOST=$(awk '/^bind_to_address/{print $2}' ~/.mpdconf|sed "s|~|$HOME|; s/^\"//; s/\"$//; ");
62     export MPD_HOST;
63 fi;
64
65 if [ -x /usr/bin/i3 ]; then
66     if [ -x ~/.config/i3/build_config.sh ]; then
67         ~/.config/i3/build_config.sh;
68     fi;
69     exec /usr/bin/i3;
70 elif [ -x /usr/bin/awesome ]; then
71     exec /usr/bin/awesome;
72 elif [ -x /usr/bin/ion3 ]; then
73     exec /usr/bin/ion3;
74 elif [ -x /usr/bin/openbox ]; then
75         exec /usr/bin/openbox;
76 elif [ -x /usr/bin/rxvt ]; then
77         exec /usr/bin/rxvt;
78 elif [ -x /usr/bin/rxvt-unicode ]; then
79         exec /usr/bin/rxvt-unicode;
80 elif [ -x /usr/bin/xterm ]; then
81         exec /usr/bin/xterm;
82 else
83      # we're screwed.
84      sleep 2s;
85 fi;