On 10/11/16 2:17 AM, Russell Jones wrote:
> Interesting. Aren't the main requirement for quartz and wayland support the 
> same, i.e. port to GTK+ 3 and don't use X11
> calls? Or is it more subtle than that?

Well, that's the general idea and anyone writing a new GTK3/GNOME app should 
think about doing it this way.  This idea
isn't restricted to any specific GTK3 backend but all of them.

The issues that are impact Quartz support that I see are:

 * The popularity of Wayland on Linux platforms (I'm not sure that it's 
possible to port Wayland to macOs or that you
would want to) hinders Quartz backend development as most of the cycles are 
going to Wayland and fixing issues in the
Quartz backend doesn't get much attention.  Most recent requests get a "We 
don't have time/expertise for this but if you
fix it we will consider your changes."

 * On the other hand, the popularity of Wayland helps Quartz (and the other 
backends as well) by encouraging GTK3
application developers to develop backend agnostic apps as you say.

 * This is well and good for new apps, but many apps (including many of the 
GNOME 3 ones and most key parts of the GNOME
desktop infrastructure) historically have used X11 directly (via the gdk 
backend APIs) or even directly to X11 after
obtaining an appropriate native references.  The main culprits here are 
gnome-desktop (which uses X11 directly and
provides some common desktop APIs that might be used by any GNOME app) and gcr 
(which provides library support for
security keys and certificates as well as a common widget library and directly 
uses X11 window ids in one instance).
Both of these apps are thus X11 only and because they provide shared libraries 
to other apps, those apps are X11 only as
well.  So these ports and any others that are holding on to a historical 
dependency on X11 are gating items for making
full backend neutrality in GNOME a reality.

 * Finally the overall GNOME project is open source and so they have no way of 
forcing developers to pay attention to
these issues.  So some apps are doing better because the developers involved 
are interested in Wayland or Quartz or
whatever and others are not interested at all or don't have any experience to 
know what to do.

To try and quantify things, here's my first pass at a list of the GTK3/GNOME 
ports impacted by gnome-desktop and gcr:

gnome-desktop:

eog
epiphany
gnome-characters
gnome-control-center
gnome-flashback
gnome-font-viewer
gnome-panel
gnome-photos
gnome-session
gnome-settings-daemon
gnome-weather
nautilus
totem

gcr:

empathy
epiphany
evolution-data-server
gnome-online-accounts
libgdata
seahorse

Ports included in the current GNOME3 core distribution (gnome3-core) with 
+quartz variants:

clutter
cogl
evince
gedit
gegl-0.3
gnome-themes-standard
gspell
gtk2
gtk3
gtkmm3
gtksourceview3
librsvg
pango
pangomm
yelp (but still a work in progress and not committed -- builds but crashes on 
startup)

Ports included in the current GNOME3 apps distribution (gnome3-apps) with 
+quartz variants:

gitg
glade

As you can see, epiphany, which started this series of threads depends on both 
gnome-desktop and gcr! No +quartz!!

As usual, I got a little carried away but hope this helps folks understand the 
issues associated with +quartz -quartz.
I'm working the issue but if anyone would like to jump in and help, let me 
know.  Experience with both X11 and macOS
internals is, of course, a plus.

Dave


> 
> Russell
> 
> 
> On 11/10/16 02:42, David Evans wrote:
>> Overall quartz is taking a back seat to some other alternative backends, 
>> particularly wayland as a replacement for X11
>> on Linux platforms.
> 
> _______________________________________________
> macports-users mailing list
> macports-users@lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-users
> 

_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to