Remember:
> I guess you have to decide if you are a GNOME app, an Ubuntu app, or an XFCE app unfortunately. I'm sorry that this is the case but it wasn't GNOME's fault that Ubuntu has started this fork. And I have no idea what XFCE is or does sorry.
> It is my hope that you are a GNOME app. Yes this kind of fragmentation is unfortunate. I'm not happy about it either. Anyway, I just wanted to give you a heads up. Wish you the best.
This was a message from a GNOME dev about the transmission torrent client, 11 years ago. I guess they're consistent with themselves over time at least.
The issue about border decorations on Wayland on their gitlab was also bewilderingly infuriating.
Where is this from?
Nice.
First option for anyone coming from other OS should be kde. Defaults are sane and customizations are easy to do. Frankly I really don't know why all distros provide gnome by default. There are neither helping themselves nor the broader linux desktop community by shipping something that's broken in so many ways.
As far as I know, GNOME is still the only Linux desktop environment that includes a screen reader, and possibly some other categories of accessibility tools. That's important for distributors who are legally required to provide accessibility options, e.g. because they're selling to the US federal government.
Libadwaita is an implementation of GNOME's design, analogous to libgranite in elementary OS. This includes the visual design. GNOME only has one style, Adwaita (which means “the only one”!).
If you don't want to use GNOME's design, you don't want to use libadwaita.
> basic desktop integration on non-GNOME desktops
Libadwaita is the library you use when you're targetting GNOME.
If you want to target something other than GNOME, you don't want to use libadwaita.
Libadwaita isn't trying to be a general-purpose library for making apps that feel integrated on any platform. I don't think it's reasonable to criticise it for not being something it's not trying to be. It's like objecting that a dog doesn't meow :)
> and has it's own litany of bugs that accompany it.
Now, that is always a fair criticism :)
> If you want to target something other than GNOME, you don't want to use libadwaita.
Does GTK4 provide any viable model of development if one doesn't want to target GNOME or elementary? I, for one, haven't seen a non-trivial GTK4 app that doesn't use libadwaita or libgranite and the more I discuss this online, the more I suspect that this is intended but unspoken behavior.
Even LibreOffice has now decided to use libadwaita. Does that mean LibreOffice's GTK version is only intended for GNOME? If yes, GTK4 is basically a toolkit for GNOME masquerading as a general purpose toolkit.
It's possible to make apps using GTK3 without libhandy, so I don't see why you couldn't make apps using GTK4 without libadwaita.
Technically, libadwaita is just a bunch of widgets. Apparently it's a very useful bunch of widgets.
> Even LibreOffice has now decided to use libadwaita. Does that mean LibreOffice's GTK version is only intended for GNOME?
I guess so. Either that, or they're intending to use libadwaita in an “off-label” way.
> If yes, GTK4 is basically a toolkit for GNOME masquerading as a general purpose toolkit.
The whole reason libadwaita's widgets are not just part of GTK is so that GTK doesn't have to cater to GNOME, and can be a more general-purpose toolkit. Libadwaita 1.0 was just released last month, so presumably it will take some time for that to come to fruition.
Please, just use GTK2 or GTK3 if you're planning on making non-GNOME apps. GTK4 is simply not finished yet.
Why do those things have to be tightly coupled all of a sudden? We've made it through decades without breaking theming, what changed?
According to the GNOME team, application developers were getting bug reports filed against their application about broken interface elements, and GNOME was having bug reports filed for the same. The devs stated it was the fault of the theme being used, and as such it would eliminate a lot of headaches for both if themes were forbidden.
"Independent developers" set out to explain this in more detail. [1] While it is targeted at vendors who created their own themes for branding, it echos the overall sentiment toward theming from GNOME itself.
A blog post from a dev as well. [2]
[1] https://stopthemingmy.app/ [2] https://blogs.gnome.org/tbernard/2018/10/15/restyling-apps-a...
If you just don't want the ui design pattern just use the gesture, it's already there waiting for you to make something with it.
Things like swipe with three fingers to switch desktops, swipe up with three fingers to show open windows etc. Why is all that stuff tied to a UI theme?
Swipe to switch desktops is implemented in GNOME Shell and Mutter. GNOME Shell's default CSS style is also called Adwaita, but it in no way affects the availability of gestures.
What is the reason for no group emerging, forking gnome and doing it the right way? I'd actually pay to support such efforts.
That's basically what happened with XFCE, MATE, Cinnamon and Budgie, the rest of the userbase is pretty contented with other desktops like Plasma that can fill most of the same gaps.
With that being said, I too would fund a GTK2 or GTK3 fork if I could be promised developers who don't swing their ego around like a sledgehammer and refuse to apologize when things break. The GNOME project is starting to be the albatross of Linux development, and while I'm happy to develop with GTK3 ad-infinitum, I do hope that a fork emerges from someone more capable (and with more free time) than me. Come to think of it, it's kinda crazy how most modern DEs are made just because of how tired people are running the GNOME treadmill.
https://github.com/linux-surface/linux-surface/wiki/Supporte...
GTK4 is really bad. It launched with horrible text rendering issues (still unfixed, 10+ months later), broke compatibility with a number of basic features, and then had those features replaced by the GNOME middleware known as libadwaita. libadwaita is in a "functional" release state, but still lacks support for custom stylesheets, basic desktop integration on non-GNOME desktops and has it's own litany of bugs that accompany it. Fair enough for brand-new software, but the state of GTK4 is unacceptable and borderline impossible to use on a daily basis. If you're a developer, things only get worse. Gone are the days of fast app development with gtk::Builder workflows, and now Glade has been thrown by the wayside with no replacement. Talk about a second-class developer experience. And then there's the strange omissions that the GNOME team insists on; some issues are marked as WONTFIX since they can be mitigated with Flatpak. Some features (like appindicators) have been ignored completely because they don't align with the GNOME desktop's vision. The general demeanor of the team has been my-way-or-the-highway, so making suggestions mostly gets you labelled as a troll in their gitlab and sees you forcibly removed if you don't give up and assimilate into their opinion.
Flatpak itself is becoming the new Wayland. With more than 600 open issues on Github and outstanding issues like random data deletion, portal malfunctioning, compositor glitches, security holes and more, it's less like the "one package manager to rule them all" and more like "snap but it doesn't work". It's slow, doubles the dependencies that you store on your system (!!!) and doesn't integrate with your desktop unless you go out of your way to install questionable third party hacks that forward your native stylesheet and XDG options. I'd honestly rather use AppImage if given the option.
The future of app development on Linux is bleaker than ever. Fragmentation is at an all-time-high, and the technology that was supposed to fix it only fanned the flames into an unsalvageable dumpster fire. If you are a Linux developer planning on shipping an app, please stay on GTK2/3 for the sake of your users. I outright refuse to run GTK4, libadwaita or Flatpak on any of my systems. Nothing I've seen recently changes my opinion on that.
Dead dove, do not eat.