https://fedoraproject.org/wiki/Changes/NoCustomQtThemingForWorkstation


This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== Summary ==
Fedora Workstation has been using
[https://github.com/FedoraQt/QGnomePlatform QGnomePlatform] and
[https://github.com/FedoraQt/adwaita-qt Adwaita-qt] projects to apply
GNOME-like configuration and styling to Qt applications to match the
environment. These projects are now in a state where they are outdated
and semi-occasionally broken for some applications and it would be
better to default to what Qt upstream has to offer.

== Owner ==

* Name: [[User:jgrulich| Jan Grulich]]

* Email: jgrul...@redhat.com


== Detailed Description ==
[https://github.com/FedoraQt/QGnomePlatform QGnomePlatform] project is
a Qt Platform Theme plugin. It reads GNOME configuration, like fonts
or icons and applies this configuration to Qt applications. It also
provides implementation of Client-Side Window Decorations or native
dialogs. This project partially overlaps with Qt's default GTK
Platform Theme plugin, but there are some additions that are existing
only in QGnomePlatform, like Client-Side Window Decorations.

[https://github.com/FedoraQt/adwaita-qt Adwaita-qt] project is a Qt
Style plugin. It implements widget styling (e.g. buttons, checkboxes)
to match GNOME's Adwaita style. There is no equivalent of such style
in Qt, but given the complexity of Qt Style plugins, this project is
now outdated and doesn't match the current Adwaita (GTK4) style. It is
also responsible for the most of the issues users are facing while
using our custom styling.

Some additional information about these projects and issues:
* [https://jgrulich.cz/2023/03/08/explained-qgnomeplatform-and-adwaita-qt/
Detailed explanation of QGnomePlatform and Adwaita-qt]
* 
[https://theevilskeleton.gitlab.io/2022/12/06/where-fedora-linux-could-improve.html#adwaita-qt
Adwaita-qt issues on examples]
* [https://pagure.io/fedora-workstation/issue/351 Fedora Workstation
bug to reconsider use of Adwaita-qt]

With this change we would like to stop shipping and using these
projects by default on Fedora Workstation and default to Qt default
theming and styling. Also, because the GTK Platform Theme in Qt
doesn't support everything we have support for in QGnomePlatform, we
would like to contribute it to Qt instead. With this work, there
shouldn't be any drawbacks when using Qt's GTK Platform Theme and we
believe we would even get broader usage and more contributors for
things like Client-Side Window Decorations. For Adwaita-qt
replacement, we would default to
[https://doc.qt.io/qt-6/qtquickcontrols-fusion.html Fusion] style or
possibly to Breeze style for KDE apps. Both styles have benefit of
active upstream and broader usage than our custom style that is only
used by Fedora Workstation and not tested by developers.


== Feedback ==


== Benefit to Fedora ==
We will be using more reliable and tested Qt theming/styling instead
of our custom solution, which is only used by Fedora Workstation. This
brings us closer to upstream with benefit of upstream support for
theming and styling issues. This will also eliminate all the issues
our users have been experiencing in the past when using Qt
applications with Adwaita-qt style on Fedora Workstation.

== Scope ==
* Proposal owners:
# Drop QGnomePlatform and Adwaita-qt from Fedora Workstation compose.
# Drop our custom patches making Qt to use QGnomePlatform by default.
# Upstream some of the QGnomePlatform features to Qt upstream and
backport them to Fedora packages (until released upstream).


* Other developers: [OPTIONAL] Packagers blacklisting either
QGnomePlatform or Adwaita-qt in their packages can stop doing that.


* Release engineering: [https://pagure.io/releng/issues #Releng issue number]

* Policies and guidelines: N/A (not needed for this Change)

* Trademark approval: N/A (not needed for this Change)


* Alignment with Community Initiatives:


== Upgrade/compatibility impact ==
We will make QGnomePlatform to not be used by default even when
installed. Users will still be able to use it by using a Qt env
variable or passing an option specifying what platform theme should be
used. For this reason there shouldn't be any extra work needed to be
done by the users who upgraded to Fedora 39.

== User Experience ==
The user experience should remain the same or be actually better in
case Qt apps they were using were not working properly with
QGnomePlatform or Adwaita-qt.


== Dependencies ==



== Contingency Plan ==

* Contingency mechanism: (What to do?  Who will do it?) N/A (not a
System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change), Yes/No


== Documentation ==

N/A (not a System Wide Change)

== Release Notes ==




-- 
Aoife Moloney

Product Owner

Community Platform Engineering Team

Red Hat EMEA

Communications House

Cork Road

Waterford
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to