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.


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