Are you sure about that? I would think the exact opposite, that there are more good QT/KDElibs programs then GTK ones. And more recently more and more apps switch to QT (like wireshark for example).
And I heard somewhere that Gnome is very popular in the US, but everywhere else KDE is slightly more favored (apart from all the small DEs and WMs).
Other distributions favored Gnome, like Fedora and RedHat, which has been dominating the enterprise. And maybe I'm wrong, but compared to other distros, Kubuntu was always in good shape. Back in the day when Canonical was distributing CDs, I got one as well with Kubuntu on it, so it was officially supported.
For me I used to prefer Gnome because of the apps I was using. OpenOffice or Firefox seemed to be out of place in KDE. Plus I preferred a simpler environment, of course nowadays they've gone overboard.
I'd say more of the best apps are written for Qt. Certainly the only high-profile case I know of an app switching from one to the other was Rosegarden, which switched to Qt and found it to be a much better toolkit.
Part of the reason is history (if we're talking about 15 years ago then Qt had a more restrictive license - and, sad to say, the gnome website still spreads FUD about this, or did the last time I looked). But mostly I think it's that big distros have Gnome as the default - probably because it's easier to support since it's much less configurable than KDE.
(And I don't think it's a clear case of one being "more mainstream"; rather, my impression is that Americans tend to use Gnome/GTK and Europeans tend to use KDE/Qt)
> Plasma 5.2 and Frameworks 5 Applications have transitioned to a flatter style, and it’s safe to say Breeze veers towards a more Apple-esque school of design over Google or Microsoft takes on flatness.
That's the main thing I don't like about it. Also I don't get the depressive trend of washing out colors and turning the style into monochrome. What's wrong with colored icons?
I hope there will be a way to chose other styles and KDE will maintain the reputation of being very UI configurable.
If you don't like the icon theme you can search "icon" in the system settings and it gives you a page to either change from preinstalled themes or go to the kde-look repository of user themes to pick from.
So no, customization never went away. Breeze is just replacing Oxygen, but the ability to change it doesn't go away.
The downside however can be with GTK applications (for me it's primarily Firefox). Official themes like Oxygen got gtk{2,3}-engines-oxygen support to unify look and feel. With new official theme being Breeze the focus will probably shift on the later. So GTK applications will look ugly if you won't use the official theme.
Slightly related, but can someone clear up for me (a person who occasionally administers a headless Fedora box but doesn't venture into desktop Linux land) how different WMs and distros work when I want to install a particular piece of software? Does a desktop application have to be specifically written to run in KDE or Gnome or Unity? Or does it just look funny if I try to run a K* application in Gnome?
Generally the UI is written with one of the two big GUI toolkits: GTK (Gnome) or Qt (KDE). If you run Gnome, you get GTK and all the apps work without needing to download anything else, but if you have Gnome and want an app using the Qt framework, you'll need to download the Qt libraries, which can be substantial. Even after downloading the Qt libraries, though, the application might still look weird, since it's not a native GTK UI.
The state of WMs on Linux is really, really more complicated than it needs to be.
> The state of WMs on Linux is really, really more complicated than it needs to be.
Choice is always going to be a prominent force in Linux. There will always be folks who are going to write new toolkits and apps and there they will find users who would want to promote it. That is just the nature of Open source.
That being said I think no one really likes to use GTK+ app if they are targeting multiple desktop environment and operating system. Ubuntu's Unity 8 and KDE both are using Qt and Qt is already available on all possible platforms including Android.
I haven't done a whole lot of GUI development, but I briefly looked at Qt and it seemed like it cost a huge amount of money to use, so I wrote it off. Is that not the case?
Usually, if you have all the appropriate packages installed, running a GTK+ app in KDE/LXQt, or a Qt app in GNOME/XFCE/Cinnamon will look normal. The widgets/theme will not normally look identical to the WM's theme and widgets (Unless you're using a cross-widget theme such as Oxygen-gtk+), but you won't be seeing any real issues or loss of functionality.
Should an application (let's say, Amarok) require chunks of KDE to install on your nice GNOME desktop, your package manager will install those required packages along with the application, so that when it starts up, there are no missing libraries or errors. And those libraries will be loaded (in the case of Qt4, 50MB of libs) into memory for as long as the application is running.
Now, should you be running a headless install without all the appropriate lipstick packages already installed (some of us like running X apps over SSH sessions), you may see some really ugly naked widgets. Qt and GTK+ without any theming engine installed will not win any beauty pagents, but you'll be able to use the application, even without icons. And, should you wish to place some lipstick back on that pig, you just need to install a package or two to pretty everything back up.
TL;DR - Stuff should work fine between DE's, if it doesn't, then your distro is broken or frankenstein'd.
They work fine. There's even some effort to make apps use similar looking themes and icons when running in a different desktop; certainly things like tray integration work pretty consistently. It's not perfect - they might look a bit funny - but apps from the "other side" stick out less than e.g. java apps always do.
They look a bit funny and take a bit longer to start up. If you are on a Gnome desktop then the GTK libs will be already loaded when you try to open Gedit but its gonna need to load all the Qt libs into memory if you want to open KolourPaint.
IMO, its more of an inconvenience than a big deal breaker.