summaryrefslogtreecommitdiff
path: root/xinitrc
blob: 161eb49b5ce018ab30f5d6e5983c46f597374565 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/bin/sh
#
# anrxc's X.org init file on Arch GNU/Linux


# {{{ Environment settings
#
export OOO_FORCE_DESKTOP="gnome"
errorlog="$HOME/.xsession-errors"
gnupglog="$HOME/.gnupg/gpg-agent.info"
# }}}


# {{{ Log settings
#
# Always start X11 with a clean log file
if ( cp /dev/null "$errorlog" 2>/dev/null ); then
  chmod 600 "$errorlog"
  exec >"$errorlog" 2>&1
  break
fi
# }}}


# {{{ Display settings
#
# Ignore reported display size and force DPI
#/usr/bin/xrandr --dpi 96

# Force LVDS as the primary screen
#/usr/bin/xrandr --output LVDS1 --primary
# }}}


# {{{ Resource and keymap settings
usermodmap="$HOME/.Xmodmap"
userresources="$HOME/.Xresources"
sysmodmap="/etc/X11/xinit/.Xmodmap"
sysresources="/etc/X11/xinit/.Xresources"

# Merge system and user resources and keymaps
[ -f $sysresources ]  && /usr/bin/xrdb -merge $sysresources
[ -f $sysmodmap ]     && /usr/bin/xmodmap $sysmodmap
[ -f $userresources ] && /usr/bin/xrdb -merge $userresources
[ -f $usermodmap ]    && /usr/bin/xmodmap $usermodmap
# }}}


# {{{ Input settings
# 
# Keyboard control, repeat delay and repeat rate
/usr/bin/xset r rate 200 30

# Pointer control, acceleration and threshold
#/usr/bin/xset m 30/10 4

# Pointer appearance
#   - xcb does not support Xcursor yet
/usr/bin/xsetroot -cursor_name left_ptr

# Fix broken HAL key mappings
#  - Lock key, Presentation key, Sync key
/usr/bin/sudo /usr/bin/setkeycodes e06e 152
/usr/bin/sudo /usr/bin/setkeycodes e075 217
/usr/bin/sudo /usr/bin/setkeycodes e079 173
#  - Euro key, Dollar key
/usr/bin/sudo /usr/bin/setkeycodes e033 159
/usr/bin/sudo /usr/bin/setkeycodes e034 151
# }}}


# {{{ Autostart settings
#
# Play a startup sound
/usr/bin/ogg123 -q "$HOME/.fvwm/sounds/Dream/Startup.ogg" &

# Start the GnuPG agent and enable OpenSSH agent emulation
if ( /bin/pidof gpg-agent >/dev/null ); then
  eval "$(cat $gnupglog)"
  eval "$(cut -d= -f1 $gnupglog | xargs echo export)"
else
  eval "$(gpg-agent --enable-ssh-support --daemon)"
fi

# Start the GNU Emacs daemon
[ -e "/tmp/emacs$UID/server" ] || /usr/bin/emacs --daemon &

# Xwrits reminds you to take wrist breaks and avoid RSI
/usr/bin/xwrits typetime=45 clock breakclock top ready-picture="$HOME/.xwrits/ready.gif" \
  rest-picture="$HOME/.xwrits/rest.gif" warning-picture="$HOME/.xwrits/warning.gif" &

# Open a terminal emulator on the first tag
#   - resume the old screen session or start a new one
/usr/bin/urxvt -e screen -l -UDRS term &
# }}}


# {{{ Window manager selection
case $1 in
  twm)
    exec twm
    ;;
  fvwm)
    exec fvwm2
    ;;
  kde)
    exec startkde
    ;;
  *)
    exec awesome
    ;;
esac
# }}}