Re: RFC: Theming and styles of KDE applications
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
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
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
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
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