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