Where is thitd party css support for libadwaita?

Libadwaita is missing one thing:

Support for third party style sheets.
However there is a nice project on github theme changer for Libadwaita that works.

Of course its possible to change the scss code to look very different. Its as much stable as early gtk3 versions. And it supports to load css files very well.

Why the hell did the gnome team make the not understandable decision to force a certain rather flat design to “normal” users, while it is possible to load other styles as well? wouldnt it be better to include the theming part in a special library that can be modded like theming engines in gtk2?

Hello, it is not possible to do this in a way that actually works correctly with apps because apps can also load a custom CSS, and the user CSS can and will conflict with that. The only way to do it without breaking things is to ship the custom CSS as part of the app. There are several ways to get this to work but the key thing is it needs to be on a per-app basis.

No, GTK2 theme engines were quite a lot less powerful in some ways than CSS, and they also had a similar problem if the app had custom widgets that it wanted styled in a way not implemented by the theme engine.

Not necesaarily. The user scss would replace the libadwaita built-in-css Code entirely. Then we only have the custom css and the application one. No breakage then technically.

Same problem occurs once adwaita changes and application looks broken cause of api change. I see that gtk4.6 with libadwaita can be themed and that it will be for future versions too.

The stop theming initiative tells us extreme examples and like to force a certain point of view .

With that you have a very bad problem where the app CSS is built with the expectation of libadwaita styles being there but they are not, that cannot work. The app has to be built with support for the custom theme you are applying.

That is somehwat true, if you want a truly stable CSS then you must pin the version of the CSS in the app. But that is also a reason why it must be done in the app, not in a theme switcher.

Have you ever seen Stylish extension? IMO, such a thing is the best experience you could hope for customization when using a CSS-based theme system. The themes must be made and applied for the individual app, and you must have people constantly reviewing the themes to see if they break. I could see someone making a similar thing for GTK apps but only as a very optional thing that apps have to opt into. But from that end you may as well just get the apps to implement their own theme switcher widgets and/or dialog and put that in a library. I think libadwaita is maybe not the best place to put it since you probably want it to work with any GTK app or library…

Its more or less the inverse. The theme has to be written as good and as close to adwaita as possible that it runs on most applications.

That is somewhat false as libadwaita is the only meaningful point where you could implement the theme changing possibility. Im not talking about support here. Only the Possibility to to dit for normal users as it was done on gtk3. Yaru and some other big themes would fork adwaita oherwise which leads to even more code breakage in long term.

But any change is making it different from the Adwaita theme, so any change could break applications. Even very small things like changing the colors or the size of paddings, borders, etc. can break it. We have seen this many times, GNOME apps are just not designed for any other theme that is not Adwaita. I also cannot understand how this would be appealing to theme authors, doing things that way puts a great many restrictions on what you can do with themes.

Well no, the only meaningful place is in the app itself, because apps can load custom CSS on top of libadwaita that must also be themed along with it. That theme in the picture looks nice, but it is not going to work if the app has a custom widget that does not know the right borders and gradients to add.

It was not possible for normal users to really do this in GTK3 either, without breaking everything.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.