
--- configs/Xsession.in.orig	Sat Mar 26 14:57:04 2005
+++ configs/Xsession.in	Tue Oct 10 11:51:31 2006
@@ -1,6 +1,8 @@
-#!@SHELL_LOGIN@
+#!/bin/sh
 # @configure_input@
 # $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
+#
+# /usr/X11R6/lib/X11/wdm/Xsession : FreeBSD : mato [24-sep-2006]
 
 # This is the basic login script for a user.  Much of the logic/code
 # for selecting and invoking the window manager is in the related file
@@ -9,17 +11,16 @@
 # ~/.Xclients.
 
 # cleanup wdm resources
-        @XRDB_PATH@ -load /dev/null
-
+@XRDB_PATH@ -load /dev/null
 
 case $# in
 1)
-        case $1 in
-        failsafe)
-                exec @FAILSAFE@ -geometry 80x24-0-0
-                ;;
+        case "$1" in
+                failsafe)
+                        exec @FAILSAFE@ -geometry 80x24+0+0
+                        ;;
         esac
-        echo $1 >$HOME/.wm_style
+        echo "$1" >| "$HOME/.wm_style"
 esac
 
 # redirect errors to a file in user's home directory if we can
@@ -66,19 +67,23 @@
 #       fi
 #       exec @DMDIR@/Xclients
 
-startup=$HOME/.xsession
-resources=$HOME/.Xresources
+sysresources="/usr/X11R6/lib/X11/xinit/.Xresources"
+userresources="$HOME/.Xresources"
+
+if [ -f "$sysresources" ]; then
+        @XRDB_PATH@ -merge "$sysresources"
+fi
 
-if [ -f $resources ]; then
-        @XRDB_PATH@ -load $resources
+if [ -f "$userresources" ]; then
+        @XRDB_PATH@ -merge "$userresources"
 fi
 
-if [ -x $startup ]; then
-        exec $startup
+if [ -x "$HOME/.xsession" ]; then
+        exec "$HOME/.xsession"
 fi
 
-if [ -x $HOME/.Xclients ]; then
-        exec $HOME/.Xclients
+if [ -x "$HOME/.Xclients" ]; then
+        exec "$HOME/.Xclients"
 fi
 
 if [ -x @DMDIR@/Xclients ]; then
--- configs/Xclients.in.orig	Sat Mar 26 14:57:04 2005
+++ configs/Xclients.in	Tue Oct 10 12:31:47 2006
@@ -1,5 +1,7 @@
 #!@SHELL_LOGIN@
 # @configure_input@
+#
+# ~/.Xclients * WDM/FreeBSD * modified by martinko [23-sep-2006]
 
 ########################################################################
 # -*- sh -*-                                                           #
@@ -32,133 +34,279 @@
 	done
 }
 
+# output startup message
+Starting()
+{
+	echo "Starting $1 on `date`" >| "$xwm_msgs"
+}
+
+
+wm_style="$HOME/.wm_style"
+xwm_msgs="$HOME/.xwm.msgs"
+xrootenv="$HOME/Xrootenv.0"
 
 
 # these files are left sitting around by TheNextLevel.
-rm -f $HOME/Xrootenv.0
+rm -f "$xrootenv"
 rm -f /tmp/fvwmrc* 2>/dev/null
 
-# check for and set x-resources
-if [ -f $HOME/.Xresources ] ; then
-	@XRDB_PATH@ -merge $HOME/.Xresources
+# check for and set X-resources
+
+sysresources="/usr/X11R6/lib/X11/xinit/.Xresources"
+sysmodmap="/usr/X11R6/lib/X11/xinit/.Xmodmap"
+userresources="$HOME/.Xresources"
+usermodmap="$HOME/.Xmodmap"
+
+# merge in defaults and keymaps
+
+if [ -f "$sysresources" ]; then
+	xrdb -merge "$sysresources"
 fi
 
-if [ -f $HOME/.Xdefaults ] ; then
-	@XRDB_PATH@ -merge $HOME/.Xdefaults
+if [ -f "$sysmodmap" ]; then
+	xmodmap "$sysmodmap"
 fi
 
