Re: RFC: Theming and styles of KDE applications

2024-05-04 Thread Wang Gary
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.

> 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

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

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

- Gary


Re: RFC: Theming and styles of KDE applications

2024-05-04 Thread Ben Cooksley
On Sun, May 5, 2024 at 8:37 AM  wrote:

> On 2024-05-04 21:56, Akseli Lahtinen wrote:
> > On Saturday 4 May 2024 14:47:35 GMT+3 christ...@cullmann.io wrote:
> >> My proposal: we enforce Breeze as icon set and style everywhere. And
> >> we
> >> provide still a way to overwrite that for the user, but if the user
> >> didn't set something manually,  idenpendent what the system propose,
> >> we
> >> just use Breeze. And we depend on that as dep e.g. in Kate, if you
> >> install Kate, that icon set and theme is installed.
> >
> > +1. For me as someone who changes icons sometimes just to see and
> > tinker
> > around,
> > i think this makes sense. We have reliable fallback, but we still allow
> > users to customize things which is, well, our thing! :)
> >
> > And if the custom icons break i do not end up with broken apps, so
> > i really do not see any downside here, as user or dev perspective.
>
> Yes, if some user switches a theme or style in our system settings
> or in the application (like we do it with the color scheme switcher some
> applications like Kate have) that is fine.
>
> But beside that, we should just force our default style and icon set,
> like we do on Windows and macOS already, that will even make some
> patches
> and ifdef's useless we need now to sprinkle in all apps we really
> support on
> these platforms.
>

Definitely agree with this, having to add special handling to every
application to get a good experience on that platform is not ideal.

Having our Frameworks handle this in one place, with a consistent approach,
will overall improve the quality of the experience users get with our
software outside of a Plasma desktop environment (and reduce developer
porting workload) - and might help break some of the age-old stigma that
KDE apps have to be used with a KDE desktop environment.


>
> Greetings
> Christoph
>

Cheers,
Ben


>
> >
> > - Akseli
> >
> > ps. I am bad with mailing lists, lets hope this sends to right place
> > lol
>


Re: RFC: Theming and styles of KDE applications

2024-05-04 Thread christoph

On 2024-05-04 21:56, Akseli Lahtinen wrote:

On Saturday 4 May 2024 14:47:35 GMT+3 christ...@cullmann.io wrote:
My proposal: we enforce Breeze as icon set and style everywhere. And 
we

provide still a way to overwrite that for the user, but if the user
didn't set something manually,  idenpendent what the system propose, 
we

just use Breeze. And we depend on that as dep e.g. in Kate, if you
install Kate, that icon set and theme is installed.


+1. For me as someone who changes icons sometimes just to see and 
tinker

around,
i think this makes sense. We have reliable fallback, but we still allow
users to customize things which is, well, our thing! :)

And if the custom icons break i do not end up with broken apps, so
i really do not see any downside here, as user or dev perspective.


Yes, if some user switches a theme or style in our system settings
or in the application (like we do it with the color scheme switcher some
applications like Kate have) that is fine.

But beside that, we should just force our default style and icon set,
like we do on Windows and macOS already, that will even make some 
patches
and ifdef's useless we need now to sprinkle in all apps we really 
support on

these platforms.

Greetings
Christoph



- Akseli

ps. I am bad with mailing lists, lets hope this sends to right place 
lol


Re: RFC: Theming and styles of KDE applications

2024-05-04 Thread Akseli Lahtinen
On Saturday 4 May 2024 14:47:35 GMT+3 christ...@cullmann.io wrote:
> My proposal: we enforce Breeze as icon set and style everywhere. And we
> provide still a way to overwrite that for the user, but if the user
> didn't set something manually,  idenpendent what the system propose, we
> just use Breeze. And we depend on that as dep e.g. in Kate, if you
> install Kate, that icon set and theme is installed.

+1. For me as someone who changes icons sometimes just to see and tinker 
around,
i think this makes sense. We have reliable fallback, but we still allow
users to customize things which is, well, our thing! :)

And if the custom icons break i do not end up with broken apps, so
i really do not see any downside here, as user or dev perspective.

- Akseli

ps. I am bad with mailing lists, lets hope this sends to right place lol






RFC: Theming and styles of KDE applications

2024-05-04 Thread christoph

Hi,

I think it is time to discuss how we handle the icon theming and styling 
in non-Plasma execution environments for our applications.


Let's talk about Kate as an example:

If you run it on Plasma, all is 'good',
Plasma sets a good icon theme with all icons we expect (as Kate is 
mostly tested just with the Breeze icons) and the platform integration 
plug-in sets up our re-coloring capable icon engine. Plasma configures a 
good Qt style, too, Breeze.


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.


This means on Plasma we look good (and usable) with good integration, on 
Windows and macOS we look good but a bit alien. On the other side the 
users accept that, as many other popular apps just do the same, like all 
3rdparty browsers or Electron apps.


Now look at Kate on Linux/BSD outside Plasma. First thing that is 
broken, is the re-coloring. If your app uses icons that rely on that, 
bad luck, Kate has at least one icon we ship and needs that. Next is the 
icon theme itself, in best case you get the right Breeze dark or light 
or some non-recolored Breeze as black on black or the other way around. 
Or you get an incomplete icon set with either patchwork icons thanks to 
fallback or just none. Next is the style, perhaps you get Breeze, but in 
most cases some style that will not look that well. Kate therefore looks 
in most cases just like crap, to be honest, like the try of some toddler 
to come up with an application.


I think that is not what we want, at least I am fed up with that. Kate 
now looks and feels better on Windows and macOS (without the user fixing 
manually the icon theme or style or even manually setting up the Plasma 
integration plug-in) then on open source desktops. That is kind of 
hilarious.


My proposal: we enforce Breeze as icon set and style everywhere. And we 
provide still a way to overwrite that for the user, but if the user 
didn't set something manually,  idenpendent what the system propose, we 
just use Breeze. And we depend on that as dep e.g. in Kate, if you 
install Kate, that icon set and theme is installed.


Greetings
Christoph