Libadwaita: Splitting GTK and Design Language
Libadwaita and separation from GTK
- Many see libadwaita as GTK returning to being a generic toolkit, with GNOME‑specific design moved out.
- Some compare this to older “libgnome*” splits; others note that even then GNOME‑specific APIs were supposed to live outside GTK.
- Supporters say this lets GTK be more cross‑platform and stable, while GNOME iterates on its own design language in libadwaita.
Theming and non‑GNOME desktops
- A core complaint: libadwaita hard‑codes the Adwaita look, making GNOME apps harder to integrate visually with other desktops (KDE, XFCE, Cinnamon, etc.).
- There are hacks/patches to make libadwaita themeable, but this is seen as a regression from GTK2/3 where global theming was easier.
- GNOME defenders argue unrestricted theming frequently broke apps and that a consistent, locked‑down design is intentional.
GTK4 direction and API stability
- Several long‑time GTK users criticize frequent breaking changes, removed widgets (e.g., GtkDialog, GtkMenuBar APIs, GtkSocket/Plug), and harder extensibility, claiming it imposes large porting burdens.
- Others reply that many removed APIs were buggy, X11‑specific, or misdesigned; deprecations often lasted ~a decade; cross‑platform consistency and simpler internals justify removals.
- Some non‑GNOME DE developers say GTK4 is now “GTK4+libadwaita for GNOME, bare‑bones GTK4 for everyone else,” forcing them to rebuild lost functionality.
Dialogs, menus, and design language
- Confusion around GtkDialog/MenuBar: they’re deprecated/removed as widgets, but replacement patterns (GAction‑based menus, GtkAlertDialog, plain GtkWindow + modal flags) still exist.
- GNOME‑specific libraries now encode button order, labels, and layout conventions, similar to platform HIGs on Windows/macOS.
Window decorations and UX choices
- Contentious debate over client‑side decorations, headerbars, tray removal, and button placement.
- Critics see these as hostile to non‑GNOME apps and power users; supporters say CSDs save space, trays weren’t needed, and many users prefer the simpler GNOME workflow.
Ecosystem fragmentation and alternatives
- Multiple commenters link GNOME’s design and API decisions to the proliferation of GTK‑based DEs (Cinnamon, MATE, Budgie, Pantheon, Cosmic, etc.).
- Others argue forks and diversity aren’t “wasted effort” but expressions of different UX goals; KDE’s high customizability is contrasted with GNOME’s strong opinions.
- Some wish for or work on alternative toolkits (Qt, Rust/iced, libxapp, web/Flutter), but note this further multiplies integration/theming problems.
Developer relations and trust
- Several users report long‑standing bugs, ignored or delayed patches, and hostile issue handling, leading them to abandon GTK/GNOME.
- Others counter that maintainers are overworked volunteers, that expectations are too high, and that critics should fork or contribute rather than only vent.