global menu bar for gsoc

Aaron J. Seigo aseigo at kde.org
Thu Apr 1 23:44:00 CEST 2010


On April 1, 2010, Ivan Ruchkin wrote:
> 2010/3/31 Aaron J. Seigo <aseigo at kde.org>
> 
> > On March 30, 2010, Ivan Ruchkin wrote:
> > > 2010/3/29 Aaron J. Seigo <aseigo at kde.org>
> > > 
> > > > On March 28, 2010, you wrote:
> > > > > My name is Ivan, I'd like to improve global Mac-OS style menu bar
> > > > > as
> > 
> > my
> > 
> > > > > GSoC project.
> > > > > Can you please point me to the development code of it?
> > > > > How does it corellate with XBar plasmoid?
> > > > 
> > > > there is a fairly old start to such a plasmoid in:
> > > >        /trunk/playground/base/plasma/applets/menubar/
> > > > 
> > > > it has no relation to the xbar plasmoid, which only works with
> > > > bespin.
> > > > 
> > > > done "right", i think what really ought to happen is this:
> > > > 
> > > > * add a "global menubar" option to the Desktop -> Workspace control
> > 
> > panel
> > 
> > > > in
> > > > system settings
> > > 
> > > That seems more or less clear. That's systemsettings application
> > > (kdebase/workspace/systemsettings). But where can I find code that
> > > configures the exact panel "Desktop->Workspace"?
> > > 
> > > > * create a Plasma::Containment of type Panel for the menubar; it
> > > > would
> > 
> > be
> > 
> > > > much
> > > > like the current Panel containment, but it would have the
> > 
> > implementation
> > 
> > > > 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 kde3 did it and perhaps 
look at how other systems on x11 do this (if any do?)

> > > About keeping it always on the top of screen: maybe the position (top
> > > or botton) of menubar should be configured in control panel as well?
> > 
> > does it make any sense to have the menubar at the bottom of the screen?
> > (certainly doesn't on the left/right, we know that much for sure ;)
> 
> As for me, I keep a panel with taskbar and icons in the top of screen, so I
> may want to have menubar in the bottom. Sounds wild, but why not..?

because offering configuration options that make no sense is inelegant and 
comes at a cost to testability, quality and usability.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


More information about the Plasma-devel mailing list