Bug 474855 - Krita doesn't (automatically) adhere to the system theme.
Summary: Krita doesn't (automatically) adhere to the system theme.
Status: REPORTED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: 5.2.9
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: ---
Assignee: Krita Bugs
URL: https://krita-artists.org/t/why-doesn...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-25 14:16 UTC by Roke Julian Lockhart Beedell
Modified: 2025-02-04 11:42 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
4wy78uwh: performance-


Attachments
https://steamdb.info/depot/280682/history/?changeid=M:6333154296950230284 on cpe:/o:opensuse:tumbleweed (208.86 KB, image/png)
2023-09-25 14:16 UTC, Roke Julian Lockhart Beedell
Details
https://kojipkgs.fedoraproject.org//packages/krita/5.2.2/7.fc40/x86_64/krita-5.2.2-7.fc40.x86_64.rpm (179.26 KB, image/png)
2024-04-29 12:13 UTC, Roke Julian Lockhart Beedell
Details
Colour Scheme Enumeration in M:8300849784599135186 (64.38 KB, image/png)
2025-02-04 11:39 UTC, Roke Julian Lockhart Beedell
Details
Application Style Enumeration in M:8300849784599135186 (49.33 KB, image/png)
2025-02-04 11:40 UTC, Roke Julian Lockhart Beedell
Details
Colour Scheme Enumeration in 5.2.6-2.fc41.x86_64 (80.75 KB, image/png)
2025-02-04 11:40 UTC, Roke Julian Lockhart Beedell
Details
Application Style Enumeration in 5.2.6-2.fc41.x86_64 (91.38 KB, image/png)
2025-02-04 11:41 UTC, Roke Julian Lockhart Beedell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roke Julian Lockhart Beedell 2023-09-25 14:16:34 UTC
Created attachment 161857 [details]
https://steamdb.info/depot/280682/history/?changeid=M:6333154296950230284 on cpe:/o:opensuse:tumbleweed

