Re: [Geary] Geary title bar on Ubuntu

On Thu, Oct 6, 2016 at 5:17 PM, Michael Gratton <mike vee net> wrote:
On Thu, Oct 6, 2016 at 3:05 AM, Adam Dingle <adam medovina org> wrote:
As an example, gedit also uses a GtkHeaderBar.  If I build gedit from GNOME master on Ubuntu 16.10, then I see the same issues as in Geary: (a) there is a single bar with gedit's own menus/icons rather than a separate title bar as in all other apps on the Ubuntu desktop; (b) gedit's menus aren't accessible if I enable menus in title bars.

Ubuntu 16.10 ships with gedit 3.22.0, which is reasonably close to master.  The shipping gedit looks and works fine because Ubuntu patches it.

Okay. Well do you know what the process is for getting similar patches applied for Geary? I guess it starts with a LP bug report? Do you have much contact with the people there?

First, one piece of good news: the build of Geary 0.11.2 that comes with Ubuntu 16.10 now looks and works fine (i.e. just like preinstalled GNOME apps in Ubuntu).  Ubuntu i s evidently not patching Geary, so I'm not sure what changed - perhaps something in the Ubuntu GTK stack.

Given this, we may not want to file a Launchpad bug, since the Geary that comes with Ubuntu is OK (but see my comments below).

On Thu, Oct 6, 2016 at 3:05 AM, Adam Dingle <adam medovina org> wrote:
I'd expect Unity to do the right thing and set GSettings' gtk-shell-shows-app-menu prop to false, in which case GTK should then show the app menu, but that also depends on what you have set for the gtk-decoration-layout prop.

What values does Geary have set for those two props for you? (The GTK Inspector is the easiest way to find out).

I fired up the GTK Inspector, but was unable to find these properties on any of these objects:

Oh, they're on the GSettings object, it's at the very top when showing all objects.

Oh, I see.  Again, I've enabled Ubuntu's setting to show the menu in the title bar.  The properties are

  gtk-shell-shows-app-menu: TRUE
  gtk-decoration-layout: "close,mini mize,maximize:"

As I mentioned Ubuntu is patching other GTK applications (like gedit) that use a HeaderBar.  So should I file a Bugzilla bug as you suggested ("the former"), or will you?

Finally, it would be very nice for me (and many other Ubuntu users) if I could build Geary from master and have it just work on Ubuntu, as has always been the case in the past.  So I'd like to put in a vote for whatever makes that possible, even if it means having Unity-specific workarounds in Geary master.  

I'm in two minds about this - on the one hand it would be nice if Ubuntu/Unity/Compiz made their desktop not break so badly when people use modern GTK apps with it, and so feel like letting them deal with it. But on the other, Geary already works around bugs in other software, so making users pay for for this particular set of bugs would make for rather poor form.

There are longstanding differences between Ubuntu and GNOME about how apps should look and feel.  Without taking sides, I'll just say that we are currently in a world where GTK apps need some extra Unity-specific code if they are to look and feel "correct", i.e. consistent with other applications in their environment, on both Ubuntu and Fedora/other distros.  Nobody on either side thinks this is ideal, but unfortunately I'm not optimistic that this will change any time soon.

Given that, there are two questions for Geary (and other GTK apps): (1) Who is expected to write and maintain this extra code - the app developer, or Canonical?  (2) Where should it live - in the app's own git repo, or as a patch in the Ubuntu repo?

Historically the answers for Geary have always been (1) the Geary developers (who were all running Ubuntu anyway); (2) in the Geary git repo.

As for the future: Mike, as the Geary maintainer this is really up to you.  Regarding (1), I do have some contacts on the Ubuntu team but my impression is that they are short-staffed and will probably not want to make title bar patches for apps such as Geary that are in the Ubuntu 'universe' component.  (If Geary was in 'main', I'm quite sure that Ubuntu would patch it.)  So probably we will have to maintain the Unity code ourselves.

Regarding (2), as I mentioned before my vote is for the Unity-specific code to live in the GNOME git repo for geary.  I run Ubuntu and generally want to keep up with Geary master, and it's great if I can just pull from git, build and run.  Since Ubuntu is almost certainly the most popular distro for running GNOME applications, I suspect I am not alone.  :)

I'd like to approach the issue from both ends - talk to Ubuntu to work out what they can do, and look at what Geary can do upstream to help out. Are you happy to open the LP bug?

We should open a Launchpad bug only if we want the Unity-specific code to live in a patch at Canonical.  If so, we could open a Launchpad bug targeting Geary 0.12 (since there is apparently no issue for 0.11) and attach a patch there, which would presumably be applied when Ubuntu ships Geary 0.12 (likely in 17.04).

If, however, we plan to restore the Unity code as Khurshid suggested in https://bugzilla.gnom then I think there is no need for a Launchpad bug.

Mike, as I've said I think this is primarily up to you, so let us know - thanks.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]