[gobolinux-users] DBus, Pyrex et al not really needed for running ROX-Session

Jonatan Liljedahl lijon at kymatica.com
Tue Sep 13 22:09:29 GMT 2005


On Mon, 12 Sep 2005 19:21:50 -0500
Albert <albertwagner at cox.net> wrote:

> >>>DBus is used by ROX-Session to let windowmanagers communicate a
> >"use>>me" message to ROX-Session... 
> >>
> >>I thought it worked the other way:  ROX-Session decides through 
> >>user interaction which window manager to run.  That's the way my 
> >>ROX-Session works, and it doesn't require DBus.  Letting a window 
> >>manager choose a session manager seems like the tail wagging the 
> >>dog to me.
> > 
> > 
> > The WM (or just a small shellscript) asks ROX-Session to change WM,
> 
> Which one asks ROX-Session to change?  The running one or one of 
> the not running ones?  How are the not running ones able to ask 
> anyone anything?  What prompts the running one to ask to be replaced?

The not-yet-running one asks ROX-Session to set itself as the choosen
WM, ROX-Session then tells the user about this and asks if the user
wants to kill the currently running WM and start the newly choosen one.

> > when
> > the user clicks the WM AppDir. 
> 
> I have a half-dozen window managers installed and not a single WM 
> AppDir.

That's becouse you have no AppDir-style WM's installed, like OroboROX
for example. It's very easy to make wrappers for WM's installed in
/Programs though, see dbus-send cmdline below...
 
> > It does this by sending a dbus message
> > like this:
> > 
> > dbus-send --type=method_call \
> > --dest=net.sf.rox.Session /Settings \
> > net.sf.rox.Session.Settings.SetString \
> > string:ROX/WindowManager \
> > string:"$WM_BIN"
> > 
> > where the WM_BIN variable above contains the full path to the window
> > managers executable.
> > ROX-Session then pops up a dialog saying "Do you want to change WM
> > to this now?"...
> 
> I like mine much better.  In my ROX-Session, I click on 
> SessionSettings and I am given a dropdown menu of available 
> window managers to select from.  The same thing happens 
> automatically when the running window manager is quit. All with 
> no DBus and no WM AppDirs.

That implemention was dropped long ago. And yes, there is people who
misses it and don't like the dbus approach. Note that you don't have a
menu of available WM's, it's a menu of common known and installed WM's.
You'll have to add others by editing a file in the ROX-Session appdir.

> >>>It's also used to let the different
> >>>configuration applets out there (No good org of this yet...) ask
> >>>rox-session to do the changes and to save them for next login, etc.
> >>
> >>I have no idea what you are talking about here. 
> > 
> > ROX-Session takes care of various X settings and similar stuff, like
> > mouse acceleration treshold, keyboard repeatmode, current GTK-theme,
> > default font settings, etc... Instead of putting GUI's for all those
> > settings into ROX-Session, they are done in external small AppDirs
> > that just sends the setting to ROX-Session trough DBus.
> 
> Sounds like backward progress to me.  The GUI for all of those 
> things are in my SessionSettings along with WMs.  And without 
> need for DBus.

The crew decided to go more modular. Personally, I don't agree it's
backward progress.
The new ROX-Session is just a session manager, and is only used to set
up your desktop session when you log in, it's not a GUI configuration
central.

> >>>I think DBus is an excellent way for interprocess communication,
> >and>>I think it has come to stay.
> >>
> >>No doubt that is true.  But it isn't necessary for ROX-Filer and 
> >>is only required for ROX-Session after 0.1.21. 
> > 
> > No, it's not nessecary for ROX-Filer, but it's necessary for the
> > standard ROX Desktop (ROX-Filer + ROX-Session + OroboROX).
> 
> Depends on what you call 'standard'.  A 'standard' that requires 
> additional software to accomplish something that runs very nicely 
> without additional software, is regress, not progress.

Well... When I meant "standard" I meant the core ROX desktop components
of the current versions, not some old version.

> >>It was 
> >>introduced, not for the things you mention above, but primarily 
> >>to facilitate 0install, which IMHO sucks. Thomas should have 
> >>stuck with his core product, ROX, and not wandered off into 
> >>package management. 
> > 
> > I'm not sure that's the reason DBus was introduced, 
> 
> Of course it was.  It certainly wasn't necessary to the ROX 
> Desktop up through Session Manager 0.1.21.

Hmm... DBus as a dependency on the *current versions* of the rox desktop
including it's three core components was not introduced to facilitate
0install, since 0install itself is not a dependency of the basic rox
desktop.


/Jonatan    -=( http://kymatica.com )=-


More information about the gobolinux-users mailing list