Now KDE does provide compatible themes for GTK, but the fragmentation in GTK (2 vs 3) does not help. The solutions are at best a stopgap measure till the next major version breaks what you managed to get right. It's a never ending game of whack-a-mole. It does not help some of the most popular apps are written in GTK. As I speak due to reasons I haven't investigated yet, I am unable to paste text contents in GTK apps. Windows has other points I take issue with, but at least the UI just works as expected and doesn't seem to hang by a thread.
- XFCE
- BSPWM (very minimal, lots of set up, and not great documentation, but I manage windows for the most part without leaving my homerow now, so I love it. once you're past). If you're not one for keyboard shortcuts and muscle memory, it may not be interesting, but I run bspwm and love it.
Point taken on the GTK pain, it was so painful that I stopped using it (I used to run linux mint, and cinnamon/mate, Gnome, were also thorns in my side), and wince every time something I want to install has dependencies on GTK (just because it pulls in 10098123 other packages every time).
Less portable: both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.
Worse: frankly, what I dislike most is the frequent rewrites of major components, which keeps everything in a perpetual almost-stable state. I can get my Plasma box to act up just by trying several window decorations one after another in System Settings.
But there are a lot of things that recent Linux converts don't realize about their major pain points. For instance, until a few years ago, getting uniform looks between GTK, KDE and Qt applications was largely a solved problem, thanks to e.g. projects like QtCurve (there were several other solutions, QtCurve was just the one I liked most). Good luck with that today (see e.g. https://github.com/QtCurve/qtcurve-gtk3)
Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works" today which didn't "almost work" ten years ago, either, except it probably got rewritten at least once.
> Also what is IVI? this: https://www.ni.com/ivi/what.htm ?
Nope, it's short for In-Vehicle Infotainment systems. It's one of the very lucrative markets for Linux solutions, because the competing solutions are either tied to a specific big player's interest (Android) or super expensive (QNX). Video entertainment in general (IVI, smart TVs etc.) is the main force that drives graphics and UI-related development in Linux.
It's not a bad thing (quite the opposite, I certainly don't miss using VESA drivers...). But it does mean that, for the people doing work on major components of the graphics infrastructure, desktops aren't a priority. It needs real community effort in order to be turned into a viable desktop option, and that's pretty hard considering the rate at which developers are being driven away.
Yeah, turns out POSIX is no longer enough. I am all for operating systems using the best technology stack they've got. Nor Windows, macOS or BSDs get hate for doing the same, so why should Linux not be able to fully embrace its own solutions to make itself more competitive?
People always complain about this and that not being on par with Windows or macOS - well, in order to get there, you'll have to take full advantage of whatever APIs you can, even forgoing POSIX in some instances.
You can get the best experience using the most up-to-date APIs available on your platform or the most compatible, lowest common denominator experience, but you can't get both.
> Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works"
True that, it tends to "just work", on reasonably standard hardware, like the latest Dell XPS 15, practically everything 'just works', even on a 2015 retina MacBook Pro, my experience has been near flawless.
Thank God the guys who write the kernel never thought about this :-)
Besides, this isn't what I was criticizing. What I wrote (it often helps to read the whole argument before offering a counterpoint) is:
> Both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.
Windows, MacOS and (at least Open)BSD don't get all this hate because they tend to introduce components when they're reasonably stable and almost always with full, proper documentation. They rarely dump beta-quality code for the community to test and document, like Red Hat did with pretty much every desktop technology they developed after 2005 or so.
Sorry, I tried, but can't see what you're arguing here, since the discussion was about user space, not the kernel.
> They rarely dump beta-quality code for the community to test and document
Huh, Microsoft has a loong history of updates breaking things, (even permanently) and they recently fired practically all their testers to let the users test their updates.
Mac OS 10.7 was a broken mess and the latest Sierra broke cURL.
Besides, that is the trade off of developing in the open, you get to see not only the good stuff, but all the quirks on the way there too, you must personally decide if it's a trade-of worth making.
Now, for all that I like Qt, I've never gotten into KDE because I can't run it without it crashing all the time. And Gnome is a great UI for my pre-literate children, but it's not for me. But the fact that mainstream desktop environments are a bad fit for me doesn't mean I'm having a bad time running Linux on my desktop! My window manager does exactly the things I want it to, and not one thing more. Linux crashes for me less often than Windows, and unlike Windows I can almost always ssh in and put things in order before I reboot. (In the course of developing a GUI application, there are lots of ways to create system instability!) I can't imagine, as a developer, preferring a watered-down Linux running on the Windows kernel to the real thing. It's like saying that Wine is Windows. (Not that Wine is a bad project, just that it's not a great way to have the Windows desktop experience.)
I run Arch and I definitely run into a few things from time to time where I need to go on a google hunt to figure out what's wrong (if it's not already obvious), but the distro is pretty user friendly (despite the 'hard core' reputation it has which honestly drew me to it). Ubuntu just about works right out of the box 99% of the time these days.
Also what is IVI? this: https://www.ni.com/ivi/what.htm ?