Runtimes: support for gnome integration
Closed, ResolvedPublic

Description

Currently we don't ship any plugin which integrates Qt applications with Gnome, which makes Qt application to either crash or look broken. There are two possible solutions:

  1. Build qtbase with -gtk3 option to get Qt's gtk platform plugin
  2. Build qgnomeplatform which basically does the same + few more things additionaly

I'm personally for option 2, qgnomeplatform has been written for Fedora Workstation aiming to have the best integration of Qt applications in Gnome as possible. Together with qgnomeplatform would be nice to add adwaita-qt theme as well.

Both options would require having gtk3 as dependency in our manifest, but it should be needed only during build time and once the build is done we can remove gtk libs to avoid shipping them with our runtimes.

jgrulich created this task.Apr 13 2017, 9:03 AM
apol added a subscriber: apol.Apr 13 2017, 9:15 AM

Where's qgnomeplatform? How is it different from upstream Qt?

Here: https://github.com/MartinBriza/QGnomePlatform

It tries to read configuration from Gnome and apply it to Qt apps, also preferes adwaita-qt as theme by default. Other than that I guess is identical.

apol added a comment.Apr 13 2017, 1:42 PM

So it's a fork from the functionality in Qt? Any pro/con?

Well, it's not a fork, it was written from scratch. I think it has more functionality/stuff from gnome applied compared to the default gnome platform plugin in Qt, it even checks what color scheme should be used (working only with adwaita), tries to apply some font scaling etc. It also has native gtk dialogs because they were ported from Qt. But in the end it doesn't matter that much which one you pick.

Maybe none of the platform themes will be needed. Qt has still QGnomePlatform which is now used in case of Gnome. The only problem now are missing icons (namely Adwaita icon theme). There is an ongoing discussion so probably we will be soon able to solve this problem by just using icons extension from Gnome runtime.

See https://github.com/flatpak/flatpak/issues/114

jgrulich closed this task as Resolved.May 29 2017, 8:13 AM