Tuesday 23 July 2013

Re: Future of Appmenu Outside Unity

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

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel