How much LibAdwaita has removed

I have been creating some new themes (None are currently publicly available and this thread will illustrate why...)

It is making it painfully apparent just how much Gnome has removed with LibAdwaita.

Let's begin with a diagram.

Picture a window. It has a frame. A top, bottom and two sides, and the expanse in the middle. What you can work with:
Top left corner- top, top right corner- top, top right corner - side, top left corner- side, left side, right side, bottom left corner -bottom, bottom right corner -bottom, bottom left corner- side, bottom right corner- side, bottom, content area in the middle.
That is your window and I count twelve elements to it that you have to work with.

Now, picture a pull down projector screen.
It has to work with:
Top left corner- top, top, top right corner - top, content area.

I count Four elements you can work with.

If you want nautilus to have borders around the window - too bad. LibAdwaita removes them in Gnome apps. Borders that can define the edge of that application over another application - or show if the window is active or inactive - removed.

libAdwaita is an additional library to Gnome that Overrides and enforces Gnome's HIG or Human Interface Guidelines - these are Gnomes believed principles that should force the end user into operating Gnome Applications as Gnome believes we should.

For over a decade using Microsoft - I Never once felt THIS tightly controlled. Microsoft and Windows are nowhere near as controlling as Gnome is.
Not Even Close.

I am not kidding.

I am giving serious consideration to going back to Windows where I will be less oppressed than I am on GnuLinux due to Gnomes dominance and Control over GTK.

All of the above is just the surface. It does not even compare to the hair-renting frustration of trying to create Applications that can work on Gnome, which is about ten times worse.

5 Likes

/me happy about moving to KDE.

4 Likes

I keep trying to but...
It's got its own problems.

I will continue to try to.

GTK4 has removed as much as LibAdwaita does. Including border-images. Gtk-icon-source and gtk-gradients were all removed... Gnome demands that the times always retain One Flat Monochromatic look... If styles change later, too bad. Modernization is disallowed.

This brings up some questions for me...

  1. As a theme developer, is it possible to stick to GTK3 for your themes, and will they work in GTK4?
  2. As a software developer, is this a conscious choice to make when developing using GTK?
  3. As a user, is there a way to use GTK3 for every app?

GTK3 themes are not compatible with GTK4; they must be rewritten. Just as the difference between GTK2 and GTK3.

It is. GTK4 removed many widgets and APIs that makes widgets and functionality reduced.
The user experience is therefor reduced.
The entire point of a GUI application over just using the console for everything is an interface that is versatile and functional that is visually distinct and organized.
If every GUI app had the full functionality that the console commands offer, most would have as many buttons, knobs and whistles as Blender or Gimp has. The console is powerful. But what it lacks is the explicit separation of application functions that keeps a workflow organized.
A list of application commands is jumbled together in comparison to windows that are separate; that can be closed or minimized, removing distraction and confusion.

Limiting GUI applications reduces end user awareness, involvement and capability. It reduces meaningful contribution from the community.

The larger issue is not GTK4 itself. It is LibAdwaita. GTK4 in principle still supports user styling, but LibAdwaita deliberately overrides and injects its own styling. This makes it difficult and oftentimes impossible, for developers to apply styling. Where GTK3 allowed consistent desktop theming, LibAdwaita enforces Adwaita defaults regardless of the user’s chosen theme. This breaks the end user experience and actually results in inconsistency.

Technically, usually, but not practically.
I say "usually" because many times, a gtk 3 version won't be available in the repositories. For those that are, it could take a lot of work for an end user to individually replace each application instance.

What I am currently doing:

Through the gtk3 run, I continued to theme in the gnome CSD elements, finding inventive ways of utilizing what the css allows to make things work.
But with LibAdwaita and GTK4, this is not possible at all any longer.

I am using gtk3-nocsd; gtk4-nocsd and Linux Mints LibAdapta as a current workaround due to Gnome very effectively clamping down on our access.
LibAdwaita blocks, overrides or ignores even valid .css values, replacing them at will with its own.
While GNome remains licensed under the GNU GPL, its HID and LibAdwaita increasingly force itself as proprietary software by locking down customization and prioritizing a single enforced style.

1 Like

My familiarity with this topic is extremely limited, and as such this question may be anywhere from off-base to idiotic, but it was my understanding that KDE presented QT as an alternative to GTK. Is there a reason to continue using GTK?

The reason is... KDE.
Your question is intelligent and valid.

It comes down to the differences between GTK and Qt as well as the stability of Qt.
In my testing and experience, I find Qt and Plasma to be less stable generally.

But I am stubbornly attempting to learn porting myself over to Qt and Plasma. It is one alternative...

1 Like

