From Fedora Project Wiki

No custom Qt theming for Fedora Workstation

Important.png
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 QGnomePlatform and 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

Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-06-08
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

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.

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 for the most of the issues users are facing while using our custom styling.

Some additional information about these projects and issues:

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 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

Usage of Qt applications on Fedora Workstation will be more reliable and close to upstream and to what other distributions are using. We will not have to maintain our own custom Qt theming and can rely on upstream support instead.


Scope

  • Proposal owners:
  • Other developers:
  • 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

How To Test

User Experience

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