Added away-actions
[tpope-extra.git] / bin / gamelaunch
1 #!/bin/sh
2 # Author: Tim Pope
3
4 # Launches a game.  Works both on $1 (an argument) and $0 (the actually name
5 # of the script, presumably a symlink).  Takes care of killing troublemaking
6 # games, pausing unclutter, remapping the keyboard, and setting an away
7 # message.
8
9 pkill -INT `basename $0`-bin
10 pkill -INT ut2003-bin
11 pkill -INT ut2004-bin
12 sleep 1
13 pkill -9 `basename $0`-bin
14 sync
15 [ "$DISPLAY" = "127.0.0.1:7.0" ] && DISPLAY=:1.0
16
17 #[ -f "$HOME/.activity" ] && mv "$HOME/.activity" "$HOME/.activity.$$.bak"
18 tpope activity > "$HOME/.activity.$$.bak"
19 #echo "Playing `basename $0`" > "$HOME/.activity"
20 echo "Playing `basename $0`"|tpope activity -
21
22 setxkbmap us
23 xmodmap "$HOME/.Xmodmap" || xmodmap "$HOME/.xmodmap"
24 pkill -STOP unclutter
25
26 xmodmap -e "keysym Super_L = F13"
27 xmodmap -e "keysym Hyper_L = F14"
28 xmodmap -e "keysym Super_R = F15"
29
30 for suffix in '_demo' '-demo' 'demo' ''; do
31     [ -x "/usr/local/bin/`basename $0`$suffix" ] && \
32         binary=/usr/local/bin/`basename $0`$suffix
33 done
34
35 if [ "`basename $0`" = gamelaunch ]; then
36     binary="$1"
37     shift
38 fi
39
40 $binary "$@" 2>&1 | tee "$HOME/.`basename $binary`.log"
41
42 pkill -CONT unclutter
43 setxkbmap us
44 xmodmap "$HOME/.Xmodmap" || xmodmap "$HOME/.xmodmap"
45
46 #rm -f "$HOME/.activity"
47 #[ -f "$HOME/.activity.$$.bak" ] && mv "$HOME/.activity.$$.bak" "$HOME/.activity"
48 cat "$HOME/.activity.$$.bak"|tpope activity -
49 rm -f "$HOME/.activity.$$.bak"