This stuff is the double edged sword behind why the year of the Linux desktop will either never arrive, or be WSL, depending on your definition.
For all the commendable work in the kernel on not breaking user space, Linux does not have a viable unified stable userland api like win32 or cocoa.
I say the above thinking my statement is rather blunt, but not too controversial, and hoping someone will refute it effectively with some desktop app sdk that will work on 90% of the distributions.
While I'm sure all of that is true, it may be that the interoperabiloty and flexibility/customizability of linux would be hampered by such a unified approach/toolset. So much excellent desktop software out there, and it runs great on most distros and set ups... how could that be if basic problems are insurmountable.
Oh they are not insurmountable, but I am not sure these are either basic problems, or as you might suggest easy to solve.
For example mouse hit testing a window for transparent areas. That's not very common and I don't see very many (none) projects that handle it.
Tray icons are a HUGE mess. People have fixed the issue for popular applications by taking the time to make it work on a variety of distros. This means adding in code to support libappindicator in you want the Ubuntu users to use your program from the tray. Sure the main apps distributed with Ubuntu support them, because Canonical is paying his devs to remake everything. Sure Steam works with it because, well it's Steam. But now, me the small guy, has to figure out how to add a code path to check for Ubuntu and use their API if I want a tray icon, and then I have to revisit it when they moved from version1 to version3. What next?
I agree with your final point, if the Royal they that are making these distributions could settle on a common standard or some least common denominator, then the small software shops of the world could Target Linux without having to do 12 hours of research on how many flavors of desktop environments there are and how many flavors of compositors on top of them there are, and how many flavors of distributions have what desktop environments.
The current state has the effect of so much fragmenting what you can deploy to where that most people throw their hands up in frustration and say they are not deploying to Linux at all, Linux can deal with a web interface.
only the biggest software companies can afford to write a gtk / QT UI and ship as a RPM / Deb / apt package / tar.gz
The wild part is no one seems to care that this great app fragmentation occurs. There is no equivalent of an EXE on Lenox, as the elf file is treated differently depending on the distribution.
The flat pack vs snap war indicates that app distribution also hasn't been solved. Windows has wix installer or install shield, Mac has .DMG, but Linux does not have a unified strategy for the common user tasks of installing software, running software, or managing your installed software.
I'm wondering if this is an older article. I definitely ran into that problem in the past but now things are fairly standardized across different desktop environments. But I do agree it would be nice to have a centralized repository for documentation similar to MSDN.
Windows programmers are still wanting Linux/UNIX to be the same as Windows. It isn't and isn't meant to be.
What I can't understand though, if Windows is so great, why does it need WSL?