One of the things I find/found frustrating with Gnome is you open a Settings Window on something and then choose a setting which opens another window - that window is glued to the one below it so you can't check other options by moving the top window to one side! :scream:

I've recently put my PCLOS Debian drive in, and what I thought had overlapping partitions, apparently doesn't when I checked it with GParted. The issue now is Global Themes. Global Themes get written for a specific release of KDE Plasma. PCLOS Debian installed uses 5.27. A lot of new/updated Global Themes are for 6.0.
I tried to update my purpur-Day theme and it stated the new version is different to the old one, yet it is still present but not shown in Global Themes after 'install'. There are issues with ksnrc files and having to edit the .conf file - changing 11212 or whatever line to Plasma= Global Theme (Plasma 5) - and now this is baulking again!

It might be easier to go to Plasma on Ghost BSD and forego my surround sound! Though I have just learned that surround sound might be possible with 'sndio' in BSD but it takes a lot of tweaking. I wonder if Artix is more stable with its KDE rendition? Might give the Community Artix with XLibre a bare metal install when I get round to it. The issue with (Ghost)BSD xfce is that it needs a bare minimum of 4 Gb RAM and is 64-bit - only GNU/Linux appears to have distributions that still support 32-bit and therefore prevent e-waste to its full potential.

This is a big annoyance. Fortunately... There is a fix.

The newer Plasma D.E.'s are where a lot of the instability is. If using Plasma, I would opt for pre-6 release... But Trinity (old KDE style) is a lot more stable... Annoying, but stable.

2 Likes

It stands to question, will the Zorin team stick with Gnome, despite knowing the OS will be locked down? I personally believe the Zorin team will stick with Gnome, because we already know that OS 18, will be the last to receive an XFCE lite counterpart.

I'm getting the distinct feeling, that the Zorin team is not very concerned, with OS customization. I think they are more concerned with OS functionality. Unfortunately, it seems that the latest Gnome versions, (which I've never used) are reported to break some of the functionality as well.

I'm starting to wonder what the point of Gnome actually is now? What does modern day Gnome bring to the table, that is better then Windows? The main reason for Windows users to leave Windows11, is the forced updates, and forced snooping features.

Windows 11 is so bad, our government can't use it, cause the OS is a security risk! So is Gnome better then Windows11 on that front? Probably. But is Gnome 40+ more locked down then Gnome 38? Definitely! Because I stayed on OS 16 all this time, I wasn't subjected to modern Gnomes BS.

Zorin devs will have to do a whole heck of a lot, to make Gnome more useful for the user. I suppose will just have to see where it goes.


3 Likes

They could if they wanted follow what Voyager has done and include xfce. This takes the image to 4.7 Gb but this is no longer an issue with USB drives compared to DVD's:

Voyager also includes a couple of Ventoy tools, including USB creation with persistence, plus OS eraser and Gnome removal tool!

1 Like

At this point they've invested a good amount of time and effort into learning how to tweak Gnome, develop extensions for it, etc. Moving away from it just like that would be difficult, and as long as they can still work out how to deliver their view of a GNU/Linux desktop should look and feel, they have no reason to change.

We'll see if this changes in the future...

4 Likes

Ubuntu, Red Hat, and Arch removed 32 bit support a while ago. Debian was the last "big and popular" distro that supported it, but that is no longer the case since debian 13. I don't know about lesser known ones, but even if they did, software support would likely be quite limited or require a lot of manual work from the user to get it working.

At least debian 12 is still supported, so 32 bit still has some more years of life

My experience seems to have been quite differently. Some programs would have visual glitches and the lock screen would sometimes freeze and need to manually restart the process with htop sometimes on debian 12 (plasma 5.27 I think) but now on debian 13 (plasma 6.3) those visual glitches and freezes don't happen anymore. I do not know how much of this is related to switching from xorg to wayland in plasma 6, but so far I find it pretty stable

One thing gnome does okay is following design trends that are pretty popular in android and windows 11 and considered pretty by a lot of people, so, combined with zorin's extensions, gnome still provides that "pretty and easy to use OOTB" design. Of course, that is subjective, but if you prefer less round interfaces Linux Mint or any distro with KDE fills that gap quite well already. With that in mind, I would be surprised if they switched to another DE unless something way too big to ignore or patch happened, like completely removing extensions support or making them so limited that the zorin task bar cannot exist, for example

2 Likes

I found Plasma 6.4.4 to be rock stable. I can't say the same for Plasma 5 which causes me a lot of issues. I did switched when Plasma 6.0 hit release.

1 Like

I must point out - @Storm and @Sorro, you both likely have used it much more and longer than I have.
Your perceptions are probably more accurate. I really just need to load up a Plasma D.E. and... force my way in...

