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: jgrulich@xxxxxxxxxx == 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 mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue