On ven., 2010-11-26 at 10:10 +1100, Christopher James Halse Rogers wrote: > On Tue, 2010-11-23 at 12:52 +0100, Didier Roche wrote: > > Hey fellow desktopers, > > > [snip] > > 2.2.2 So, we can think the other way around: only run gnome-panel when > > needed and not setting it as a required_components by default in the > > default sessions but still on the gnome classic session (this can be > > done as well as sessions adds some additional gconf paths). > > -> 2.2.2.1 if unity runs, nothing to do, no flipping > > -> 2.2.2.2 if unity can't run, we need to launch gnome-panel. That's > > currently done as a compiz plugin (and the code is executed even if > > opengl compiz can't be run on that hardware). So, we can launch > > gnome-panel, BUT there is no way to set it dynamically as a required > > component without making heavy changes to gnome-session: basically, what > > gnome-session doesn't launch, it doesn't know what it is, so we need > > some kind of libbamf library to match the .desktop file or whatever so > > that I can add to my yesterday hack a way to set it as a > > required_component dynamically. > > If you're already adding a dbus call to set required_component > dynamically, can't you get gnome-session to also start that component > when it's added as a required_component? >
Unfortunately not, because it has to match /Client and /Apps (if you look at d-feet, it should be obvious). However, if you launch gnome-panel from the command-line or from another process, it doesn't get an id (and every --sm-client-id doesn't seem to work) matching it to its desktop file, hence the fact we should use libbamf for it, but can be a little bit overkill :-). One idea from seb's after discussing on IRC will be to launch gnome-panel by gnome-session using a dbus call. That can works, just have to see how hard it is to hook this in gnome-session. Didier -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop