Future of Appmenu Outside Unity

Scott Kitterman ubuntu at kitterman.com
Wed Jul 24 02:23:17 UTC 2013


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.  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.  

> 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?

> 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.

Scott K



More information about the ubuntu-devel mailing list