summaryrefslogtreecommitdiff
path: root/user/xinit/xinitrc
diff options
context:
space:
mode:
Diffstat (limited to 'user/xinit/xinitrc')
-rw-r--r--user/xinit/xinitrc55
1 files changed, 55 insertions, 0 deletions
diff --git a/user/xinit/xinitrc b/user/xinit/xinitrc
new file mode 100644
index 000000000..7cb000966
--- /dev/null
+++ b/user/xinit/xinitrc
@@ -0,0 +1,55 @@
+#!/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
+
+# If not present, try the system default
+exec startkde
+
+# Fall back to LXQt
+exec startlxqt
+
+# Start only terminal as last resort
+exec konsole || exec qterminal || exec urxvt || exec xterm