STEPS TO REPRODUCE
1. Purchase [Krita on Steam](https://store.steampowered.com/app/280680/Krita/).
2. Install it.
3. Attempt to set the theme to "System default" like the native packages are able to.

OBSERVED RESULT
The Steam package doesn't adhere to system theme. It doesn't even adhere to the version (whether light or dark) of Breeze in use. It also uses Fusion rather than the Breeze application style.

EXPECTED RESULT
It should provide the option to adhere to the system theme (both application style and colouration).

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20230921
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.10
Kernel Version: 6.5.4-1-default (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor
Memory: 30.5 GiB of RAM
Graphics Processor: AMD Radeon RX 5700
Manufacturer: ASRock
Product Name: X670E Taichi

ADDITIONAL INFORMATION
https://krita-artists.org/t/why-doesn-t-krita-on-steam-adhere-to-the-system-theme/74681?u=beedellrokejulianloc
Comment 1 Dmitry Kazakov 2023-09-25 16:40:43 UTC
As far as I know we explicitly don't support "Breeze" style, only "Fusion", so that part of the report is kind of "expected behavior".

But about the color theme I'm not very sure. Krita has its own themes. The user can choose the one works best for him/her. What exactly is the problem?
Comment 2 Roke Julian Lockhart Beedell 2023-09-25 16:49:34 UTC
(In reply to Dmitry Kazakov from comment #1)
> As far as I know we explicitly don't support "Breeze" style, only "Fusion",
> so that part of the report is kind of "expected behavior".

Then consider this a request to change that, because it should support any theme like any other Qt application does. However, if that is best suited to a separate issue, I'm willing to file that.

> But about the color theme I'm not very sure. Krita has its own themes. The
> user can choose the one works best for him/her. What exactly is the problem?

That it neither supports any colour scheme that isn't in the predefined list (an issue similar to the aforementioned) nor supports switching between the *supported* themes based upon whether they have been chosen system-wise. For instance, if I install Krita whilst using Breeze Dark, although it may initially appear to be following the system-wide colour scheme, it does not, for if I subsequently switch my system theme to Breeze Light, it does not switch.

This is expected when a specific theme has been explicitly set in Krita by the user, but modern versions of Krita distributed outside Steam provide the ability (at the top of the theme context menu) to adhere to the systemwide preference instead of making the user manually switch between them. This is not present for whatever unknown reason in the version distributed via Steam.
Comment 3 Bug Janitor Service 2023-09-26 03:46:17 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 4 Dmitry Kazakov 2023-09-26 08:09:57 UTC
Hi, Roke!

> Then consider this a request to change that, because it should support any theme like any other Qt application does

As far as I remember there used to be bugs if Breeze that caused severe issues with rendering Krita's layers docker and color labels menu. I don't know if anything changed since then... We might check  if something has changed, but I cannot promise.

> but modern versions of Krita distributed outside Steam provide the ability

As far as I know the only means of distribution that supports Breeze (and its themes) is Krita packaged by Linux distributions is a form or 'rpm' or 'deb'. This way of distributing Krita is not officially supported by Krita team, since we need a set of patches for Qt to make painting work properly.
Comment 5 Roke Julian Lockhart Beedell 2023-09-26 21:26:13 UTC
(In reply to Dmitry Kazakov from comment #4)
> As far as I know the only means of distribution that supports Breeze (and
> its themes) is Krita packaged by Linux distributions is a form or 'rpm' or
> 'deb'. This way of distributing Krita is not officially supported by Krita
> team, since we need a set of patches for Qt to make painting work properly.

I wasn't aware of that. Indeed, those are the typed I refer to. However, it appears mighty weird that Linux-first software wouldn't support native package management distribution. Which types are officially supported? And does a separate issue exist for getting official support for such formats?
Comment 6 Dmitry Kazakov 2023-09-27 06:34:04 UTC
Hi, Roke!

The Steam package uses the official binary supported by the Krita team, you reported it correctly. Though we don't build breeze support due to bugs we had with breeze some time ago. I'm not sure if these bugs are still present. Perhaps we should reevaluate and/or retest that in the future, though I'm not sure how priority it is.
Comment 7 Roke Julian Lockhart Beedell 2024-04-29 12:13:31 UTC
Created attachment 168997 [details]
https://kojipkgs.fedoraproject.org//packages/krita/5.2.2/7.fc40/x86_64/krita-5.2.2-7.fc40.x86_64.rpm

(In reply to Dmitry Kazakov from comment #6)
Using https://kojipkgs.fedoraproject.org//packages/krita/5.2.2/7.fc40/x86_64/krita-5.2.2-7.fc40.x86_64.rpm, it does appear that you have Breeze support (and, as https://bugs.kde.org/attachment.cgi?id=161857&action=edit demonstrates, dynamic support for installed system themes) in the native package, yet I see no option to automatically switch to the current system theme, like Kate and KDevelop have - the "Default" option.
Comment 8 Roke Julian Lockhart Beedell 2025-02-04 11:39:47 UTC
Created attachment 177947 [details]
Colour Scheme Enumeration in M:8300849784599135186

(In reply to Roke Julian Lockhart Beedell from comment #0)

It's been a long time since I filed this, and it wasn't very well done. I'm going to replace it undermentioned, unless the triage owner would rather I refile it entirely:

SUMMARY
------

In the Steam version of Krita, application styles and colour schemes available in their respective KCMs are not enumerated. This means that platform defaults are not adhered to, even in an entirely first-party environment. In comparison, the native packages achieve this.

STEPS TO REPRODUCE
------------------

1.	Install ≤ [`M:8300849784599135186`][2]:

	~~~sh
	#!/usr/bin/env sh
	steam "steam://install/280680"
	~~~

2.	*When complete*, invoke it:

	~~~sh
	#!/usr/bin/env sh
	steam "steam://rungameid/280680"
	~~~

3.	In the menu bar, select "Settings", then:

	- "Themes"
	- "Styles"

4.	Do the same in `krita-5.2.6-2.fc41.x86_64`, to compare.

EXPECTED RESULT
---------------

The Steam version should enumerate the colour schemes and application styles installed system-wide (available via `kcm_colors` and `kcm_style`).

OBSERVED RESULT
---------------

The Steam version does not enumerate the installed colour schemes nor application styles, thus defaulting to Fusion, despite the DE-wide (and, in fact, KDE-wide, amongst alternative OSes, like Windows) default being Breeze.

1. https://krita-artists.org/uploads/default/original/3X/8/a/8a9deef88c466526cd440fc60139a9612b77b267.png
2. https://krita-artists.org/uploads/default/original/3X/c/c/cc3921a4f2d4429af55dc31c2329b2afa2fd4ec9.png

It *does* act as expected in the Fedora 41 RPM:

1. https://krita-artists.org/uploads/default/original/3X/7/1/71fe433dfb4f585e02c23e020ee560c102e0207f.png
2. https://krita-artists.org/uploads/default/original/3X/c/c/cc3921a4f2d4429af55dc31c2329b2afa2fd4ec9.png

I shall attach these images when this has been posted.

SOFTWARE/OS VERSIONS
--------------------

1.	~~~sh
	#!/usr/bin/env sh
	kinfo
	~~~

2.	> ~~~YAML
	> Operating System: Fedora Linux 41
	> KDE Plasma Version: 6.2.5
	> KDE Frameworks Version: 6.10.0
	> Qt Version: 6.8.1
	> Kernel Version: 6.12.11-200.fc41.x86_64 (64-bit)
	> Graphics Platform: Wayland
	> ~~~

ADDITIONAL INFORMATION
----------------------

Most, if not more, of the information provided here is also available at [`krita-artists.org/t/74681/1`][1].

[1]: https://krita-artists.org/t/why-doesn-t-krita-on-steam-adhere-to-the-kcm-colors-colour-scheme/74681/1?u=rokejulianlockhart
[2]: https://steamdb.info/depot/280682/history/?changeid=M:8300849784599135186
Comment 9 Roke Julian Lockhart Beedell 2025-02-04 11:40:13 UTC
Created attachment 177948 [details]
Application Style Enumeration in M:8300849784599135186
Comment 10 Roke Julian Lockhart Beedell 2025-02-04 11:40:51 UTC
Created attachment 177949 [details]
Colour Scheme Enumeration in 5.2.6-2.fc41.x86_64
Comment 11 Roke Julian Lockhart Beedell 2025-02-04 11:41:10 UTC
Created attachment 177950 [details]
Application Style Enumeration in 5.2.6-2.fc41.x86_64