aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/Xsession108
-rwxr-xr-xsbin/fndSession97
2 files changed, 184 insertions, 21 deletions
diff --git a/sbin/Xsession b/sbin/Xsession
new file mode 100644
index 0000000..a83a953
--- /dev/null
+++ b/sbin/Xsession
@@ -0,0 +1,108 @@
+#!/bin/bash -login
+# (c) 1999 Red Hat Software, Inc.
+# Modification for Linux-Mandrake by Chmouel Boudjnah <chmouel@mandraksoft.com>
+
+xsetroot -solid #356390
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
+do
+if ( cp /dev/null "$errfile" 2> /dev/null )
+then
+chmod 600 "$errfile"
+exec > "$errfile" 2>&1
+break
+fi
+done
+
+# clean up after xbanner
+if [ -f /usr/X11R6/bin/freetemp ]; then
+freetemp
+fi
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
+sysmodmap=/usr/X11R6/lib/X11/xinit/.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
+
+# now, we see if xdm/gdm/kdm has asked for a specific environment
+case $# in
+1)
+case $1 in
+KDE)
+exec startkde
+;;
+Gnome)
+exec gnome-session
+;;
+AfterStep)
+exec /usr/X11R6/bin/afterstep
+;;
+AnotherLevel)
+# we assume that switchdesk is installed.
+exec /usr/share/apps/switchdesk/Xclients.anotherlevel
+;;
+BlackBox)
+exec /usr/X11R6/bin/bbdrake
+;;
+# Work but some end users don't understant how it works. So, we disable it.
+#BlackBox/KDE)
+#exec /usr/X11R6/bin/bbdrake_kde
+#;;
+Enlightenment)
+exec /usr/bin/enlightenment
+;;
+FVWM)
+exec /usr/X11R6/bin/fvwm
+;;
+FVWM2)
+exec /usr/X11R6/bin/fvwm2
+;;
+IceWM)
+exec /usr/X11R6/bin/icewm
+;;
+MWM)
+exec /usr/X11R6/mwm
+;;
+WindowMaker)
+[ -f $HOME/GNUstep/Defaults/WindowMaker ] || {
+/usr/X11R6/bin/wmaker.inst --batch
+}
+exec /usr/X11R6/bin/wmaker
+;;
+XFCE)
+exec /usr/X11R6/bin/xfwm
+;;
+FailSafe)
+exec xterm -geometry 80x24-0-0
+;;
+esac
+esac
+
+# otherwise, take default action
+if [ -x "$HOME/.xsession" ]; then
+exec "$HOME/.xsession"
+elif [ -x "$HOME/.Xclients" ]; then
+exec "$HOME/.Xclients"
+elif [ -x /etc/X11/xinit/Xclients ]; then
+exec /etc/X11/xinit/Xclients
+else
+exec xsm
+fi
diff --git a/sbin/fndSession b/sbin/fndSession
index 23c142c..6cbcb1e 100755
--- a/sbin/fndSession
+++ b/sbin/fndSession
@@ -3,65 +3,120 @@
# Chmouel Boudjnah <chmouel@mandrakesoft.com>
LIST="SessionTypes"
-TMP=`mktemp /tmp/.kdm.XXXXXX`
[ -x /usr/bin/kde ] && {
-LIST="$LIST=kde"; FIRST=yes
+LIST="$LIST=KDE"; FIRST=yes
}
[ -x /usr/bin/gnome-session ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;gnome"
+ LIST="$LIST;Gnome"
else
- LIST="$LIST=gnome"
+ LIST="$LIST=Gnome"
FIRST="yes"
fi
}
+
+[ -x /usr/X11R6/bin/afterstep ] && {
+ if [ "$FIRST" = "yes" ];then
+ LIST="$LIST;AfterStep"
+ else
+ LIST="$LIST=AfterStep"
+ FIRST="yes"
+ fi
+}
+
+
[ -e /usr/share/apps/switchdesk/Xclients.anotherlevel ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;anotherlevel"
+ LIST="$LIST;AnotherLevel"
else
- LIST="$LIST=anotherlevel"
+ LIST="$LIST=AnotherLevel"
FIRST="yes"
fi
}
-[ -x /usr/X11R6/bin/wmaker ] && {
+[ -x /usr/X11R6/bin/bbdrake ] && {
+ if [ "$FIRST" = "yes" ] ; then
+ LIST="$LIST;BlackBox"
+ FIRST="yes"
+ fi
+}
+
+# Work but some end users don't understant how it works. So, we disable it.
+#[ -x /usr/X11R6/bin/bbdrake_kde ] && {
+# if [ "$FIRST" = "yes" ] ; then
+# LIST="$LIST;BlackBox/KDE"
+# FIRST="yes"
+# fi
+#}
+
+[ -x /usr/bin/enlightenment ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;WindowMaker"
+ LIST="$LIST;Enlightenment"
else
- LIST="$LIST=WindowMaker"
+ LIST="$LIST=Enlightenment"
FIRST="yes"
fi
}
-[ -x /usr/X11R6/bin/afterstep ] && {
+
+[ -x /usr/X11R6/bin/fvwm ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;AfterStep"
+ LIST="$LIST;FVWM"
else
- LIST="$LIST=AfterStep"
+ LIST="$LIST=FVWM"
FIRST="yes"
fi
}
+
+[ -x /usr/X11R6/bin/fvwm2 ] && {
+ if [ "$FIRST" = "yes" ];then
+ LIST="$LIST;FVWM2"
+ else
+ LIST="$LIST=FVWM2"
+ FIRST="yes"
+ fi
+}
+
[ -x /usr/X11R6/bin/icewm ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;Icewm"
+ LIST="$LIST;IceWM"
else
- LIST="$LIST=Icewm"
+ LIST="$LIST=IceWM"
FIRST="yes"
fi
}
-[ -x /usr/bin/xfce ] && {
+
+[ -x /usr/X11R6/bin/mwm ] && {
+ if [ "$FIRST" = "yes" ];then
+ LIST="$LIST;MWM"
+ else
+ LIST="$LIST=MWM"
+ FIRST="yes"
+ fi
+}
+
+[ -x /usr/X11R6/bin/wmaker ] && {
+ if [ "$FIRST" = "yes" ];then
+ LIST="$LIST;WindowMaker"
+ else
+ LIST="$LIST=WindowMaker"
+ FIRST="yes"
+ fi
+}
+
+[ -x /usr/X11R6/bin/startxfce ] && {
if [ "$FIRST" = "yes" ];then
- LIST="$LIST;Xfce"
+ LIST="$LIST;XFCE"
else
- LIST="$LIST=Xfce"
+ LIST="$LIST=XFCE"
FIRST="yes"
fi
}
if [ $FIRST = "yes" ];then
- LIST="$LIST;default;failsafe;"
+ LIST="$LIST;default;FailSafe;"
else
- LIST="$LIST=default;failsafe;"
+ LIST="$LIST=default;DailSafe;"
fi
-sed "s/^SessionTypes.*/"$LIST"/" /usr/share/config/kdmrc > $TMP && \
-mv $TMP /usr/share/config/kdmrc
+sed "s/^SessionTypes.*/"$LIST"/" /usr/share/config/kdmrc > /tmp/$$.kdmrc && \
+mv /tmp/$$.kdmrc /usr/share/config/kdmrc