aboutsummaryrefslogtreecommitdiffstats
path: root/main/xinit/xinitrc
blob: 0c4f8944d9164f223dd42e543a9f95dd2ac74f02 (plain) (blame)
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
#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
xinitdir=/etc/X11
sysresources=$xinitdir/Xresources
sysmodmap=$xinitdir/Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# First try ~/.xinitrc
if [ -f "$HOME/.xinitrc" ]; then
	XINITRC="$HOME/.xinitrc"
	if [ -x $XINITRC ]; then
		# if the x bit is set on .xinitrc
		# it means the xinitrc is not a
		# shell script but something else
		exec $XINITRC "$@"
	else
		exec /bin/sh "$HOME/.xinitrc" "$@"
	fi
fi

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
	for f in /etc/X11/xinit/xinitrc.d/?* ; do
		[ -x "$f" ] && . "$f"
	done
	unset f
fi

for p in startxfce4 startfluxbox xfce4-terminal \
		mrxvt urxvt st xterm; do
	command -v "$p" >/dev/null && exec "$p"
done