It took me awhile to get comfy with KDE's settings etc. Usually I strip dolphin down to make a minimalistic file-browser. Eventually I file a bug report so KDE now supports the new .svg format for icons.

1 Like

Icons are one of my gripes. It likes to recolor my sets...

Gnome 4 now does that, too.

I learned that from Captain Janeway.

https://www.youtube.com/watch?v=bZI9MuSluSg&ab_channel=FairPriceComputerRepairInc.


I'm aware that the Zorin devs added a way to theme libadwaita apps in Zorin OS 17. As far as I can tell, you just need to make a Gtk4-compatible theme and add a hidden ".libadwaita" file into the "gtk-4.0" folder in your theme. I found this on one of their help pages:

That means if you're a theme developer, you can still style libadwaita apps in Zorin just like you can with Gtk3. Since the Gtk4/libadwaita themes are written in CSS, you should be able to write them the same way as before. The only difference is that some of the element names might have changed a bit (at least when I glanced at the theme files in /usr/share/themes myself).

I was curious about this, so I did a bit of digging to check if this is the case. I found this app called AWF which previews a bunch of widgets in all versions of Gtk: GitHub - luigifab/awf-extended: New features for A Widget Factory for GTK 2.24, 3.x, 4.x, 5.x.
It looks like Gtk4 has all the same widgets as Gtk3, which you can see in the screenshot on their GitHub page.

Some of the apps bundled in Zorin OS 17 (like GNOME Software) already use libadwaita and are styled with the custom Zorin theme, looking consistent with other Gtk3 apps.

I even noticed that the blue "suggested" button style (like the Install button in GNOME Software) has the same gradient look in libadwaita apps in Zorin OS 17, so it doesn't look like they got rid of gradients either.

As far as I understand, all this that means you should be able to make your own custom themes and make libadwaita apps look just like you want them to in Zorin, the same as with Gtk3.

No... It only means that you can theme (minimally) for yourself.
Or theme for those that are in the same exclusive club as you are.

And also, after much testing, I can tell you - LibAdwaita still overrides a lot. It does so on Zorin OS, too. LibAdapta and Libadwaita-without-libadwaita are very fragile since they are hacks, not Gnome Approved fixes - and therefor prone to complete breakage once Gnome releases a fix against them.

No, it does not.

"It looks like" is not research. Check documentation. Yes, I use AWF, which can be installed as gtk3 or 4 as well as the many gtk-dev tools.
I have been using all four of those tools for weeks, trying to find workarounds for the extensive removals Gnome has done.

And if you compare two objects in AWF, it is easy to seewhat is missing. Load up two and look right at the menu items.
Let's list them, since you want to claim that it looks like to you:

Removed - as in gone:

  • GdkScreen
  • GdkVisual
  • GdkDeviceManager
  • GdkWindow → GdkSurface
  • GtkMenu
  • GtkMenuBar
  • GtkMenuItem
  • GtkToolbar
  • GtkToolItem
  • GtkStatusIcon

So, what does this mean? The above cannot be themed explicitly and while if using some flat monocrhromatic themes, you can still visually mimic a gtk3 app (sometimes), the functionality is gone. Instead of having a functional widget, you would specify a plain container or gtkBox, and specify that, which is generic and will affect all other gtkBox elements.

Deprecated (this means that temporarily, they visually remain the same but if you do not port t the new API's, then your work will break whenever Gnome decides to update and perform the full removal):

  • GtkTreeView
  • GtkTreeModel - use GtkListView / GtkColumnView instead
  • GtkIconView - Use GtkGridView, gtk icon specificity no longer functions.
  • GtkComboBox / GtkComboBox Text - use gtk DropDown menu's instead (This utterly breaks entry items)
  • GtkTreeView/GtkIconView - cell rendering is slated for complete removal; what it is to be replaced with is unannounced but is probably a new list model that is more android-like.

Altered. These have not been fully removed, but how these api's are styled is changed. What this means, however, is that previous code, both for application development and for styling are changed to the point of breakage and necessitate either using GNome as Gnome demands it, or completely rewriting all of your work:

  • gtk_container_add() / gtk_container_remove() are both removed and replaced with gtk_grid_attach() or other high level composition or container specific api's
  • Subclasses and subclass semantics - specifying widgets is harder with their new classes unknown or preference given to composition rather than subclassing

Research works better than "It looks like at a glance to me...

-gtk-gradient and -gtklinear-gradient and -gtk-radial-gradient have been removed*.
These are specific to gtk- however W3C standards for css remain in place, so syling in the css with linear gradient, radial gradient (including repeating gradients) still works generically. So if your styling includes "-gtk-gradient(...)", it will no longer work at all. But it will work if you use "linear-gradient".

1 Like