RFC: Theming and styles of KDE applications

christoph at cullmann.io christoph at cullmann.io
Sun May 5 10:18:30 BST 2024


Hi,

On 2024-05-05 04:23, Wang Gary wrote:
> Sorry for chiming in the discussion since I also have some related 
> questions:
> 
>> Now let's see how we handle Windows and macOS: We patch a bit and 
>> ensure
>> we have a bundeled Breeze icons set as lib, enforce our icon engine 
>> and
>> enforce the Breeze style, as even with the latest native styles 
>> various
>> parts of Kate look bad.
> 
> Isn't the reason we do this because FDO icon theme spec is not 
> available on
> Windows (and maybe also macOS)? Qt 6.7's QIconEngine implementations
> introduced some polyfill to allow us access to the native icon 
> libraries on both
> Windows and macOS, enforcing Breeze icon theme might not be that 
> necessary
> for apps that only use a subset of icons.

Yes, and just the few icons will not help and look inconsistent with the 
remaining.

> 
>> We patch a bit
> 
> While working on something related [1], I also found we did this by 
> applying
> patches instead of doing it directly in the upstream source repo, are 
> there
> any related documentation or discussion why it's in a "patch" form? 
> Such
> resource might also benefit apps that are using KF but not using Craft 
> as
> its build system. For example, you can see Kate on MSYS2's repo which
> also have similar icon issue, or see the discussion at [1].
> 
> [1] https://invent.kde.org/utilities/kcharselect/-/merge_requests/20

The idea with this proposal is we add all needed code upstream and the 
apps can opt-in by just doing one or
two API calls, that will avoid that.

> 
>> First thing that is broken, is the re-coloring.
> 
> Did we do the recoloring in KIconEngine? If so, maybe enforcing Breeze
> icon theme and style are not enough (i.e. we also need to enforcing the
> use of KIconEngine)? And, does it also need to be a patch?

Yes, it is needed, see 
https://invent.kde.org/frameworks/kiconthemes/-/merge_requests/136 on 
first try to centralize that.

> 
>> And we provide still a way to overwrite that for the user
> 
> IMHO we might want to provide the ability whatever we decided to 
> enforce
> Breeze style or icon theme or not. It could be something similar to the 
> current
> KColorSchemeMenu::createMenu() API but for icon theme or application
> style.

Yes, such stuff as extra would be nice.


> 
> - Gary


Greetings
Christoph


More information about the kde-devel mailing list