-WINMGR_NAME=@WINMGR_NAME@
-if test -z "$WINMGR_NAME"; then
-	WINMGR_NAME="UserDefined"
+if [ -f "$userresources" ]; then
+	xrdb -merge "$userresources"
+fi
+
+if [ -f "$usermodmap" ]; then
+	xmodmap "$usermodmap"
 fi
 
-# First thing - check the user preferences
-if [ -f $HOME/.wm_style ] ; then
-	WMSTYLE=`cat $HOME/.wm_style`
-	case "$WMSTYLE" in 
-#
-# first, a general purpose entry:
-	$WINMGR_NAME*)
-		# startup a window manager
-		WINMGR_PATH=@WINMGR_PATH@
-		if test -x "$WINMGR_PATH" ; then
-	        	echo Starting $WINMGR_NAME >$HOME/.xwm.msgs
-			exec $WINMGR_PATH >>$HOME/.xwm.msgs 2>&1
-		fi
-		;;
 
-	wmaker*|WindowMaker*)
-		# startup WindowMaker
-		WMAKER_PATH=@WMAKER_PATH@
+# First thing - check the user preferences
+if [ -f "$wm_style" ]
+then
+	WMSTYLE="`cat "$wm_style"`"
+	case "$WMSTYLE" in
+
+	wmaker*|WMaker*|WindowMaker*)
+		# startup Window Maker
+		WMAKER_PATH=wmaker
 		if ! test -x $WMAKER_PATH ; then
 			FindInPath $WMAKER_PATH
 			if test -n "$result" -a -x "$result"; then
-				WMAKER_PATH="$result";
+				WMAKER_PATH="$result"
 			fi
 		fi
-	
 		if test -x $WMAKER_PATH ; then
-			echo Starting WindowMaker >$HOME/.xwm.msgs
-			env > "$HOME"/Xrootenv.0
-			exec $WMAKER_PATH >>$HOME/.xwm.msgs 2>&1
+			Starting "Window Maker"
+			#env >| "$xrootenv"
+			exec $WMAKER_PATH >> "$xwm_msgs" 2>&1
 		fi
 		;;
 
 	afterstep*|Afterstep*|AfterStep*)
-		# we have to start up afterstep
-		AFTERSTEP_PATH=@AFTERSTEP_PATH@
+		# we have to start up AfterStep
+		AFTERSTEP_PATH=afterstep
 		if ! test -x $AFTERSTEP_PATH ; then
 			FindInPath $AFTERSTEP_PATH
 			if test -n "$result" -a -x "$result"; then
-				AFTERSTEP_PATH="$result";
+				AFTERSTEP_PATH="$result"
 			fi
 		fi
 		if [ -x $AFTERSTEP_PATH -a -f /usr/share/afterstep/wmconfig.conf ] ; then
 			mkdir -p $HOME/GNUstep/Library/AfterStep
 			wmconfig --output=afterstep --directories /usr/share/afterstep/wmconfig.conf 2>/dev/null
-			env > "$HOME"/Xrootenv.0
+			#env >| "$xrootenv"
 			# if this works, we stop here
-			eval "exec $AFTERSTEP_PATH" > "$HOME"/.AfterStep-errors 2>&1
+			eval "exec $AFTERSTEP_PATH" >| "$HOME"/.AfterStep-errors 2>&1
 		fi
 		;;
 
-	blackbox*|BlackBox)
-		# startup blackbox
-		BLACKBOX_PATH=@BLACKBOX_PATH@
+	blackbox*|Blackbox*|BlackBox*)
+		# startup Blackbox
+		BLACKBOX_PATH=blackbox
 		if ! test -x $BLACKBOX_PATH ; then
 			FindInPath $BLACKBOX_PATH
 			if test -n "$result" -a -x "$result"; then
-				BLACKBOX_PATH="$result";
+				BLACKBOX_PATH="$result"
 			fi
 		fi
 		if [ -x $BLACKBOX_PATH ] ; then
-			echo Starting BlackBox >$HOME/.xwm.msgs
-			exec $BLACKBOX_PATH >>$HOME/.xwm.msgs 2>&1
+			Starting "Blackbox"
+			#env >| "$xrootenv"
+			exec $BLACKBOX_PATH >> "$xwm_msgs" 2>&1
 		fi
 		;;
 
-	icewm*|IceWm)
-		# startup icewm
-		ICEWM_PATH=@ICEWM_PATH@
+	fluxbox*|Fluxbox*|FluxBox*)
+		# startup Fluxbox
+		FLUXBOX_PATH=startfluxbox
+		if ! test -x $FLUXBOX_PATH ; then
+			FindInPath $FLUXBOX_PATH
+			if test -n "$result" -a -x "$result"; then
+				FLUXBOX_PATH="$result"
+			fi
+		fi
+		if [ -x $FLUXBOX_PATH ] ; then
+			Starting "Fluxbox"
+			#env >| "$xrootenv"
+			exec $FLUXBOX_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	fvwm*|FVWM*)
+		# startup FVWM
+		FVWM_PATH=fvwm
+		if ! test -x $FVWM_PATH ; then
+			FindInPath $FVWM_PATH
+			if test -n "$result" -a -x "$result"; then
+				FVWM_PATH="$result"
+			fi
+		fi
+		if test -x $FVWM_PATH ; then
+			Starting "FVWM"
+			#env >| "$xrootenv"
+			exec $FVWM_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	fvwm2*|FVWM2*)
+		# startup FVWM2
+		FVWM2_PATH=fvwm2
+		if ! test -x $FVWM2_PATH ; then
+			FindInPath $FVWM2_PATH
+			if test -n "$result" -a -x "$result"; then
+				FVWM2_PATH="$result"
+			fi
+		fi
+		if test -x $FVWM2_PATH ; then
+			Starting "FVWM2"
+			#env >| "$xrootenv"
+			exec $FVWM2_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	fvwm95*|FVWM95*)
+		# startup FVWM95
+		FVWM95_PATH=fvwm95
+		if ! test -x $FVWM95_PATH ; then
+			FindInPath $FVWM95_PATH
+			if test -n "$result" -a -x "$result"; then
+				FVWM95_PATH="$result"
+			fi
+		fi
+		if test -x $FVWM95_PATH ; then
+			Starting "FVWM95"
+			#env >| "$xrootenv"
+			exec $FVWM95_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	icewm*|IceWm*|IceWM*)
+		# startup IceWM
+		ICEWM_PATH=icewm
 		if ! test -x $ICEWM_PATH ; then
 			FindInPath $ICEWM_PATH
 			if test -n "$result" -a -x "$result"; then
-				ICEWM_PATH="$result";
+				ICEWM_PATH="$result"
 			fi
 		fi
 		if [ -x $ICEWM_PATH ] ; then
-			echo Starting icewm >$HOME/.xwm.msgs
-			exec $ICEWM_PATH >>$HOME/.xwm.msgs 2>&1
+			Starting "IceWM"
+			#env >| "$xrootenv"
+			exec $ICEWM_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	twm*|TWM*)
+		# startup TWM
+		TWM_PATH=twm
+		if ! test -x $TWM_PATH ; then
+			FindInPath $TWM_PATH
+			if test -n "$result" -a -x "$result"; then
+				TWM_PATH="$result"
+			fi
+		fi
+		if test -x $TWM_PATH ; then
+			Starting "TWM"
+			#env >| "$xrootenv"
+			exec $TWM_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	xfce*|Xfce*|XFce*|XFCE*)
+		# startup Xfce
+		XFCE_PATH=startxfce4
+		if ! test -x $XFCE_PATH ; then
+			FindInPath $XFCE_PATH
+			if test -n "$result" -a -x "$result"; then
+				XFCE_PATH="$result"
+			fi
+		fi
+		if test -x $XFCE_PATH ; then
+			Starting "Xfce"
+			#env >| "$xrootenv"
+			exec $XFCE_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	gnome*|Gnome*)
+		# startup Gnome
+		GNOME_PATH=gnome-session
+		if ! test -x $GNOME_PATH ; then
+			FindInPath $GNOME_PATH
+			if test -n "$result" -a -x "$result"; then
+				GNOME_PATH="$result"
+			fi
+		fi
+		if test -x $GNOME_PATH ; then
+			Starting "Gnome"
+			#env >| "$xrootenv"
+			exec $GNOME_PATH >> "$xwm_msgs" 2>&1
+		fi
+		;;
+
+	startkde*|kde*|KDE*)
+		# startup KDE
+		STARTKDE_PATH=startkde
+		if ! test -x $STARTKDE_PATH ; then
+			FindInPath $STARTKDE_PATH
+			if test -n "$result" -a -x "$result"; then
+				STARTKDE_PATH="$result"
+			fi
+		fi
+		if [ -x $STARTKDE_PATH ] ; then
+			Starting "KDE"
+			#env >| "$xrootenv"
+			exec $STARTKDE_PATH -console >> "$xwm_msgs" 2>&1
 		fi
 		;;
 
 	xsession*|Xsession*)
 		# startup xsession
