diff --git a/data/Xsession b/data/Xsession new file mode 100755 index 0000000..d068a42 --- /dev/null +++ b/data/Xsession @@ -0,0 +1,66 @@ +#!/bin/sh +# Entrance script to launch a session. + +echo "Entrance prepare session " +# Load X profile +for filename in "/etc/profile" "/etc/xprofile" "$HOME/.profile" "$HOME/.xprofile" +do + if [ -f "${filename}" ] + then + echo "Loading X profile from ${filename}"; + . "${filename}" + fi +done + +# Load X resources +for filename in "/etc/X11/Xresources" "$HOME/.Xresources" +do + if [ -f "${filename}" ] + then + echo "Loading X resource: ${filename}" + xrdb -nocpp -merge "${filename}" + fi +done + +# Load Xkeymaps +for filename in "/etc/X11/Xkbmap" "${HOME}/.Xkbmap" +do + if [ -f "${filename}" ] + then + echo "Loading X keymap: ${filename}" + setxkbmap `cat "${filename}"` + XKB_USED=yes + fi +done + +# Load Xmodmap if no XKB used +if [ "a"${XKB_USED} = "a" ] +then + for filename in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do + if [ -f "${filename}" ] + then + echo "Loading modmap: ${filename}" + xmodmap "${filename}" + fi + done +fi + +unset XKB_IN_USE + +# Sourcing all xinitrc scripts. +xinitdir="/etc/X11/xinit/xinitrc.d" +if [ -d "${xinitdir}" ] +then + for filename in ${xinitdir}/* + do + echo "Loading Xinit script ${filename}" + if [ -x "${filename}" -a ! -d "${filename}" ] + then + . "${filename}" + fi + done +fi + +echo "X session prepare complete, now launching wm $@" + +exec $@