Libadwaita: splitting GTK and design language

There’s no denying that not everyone is happy with the state of the GTK world, and I, too, have argued that GNOME’s massive presence and seeming unwillingness to cooperate with or even consider the existence of other GTK-based desktop environments is doing real, measurable harm to the likes of Xfce, Cinnamon, and others. A major root cause is a feeling that GTK is nothing but a vessel for GNOME, and that the project doesn’t really seem to care much about anyone else.

GNOME Foundation member and all-round very kind person Hari Rana, also known as TheEvilSkeleton, penned a blog post highlighting the other side of the story. In essence, what it comes down to, according to Rana, is that it’s better for everyone if GNOME-specific widgets are moved out of GTK, and into something else – first libhandy, and now its succesor libadwaita, splitting the toolkit (GTK) from the design language (libadwaita). This allows GNOME developers to focus on, well, GNOME, and frees up time for GTK developers to focus on generic widgets that aren’t specific to GNOME.

Thanks to the removal of GNOME widgets from GTK 4, GTK developers can continue to work on general-purpose widgets, without being influenced or restricted in any way by the GNOME HIG. Developers of cross-platform GTK 3 apps that rely exclusively on general-purpose widgets can be more confident that GTK 4 won’t remove these widgets, and hopefully enjoy the benefits that GTK 4 offers.

↫ Hari Rana

From a GNOME standpoint, this makes perfect sense, and I can obviously see the benefits for them. However, what this entire post seems to ignore is that the main effect of the split between GTK 4 and libadwaita is that various GTK applications, now targeting libadwaita because of GNOME’s immense popularity, simply no longer integrate very well with other desktops, like Xfce or Cinnamon. GNOME is, of course, under no obligation to remedy this situation, but at the very least they could acknowledge this is a very real problem that their fellow developers working on Xfce, Cinnamon, MATE, and others, have to deal with.

It works the other way around too. Developers targeting the Linux desktop, where GNOME is more or less the default, have to choose between making a GTK application that integrates well with GNOME by opting for libadwaita and leaving non-GNOME users with a crappy experience, or opting for ‘pure’ GTK 4 and leaving GNOME users with a worse experience. Neither option is good for the Linux desktop as a whole.

The very real ripple effects of GNOME’s choices regarding GTK and libadwaita are seemingly being stubbornly ignored, neglected, and often not even acknowledged at all, and it’s no surprise this creates an immense amount of friction in the wider desktop Linux community. It just feels smug and careless, and of course that’s going to rub people the wrong way- regardless of the purity of your intentions.

20 Comments

  1. 2024-06-03 4:37 pm
    • 2024-06-04 9:55 am
      • 2024-06-05 5:15 am
    • 2024-06-04 9:59 am
      • 2024-06-04 11:19 am
        • 2024-06-04 11:52 am
          • 2024-06-04 12:19 pm
          • 2024-06-04 12:32 pm
          • 2024-06-04 2:31 pm
          • 2024-06-04 2:52 pm
      • 2024-06-04 4:28 pm
        • 2024-06-04 5:28 pm
    • 2024-06-05 9:59 am
  2. 2024-06-03 4:56 pm
  3. 2024-06-04 10:38 am
    • 2024-06-04 1:46 pm
      • 2024-06-05 7:57 am
  4. 2024-06-04 3:48 pm
  5. 2024-06-05 3:45 am
  6. 2024-06-05 10:31 am