global menu bar for gsoc

Marco Martin notmart at gmail.com
Fri Apr 2 00:04:18 CEST 2010


On Thursday 01 April 2010, Aaron J. Seigo wrote:
> On April 1, 2010, Ivan Ruchkin wrote:
> > > 
> > > > > of the menubar directly inside it, and it would arrange other
> > > > > plasmoids around it. this means that the menubar itself wouldn't be
> > > > > so much a separate plasmoid
> > > > > as it would a Plasma::Contaiment. this would go into
> > > > > kdebase/workspace/plasma/desktop/containments/.
> > > > 
> > > > So, that's a subclass of Plasma::Containment, but most of code is
> > > > copied from Panel and some special features added?
> > > 
> > > yes. (not that there is all that much code in the Panel containment;
> > > and some
> > > of what is there could probably be done cleaner at this point)
> > 
> > And then KDE applications should add their applet-menus into the menubar
> > containment?
> > 
> > Or maybe a special interface should be created for adding something like
> > QMenu there and encapsulate applet creation inside menubar?
> 
> there are a few approaches to this, including using xembed or a dbus based
> system (e.g. where the active window can be queried for its top level
> menubar entries, and a signal sent to the application to show the
> corresponding menu in the correct location when it is activated). perhaps
> look at how bespin is doing this currently, how the menubar kick applet in

i just had a quick look years ago but afaik bespin does something based on 
dbus
the theme eradicates the menubar in polish() then publishes the list of the 
toplevel actions on the bus, when one clicks on a menu entry of the xbar 
applet, a dbus method gets called with the click position, so the theme will 
move the corresponding qmenu at the proper position.
it's absolutely cruent, but i quite don't see other ways to interact so low in 
a standard qt component?

> kde3 did it and perhaps look at how other systems on x11 do this (if any
> do?)

kde3 eradicated the sub window with the menubar and xembedded it there(not 
possible anymore with alien widgets is suppose), gnome has a dbus spec for 
that iirc


Cheers,
Marco Martin


More information about the Plasma-devel mailing list