From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Oct 10 11:20:36 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7CBBD16A40F for ; Tue, 10 Oct 2006 11:20:36 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22DAF43D6A for ; Tue, 10 Oct 2006 11:20:20 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k9ABKKNA015675 for ; Tue, 10 Oct 2006 11:20:20 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k9ABKKM8015674; Tue, 10 Oct 2006 11:20:20 GMT (envelope-from gnats) Resent-Date: Tue, 10 Oct 2006 11:20:20 GMT Resent-Message-Id: <200610101120.k9ABKKM8015674@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, martinko Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B30716A4A0 for ; Tue, 10 Oct 2006 11:13:57 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id B28F643D45 for ; Tue, 10 Oct 2006 11:13:56 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k9ABDuJm099576 for ; Tue, 10 Oct 2006 11:13:56 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k9ABDt4D099575; Tue, 10 Oct 2006 11:13:55 GMT (envelope-from nobody) Message-Id: <200610101113.k9ABDt4D099575@www.freebsd.org> Date: Tue, 10 Oct 2006 11:13:55 GMT From: martinko To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.0 Cc: Subject: ports/104255: Unable to change window manager after the first selection/login. X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Oct 2006 11:20:36 -0000 >Number: 104255 >Category: ports >Synopsis: Unable to change window manager after the first selection/login. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Oct 10 11:20:19 GMT 2006 >Closed-Date: >Last-Modified: >Originator: martinko >Release: FreeBSD 6.2-PRERELEASE >Organization: >Environment: FreeBSD mb-aw1n-bsd 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Sat Sep 23 10:05:07 CEST 2006 root@mb-aw1n-bsd:/usr/obj/usr/src/sys/MB-AW1N i386 >Description: A bug in Xsession makes it impossible (under certain circumstances) for a user to change window manager for new session. Other amendments and enhancements are part of this delivery, too. For details please see description/discussion below. --- On Sat, Oct 07, 2006 at 08:35:59PM +0200, "mato" wrote: > > Soeren, > > > > I haven't received any response from you to my latest email, yet. > > I guess you've either been busy or my mail server failed me again. I'm sorry i've been busy lately, but your not forgotten > > > > Either way, I've made some changes to the files which I'm sending to you. Hi can i get you to send a pr with these files? Since that is the right way to do it. > > Here's what I've done: > > > > In /usr/X11R6/lib/X11/wdm/Xsession: > > > > - I changed bash to sh(1). > > - I quoted some variables. > > - I changed ">" to ">|" in order to force overwriting of .wm_style. > > - I amended sourcing of X11 resources and start-up code. [Based on > > original X11 code.] > > > > In /usr/X11R6/lib/X11/wdm/Xclients: > > > > - I changed some bash constructs/syntax to sh(1) > > - I double checked Xrootenv.0 stuff and commented it out. > > - I quoted some variables. > > - I got rid off the original WINMGR_* stuff (which was not used at all) > > and transformed it to something useful. > > - I amended sourcing of X11 resources. [This we do actually twice now > > (!) but I'm not sure where it should be left/done. Well, better twice > > than never.] > > - I expanded case selectors. > > - I refactored some of the code. [Except for Afterstep part which I > > wasn't sure about.] > > > > I believe the changes made improves the quality of the code as well as > > user experience and I hope you would agree. Should anything be not > > clear, please let me know. > > > > With regards, > > > > Martin > > > > :mato: wrote: >How-To-Repeat: Add "set -o noclobber" into your .bashrc file and you won't be able to change window manager after initial selection on login. For other "issues" pls read description above. Thanks. >Fix: Output redirection must force file overwriting in Xsession. And there are actually a couple of other places where this needs to be fixed in both Xsession and Xclients. Please apply attached patches. NOTE: I am sorry but I was not able to figure out how to substitute the following hardcoded paths with autoconf @*@ stuff: Xclients.in:sysresources="/usr/X11R6/lib/X11/xinit/.Xresources" Xclients.in:sysmodmap="/usr/X11R6/lib/X11/xinit/.Xmodmap" Xsession.in:sysresources="/usr/X11R6/lib/X11/xinit/.Xresources" Patch attached with submission follows: --- 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 >Release-Note: >Audit-Trail: >Unformatted: >> > > Soeren wrote: >> > > >>> > >> On Sun, 17 Sep 2006 mato wrote: >>> > >> >>> > >> >>>> > >>> Hello Soeren, >>>> > >>> >>>> > >>> I've just installed WDM and am looking around and trying to configure it >>>> > >>> for my needs. >>>> > >>> >>>> > >>> while investigating /usr/X11R6/lib/X11/wdm/Xclients i've noticed >>>> > >>> Xrootenv.0 file being created. -- what is the purpose of this file pls >>>> > >>> ?? and couldn't it be hidden so as not to pollute user home ?? >>>> > >>> >>> > >> I'm looking at it and can't seem to see why Xrootenv.0 is needed. >>> > >> >>> > >> >> > > >> > > it is not needed. at least not for wdm. >> > > i googled around but found only questions "what is it good for?" but no >> > > answers. >> > > i believe we can safely comment it out. >> > > >> > > >>>> > >>> also what is the point of WINMGR_NAME and "general purpose entry" in the >>>> > >>> same file ?? >>>> > >>> >>>> > >>> >>> > >> I'll look into that later. >>> > >> >>> > >> >>>> > >>> pls note that the scripts provided with wdm make use of bash which is >>>> > >>> not listed as a dependency. (!) >>>> > >>> >>>> > >>> and why is bash in shebang line of the scripts called with -login ? >>>> > >>> >>> > >> Cause the configure script looks to see if bash is installed if so it >>> > >> uses it. >>> > >> >>> > >> >> > > >> > > ok, i see. and what happens when bash is not installed. do we use sh(1) ? >> > > and if so, why not to use it always? >> > > btw, does sh(1) know $() ?? >> > > and still -- why used with -login pls ? >> > > >> > > >>>> > >>> also ps(1) shows 3 instances of wdm running: >>>> > >>> root 726 0.0 0.3 5992 2828 ?? S 11:52AM 0:00.33 >>>> > >>> /usr/X11R6/bin/wdm -nodaemon ttyv8 >>>> > >>> root 727 0.0 0.3 5988 2864 ?? I 11:52AM 0:00.11 >>>> > >>> /usr/X11R6/bin/wdm -nodaemon ttyv8 >>>> > >>> root 1188 0.0 0.3 6128 3304 ?? Is 12:06PM 0:00.13 >>>> > >>> /usr/X11R6/bin/wdm -nodaemon ttyv8 >>>> > >>> why is that so pls ??? >>>> > >>> >>>> > >>> >>> > >> I have to look further into that. >>> > >> >>> > >> >>>> > >>> /usr/X11R6/lib/X11/wdm/Xsession needs a fix. here's what i've done: >>>> > >>> >>>> > >>> [mb-aw1n-bsd][mato][/usr/home/mato] >>>> > >>> $ diff -u /usr/X11R6/lib/X11/wdm/Xsession.old >>>> > >>> /usr/X11R6/lib/X11/wdm/Xsession >>>> > >>> --- /usr/X11R6/lib/X11/wdm/Xsession.old Sun Sep 17 09:37:41 2006 >>>> > >>> +++ /usr/X11R6/lib/X11/wdm/Xsession Sun Sep 17 16:07:59 2006 >>>> > >>> @@ -1,6 +1,8 @@ >>>> > >>> #!/usr/local/bin/bash -login >>>> > >>> # configs/Xsession. Generated from Xsession.in by configure. >>>> > >>> # $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $ >>>> > >>> +# >>>> > >>> +# /usr/X11R6/lib/X11/wdm/Xsession : FreeBSD : mato [17-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 >>>> > >>> - /usr/X11R6/bin/xrdb -load /dev/null >>>> > >>> - >>>> > >>> +/usr/X11R6/bin/xrdb -load /dev/null >>>> > >>> >>>> > >>> case $# in >>>> > >>> 1) >>>> > >>> - case $1 in >>>> > >>> - failsafe) >>>> > >>> - exec /usr/X11R6/bin/xterm -geometry 80x24-0-0 >>>> > >>> - ;; >>>> > >>> + case "$1" in >>>> > >>> + failsafe) >>>> > >>> + exec /usr/X11R6/bin/xterm -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 >>>> > >>> [mb-aw1n-bsd][mato][/usr/home/mato] >>>> > >>> $ >>>> > >>> >>> > >> I'll add the ", but i don't see why there is a need for the | >>> > >> >>> > >> >> > > >> > > it is necessary. otherwise it might not work with some configurations >> > > (like mine;)) where "set -o noclobber" is used (as Xsession is (i >> > > believe) run under user just logged on and thus bash (or other shell) >> > > makes use of users config/rc files). >> > > >> > > another thing i've been just thinking of is that we source/merge >> > > .Xresources both in Xsession and then in Xclients. i think it >> > > might/should be done in one place only, .Xsession preferably. >> > > also i'd like to expand Xsession as follows (taken from default >> > > /usr/X11R6/lib/X11/xinit/xinitrc : >> > > >> > > -- >> > > >> > > 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 >> > > /usr/X11R6/bin/xrdb -merge $sysresources >> > > fi >> > > >> > > if [ -f $sysmodmap ]; then >> > > /usr/X11R6/bin/xmodmap $sysmodmap >> > > fi >> > > >> > > if [ -f $userresources ]; then >> > > /usr/X11R6/bin/xrdb -merge $userresources >> > > fi >> > > >> > > if [ -f $usermodmap ]; then >> > > /usr/X11R6/bin/xmodmap $usermodmap >> > > fi >> > > >> > > -- >> > > >> > > what do you say ? >> > > i'd prefer a new patch for you. >> > > >> > > with regards, >> > > >> > > Martin >> > > >> > >