Tuesday, 23 July 2013

Re: Future of Appmenu Outside Unity

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.

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

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