-		XSESSION_PATH=@XSESSION_PATH@
+		XSESSION_PATH=xsession
 		if ! test -x $XSESSION_PATH ; then
 			FindInPath $XSESSION_PATH
 			if test -n "$result" -a -x "$result"; then
-				XSESSION_PATH="$result";
+				XSESSION_PATH="$result"
 			fi
 		fi
 		if [ -x $XSESSION_PATH ] ; then
-			echo Starting xsession >$HOME/.xwm.msgs
-			exec $XSESSION_PATH -console >>$HOME/.xwm.msgs 2>&1
+			Starting "xsession"
+			#env >| "$xrootenv"
+			exec $XSESSION_PATH -console >> "$xwm_msgs" 2>&1
 		fi
 		;;
 
-	startkde*|kde*|KDE*)
-		# startup kde
-		STARTKDE_PATH=@STARTKDE_PATH@
-		if ! test -x $STARTKDE_PATH ; then
-			FindInPath $STARTKDE_PATH
+	# last, a general purpose entry:
+	*)
+		# try and startup a window manager
+		WINMGR_NAME="$WMSTYLE"
+		WINMGR_PATH="$WMSTYLE"
+		if ! test -x $WINMGR_PATH ; then
+			FindInPath $WINMGR_PATH
 			if test -n "$result" -a -x "$result"; then
-				STARTKDE_PATH="$result";
+				WINMGR_PATH="$result"
 			fi
 		fi
-		if [ -x $STARTKDE_PATH ] ; then
-			echo Starting kde >$HOME/.xwm.msgs
-			exec $STARTKDE_PATH -console >>$HOME/.xwm.msgs 2>&1
+		if test -x "$WINMGR_PATH" ; then
+	        	Starting "$WINMGR_NAME"
+			#env >| "$xrootenv"
+			exec $WINMGR_PATH >> "$xwm_msgs" 2>&1
 		fi
 		;;
     esac
@@ -186,16 +334,16 @@
 # with both fvwm95 and fvwm2
 # (try fvwm95 first, then fvwm2).
 for FVWMVER in 95 95-2 2; do
-    if [ -n "$(type -path fvwm${FVWMVER})" ]; then
-        env > "$HOME"/Xrootenv.0
+    if [ -n "`type -path fvwm${FVWMVER}`" ]; then
+        #env >| "$xrootenv"
         # if this works, we stop here
-        eval "exec fvwm${FVWMVER} ${FVWMOPTIONS}" > "$HOME"/.FVWM${FVWMVER}-errors 2>&1
+        eval "exec fvwm${FVWMVER} ${FVWMOPTIONS}" >| "$HOME"/.FVWM${FVWMVER}-errors 2>&1
     fi
 done
 
 # gosh, neither fvwm95 nor fvwm2 is available;
 # let's try regular fvwm (AnotherLevel doesn't work with fvwm1).
-if [ -n "$(type -path fvwm)" ]; then
+if [ -n "`type -path fvwm`" ]; then
     # if this works, we stop here
     exec fvwm
 fi
--- configs/KillConsole.orig	Tue Oct 10 13:04:27 2006
+++ configs/KillConsole	Tue Oct 10 13:01:47 2006
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# /usr/X11R6/lib/X11/wdm/KillConsole * mato [10-oct-2006]
+#
+# Kill xconsole process started before the Login window.
+#
+pkill xconsole || true

