Re: Session Restoring All Windows on First Workspace



Am Fri, 13 Aug 2010 12:54:36 -0400
schrieb Clinton Ebadi <clinton unknownlamer org>:

> Jeremy Hankins <nowan nowan org> writes:
> 
> > Clinton Ebadi <clinton unknownlamer org> writes:
> >> Jeremy Hankins <nowan nowan org> writes:
> >
> >>> Theoretically, I could use some other session manager and get the
> >>> same results.  Any suggestions for a simple session manager that just
> >>> manages a session?  Ideally I wouldn't have to spend much time
> >>> futzing with it...
> >>
> >> So it turns out that sawfish was actually not even starting properly!
> >
> > Can you explain how you start sawfish?  I got gnome starting sawfish by
> > using gconf-editor to edit
> > desktop/gnome/session/required_components/windowmanager.  At first I
> > thought I could specify a path there, but it seems that it's expecting a
> > desktop file, not an executable.  Once I figured that out I was able to
> > get gnome to start sawfish rather than silently ignoring the
> > "/usr/local/bin/sawfish" I'd had there.  I honestly don't comprehend how
> > gnome is considered easy to use....
> 
> Yeah, it is "easy" if you ... browse the web and not much else I
> think. I had to look at the source for gnome-session to figure out how
> to change such things!
> 
> But it turns out that I had gnome-wm set as the windowmanager, and I
> *assumed* it was loading sawfish. In reality it was failing to start any
> window manager, and sawfish was being picked up as a normal application
> and being started that way instead. Which, for whatever reason, caused
> gnome-session to only pass --sm-client-id (-> session file not found but
> the argument was consumed so it *seemed* to start properly).
> 
> > Anyway, I do all this and discover that sawfish isn't being run with the
> > --sm-client-id arg at all, so it's running without session management.
> > So I still can't test it out myself.
> 
> The first time you run sawfish it is called with any SM arguments
> because it has not been saved as part of a session yet. After you logout
> of GNOME (`gnome-session-save --logout' or similar) a session is saved
> and the next time the --sm-{prefix,client-id} arguments are passed based
> upon what sawfish returns when queried in `sm-save-yourself'.
> 
> >> After fixing things such that it was being started correctly... it
> >> bombed out with a weird error and unhelpful backtrace. After a bit of
> >> debugging and figuring out how the debugger worked... tada, I discovered
> >> the problem was in lisp/sawfish/wm/user.jl. The last bit consumes *all*
> >> command line arguments, and attempts to load anything it does not
> >> recognize as a file, or, if it does not exist, as a module. And thus
> >> sawfish died upon encountering "--sm-client-id".
> >
> > This seems to be the result of a commit Chris made back in August of 2009:
> >
> > commit 379750f67d7227499a93b35dfa8c138d4ca5606f
> > Author: chrisb <zanghar freenet de>
> > Date:   Sat Aug 29 18:24:40 2009 +0200
> >
> >     changed position of user-level initialization
> 
> It seems like it *might* be reasonable to restore the session after
> loading the user rc, but then again perhaps not (I don't see the harm in
> it). I can hack up another patch that splits the user rc loading and
> command line processing into two files and loads the former before
> session restoration and the latter after.
> 
> Alternatively the braindead behavior of command line processing could be
> changed. I'm willing to do that as well (and perform the required
> documentation updates and whatnot). There are few issues with this still
> however: unadorned arguments to sawfish are by default assumed to be
> files or modules to load which is a bit ... ugly. I'm in favor of adding
> a new command line argument to require module explicitly, but then the
> issue of scripts in the wild using this convention arises. OTOH how
> important is backward compatibility?
> 

That depends on the change. Next versions are 1.7.0 and 3.0.0. 
If it would not make sawfish start anymore with some old code still present it's going to
be post-poned to 3.0.0, else 1.7.0 is O.K. Which by the way is scheduled for september.

Chris


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]