aboutsummaryrefslogtreecommitdiffstats
path: root/x11/xinit/xinitrc
diff options
context:
space:
mode:
Diffstat (limited to 'x11/xinit/xinitrc')
-rw-r--r--x11/xinit/xinitrc57
1 files changed, 48 insertions, 9 deletions
diff --git a/x11/xinit/xinitrc b/x11/xinit/xinitrc
index a5a3527135..0055713592 100644
--- a/x11/xinit/xinitrc
+++ b/x11/xinit/xinitrc
@@ -1,10 +1,49 @@
#!/bin/sh
-#
-# ~/.xinitrc
-#
-# Executed by startx (run your window manager from here)
-
-# exec gnome-session
-# exec startkde
-# exec startxfce4
-# ...or the Window Manager of your choice
+# $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 not present, try the system default
+exec startxfce4
+
+
+# Fall back to fluxbox
+exec startfluxbox
+
+# Start only terminal as last resort
+exec terminal || exec aterm