Future of Appmenu Outside Unity

Scott Kitterman ubuntu at kitterman.com
Wed Jul 24 05:16:20 UTC 2013


On Tuesday, July 23, 2013 11:23:20 PM Ted Gould wrote:
> On Tue, 2013-07-23 at 22:23 -0400, Scott Kitterman wrote:
> > On Tuesday, July 23, 2013 09:00:33 PM Ted Gould wrote:
> > > On Tue, 2013-07-23 at 21:01 -0400, Scott Kitterman wrote:
> > > > Since shortly after Mark announced the global menu [1] Kubuntu has
> > > > shipped
> > > > plasma-widget-menubar to provide this functionality [2] and not only
> > > > for
> > > > Qt/KDE, but for Gtk apps as well [3].  This has served us well on
> > > > netbooks
> > > > for three years and I use it myself on a daily basis on a conventional
> > > > laptop.
> > > > 
> > > > As of today [4], that's no longer possible.  Appmenu-gtk has been
> > > > replaced
> > > > by unity-gtk-module, which (apparently intentionally) doesn't work
> > > > outside Unity [5].
> > > > 
> > > > Is this correct?  That's my impression, but I'm not aware of any
> > > > discussion
> > > > this, so I may have missed something.
> > > 
> > > Oh, cool.  I honestly didn't realize that it was still in use, very cool
> > > that it has been useful!
> > > 
> > > In general, the big migration here is away from DBusMenu (which was
> > > Ubuntu-only) to GMenu which is in GLib.  That's basically the difference
> > > between appmenu-gtk and unity-gtk-module.  There's no technical reason
> > > that it would only work on Unity, even if it's in the name.
> > 
> > Actually, DBusMenu is an upstream KDE feature.  You may recall it was
> > originally a joint Ubuntu/KDE development.
> 
> Hmm, I don't recall.  But history is best argued over beer rather than
> e-mail  :-)
> 
> > We're at KDE SC 4.11 RC1 right
> > now, so it's too late to do anything upstream KDE in 4.11 and the Plasma
> > Workspace is feature frozen after 4.11 so that upstream can focus on
> > Plasma 2 (that will use Qt5 and KDE Frameworks).  So we're several
> > release cycles away from being able to do anything upstream.
> 
> That's unfortunate.  I don't know if I can get someone assigned to it,
> but if so, would you guys be willing to distro patch it?  I'm not sure
> if QMenuModel works on Qt 4, I think so, but hopefully Lars can verify
> that when it gets to his timezone.

I think we don't have much of a choice.  We'd need to coordinate this with 
upstream so it gets landed for Plasma 2 and then backport the appropriate 
changes.

> > > Which means, in a nutshell, that plasma-widget-menubar would need some
> > > porting.  Canonical has been working on QMenuModel[1] which provides
> > > simple Qt bindings for GMenu exported menus, and should work well for
> > > this purpose.  I know that Lars (cc'd) has some changes that he's
> > > working on there, so it is expected to get better.  We are using
> > > QMenuModel for all of the indicators in the Unity 8 interface, so you
> > > can expect it to be well supported.
> > 
> > How does this impact support in applications?  For Qt/KDE apps (due to the
> > integration in Qt4) it just works.  There's no need to patch individual
> > applications.  Is this true for QMenuMode?  Is it for Qt4 and Qt5?  What's
> > the upstream plan for it?
> 
> QMenuModel is just a helper library, similar to libdbusmenu.  It's not
> doing the integration aspects there.  We haven't discussed (AFAIK)
> porting libdbusmenu-qt users to QMenuModel with any seriousness.  I
> think that we should, but I'll need to gather more data on the impact,
> etc.  I imagine that most of the people I'd ping on it are maxed out for
> 13.10 already though.

I appreciate you looking into it.

> > > In indicator-appmenu (the module in Unity that supports the global menu
> > > bar) we are currently supporting both DBusmenu applications and GMenu
> > > based ones.  This is largely because everything isn't ported yet.  It
> > > has been an unofficial goal to remove DBusmenu for the LTS.  I see no
> > > issue in keeping appmenu-gtk as a package, but I would consider it
> > > deprecated.
> > 
> > AIUI, currently unity-gtk-module conflicts appmenu-gtk, so they can't both
> > be installed together.  That would have to be fixed since many users have
> > both Kubuntu and Ubuntu installed and I think we want to support that.
> > 
> > Also, the gtk/gtk3 patches that supported appmenu-gtk have been dropped,
> > so
> > even if we brought the package back, it wouldn't build.  Can those be
> > added
> > back?
> > 
> > Also keeping it now, just to drop it for the LTS doesn't really help much
> > since the Plasma Desktop will still be using DBusMenu and we'd just have
> > to
> > drop it then.
> 
> Yes, I forgot about the GTK patches, those are a bit trickier.  What do
> you think would be a good solution?  Do you think it'd be reasonable to
> have GTK applications not work in the plasma menubar for 13.10?  That's
> clearly the easiest solution, but perhaps too broken.

I just removed plasma-widget-menubar from the Kubuntu seeds and from our 
default panel configuration for netbooks because I think that having a solution 
that only works for some applications and not others and users have to know 
implementation details like what toolkit it was developed with to know if it 
will work with it or not as being too broken to ship.  I'll certainly stop 
using it.

I think too broken.

Scott K



More information about the ubuntu-devel mailing list