I really liked this comment war, even if you guys don't seem to like each other :P I'ma throw in my two cents because I like throwing myself amongst the lions. But I'm starting with comments from the top of tree though.

> I guarantee there's no way that the Windows WM is "more flexible" than any linux WM.

The new version of Nautilus is competitive for being less flexible!

> I assume you have workspaces in Windows?

I personally never used workspaces, I prefer alt-tab. When I have 2+ monitors workspaces seem clunky and just another layer of tab switching with different buttons. Monitors have gotten big, cheap, and plentiful enough that the original use case of workspaces is falling by the wayside. Not saying the option to use them is bad, just that I have no use for them personally, for the reasons above.

> It's consistent. It's been consistent for 7 iterations. 95, 98, 2000, XP, Vista, 7, 8.

The original explorer.exe was a wrapper on the DOS terminal and would regularly crash when trying to open something because the kernel wasn't preemptive. Wasn't really consistent UX at all. The old Windows 9X everything was always buggy, blue screen prone, and crash happy. The introduction of Aero in Vista also significantly changed a lot of the WM UX (start menu search, layout, composting, etc). The changing the of the start bar to a pinnable dock in 7 was also a pretty radical shift.

> Consistent + Stable = Win

I'd argue consistency doesn't matter as much in Linux world, because you can just use an old WM if you like it more than a new one. And if you like it more, it is probably stable. If it starts breaking, someone will probably fork it.

> It's the driver availability, quality, and support. And that, of course, comes from market dominance.

I haven't found many devices in recent memory that don't have some Linux support without the manufacturer going out of their way to obfuscate the implementation. A lot of people put in a ton of effort to make hardware work under Linux that the manufacturers don't care to properly document.

> They're all drag-and-dropable, they're all resizeable.

I get really annoyed in a lot of Linux WMs / DEs because of how they don't support drag and drop on the panel / launcher. XFCE requires writing obfuscated launchers, for example. I could get into why I'm not implementing that feature myself, but the intricacies of X drag and drop are something I don't have the patience or intelligence to dig into.

> You are restricted to hardware that works on your operating system of choice.

Windows won't run on a raspberry pi, anything based on powerPC, ARM (at least in a functional version, Windows RT is a trainwreck in my book by branding alongside Win8 without x86 emulation). If you are arguing that traditional laptop / desktop manufacturers are making sure their devices work with the pre-installed OS, color me shocked.

I never got on board with the crusade to make Linux run on every piece of hardware ever, because I think that is giving hardware manufacturers too much credit. Trying to reverse engineer everything is basically giving them a pass on making devices that don't work the way they are intended. If they don't want to give the kernel devs even the crumbs to replicate functionality, just telling people that company is an asshole is plenty in my book. There is nothing beholden to an OS to support everything you can plug into a usb port, even though it is neat when a wiimote works.

> I buy any hardware I want, with the full knowledge that it will work properly on Windows the way the manufacturer intended. Even Apple, the only major manufacturer out there that doesn't make hardware targeted at Windows, puts out drivers for Windows.

I have had plenty of printer / NIC / sound card driver issues under Windows, even in 7. Software doesn't suddenly become bug free, especially complex software like an OS, just because it has profit motive behind it.

> So Linux doesn't run on specific hardware that require hand crafted drivers from the manufacturer. Off topic much? We were talking about consistency of window mangers.

The argument devolved into Windows vs Linux when it is apples and oranges. Microsoft is a for profit company that incentivises you buying their OS (either prebundled or in a box) and Linux could care less, even though Ubuntu / Red Hat like supporting you for money when you use it. But Linux is developed because OSS developers want a desktop they like (or a server, or a seismometer, or a robot..) and Windows is developed to be sold to you. Different use cases.

> Again, you've listed NOTHING about the Windows WM that you are "used to" or is "particularly consistent". Because, you and I both know what those things will be and that most Linux DEs have the exact same configuration.

Some things I like about the Windows desktop:

Windows don't randomly open in strange places (a lot of gtk apps have a habit of launching half off screen depending on prevous resizing, Evince does it a lot). Windows has GUI based kernel hooks to recover from a bad process (if I want to do the equivalent of ctrl-alt-del in Linux, I need to switch off X to a TTY and try fixing it from the terminal, because there is no Gnome based (to my knowledge, at least) way to override a fullscreen openGL application that crashes, ex: Space Pirates and Zombies, recently).

The system tray in Windows is a lot easier to work with since you can select options right from it, rather than through system settings in some Gnome desktops, and I still don't know how to configure it under Cairo Dock, Docky, Cinnamon, or XFCE.

Windows had a really nice out of the box behavior where I could just stick the taskbar on the left side of the screen and have the entire screens worth of vertical space available. In something like Firefox, that would mean the maximized app would have tabs in the title bar, so I had an entire 1080 pixels of Firefox, and on a 16:9 monitor that is really useful. I still can't find a WM that lets Firefox (I think Chrome can do it in some) do the tabs in the title bar thing. I figure it wouldn't even be hard - I could imagine a WM just giving the application whatever space the title bar occupies to work with, with some statistics about where the navigation buttons are, so it can control the transparency and draw in the title bar as well, and just avoid those buttons. That was a tangent. Also not going to try to get that implemented in Muffin / Mutter or whatever, because it sounds hard.

Anywho, only KDE seems to allow the same UX (vertical panel on left with system tray, time, etc, built in, letting applications have the entire vertical pixels for the rest of the screen, with a panel like pinnable launcher bar, and they don't have neat mouseovers like Windows has previews of open windows or system controls).

Alt tab is nicer in Windows (even though some Compiz active corner effects are neat in Unity / Cinnamon with whatever they replaced Mendacity with I don't even remember now) since it shows the open Windows. Cinnamon has a smart corner that intelligently fills the screen with active windows though, which is also really cool. But alt-tab in Unity / Gnome (by default at least, I have even tried reading a bunch of manuals on these desktops and I still don't know 5% of potential configurations) just shows icons.

Another thing is the super-key behavior, Windows does it really well with the ability to just type and enter commands, or have a dynamic search that is intelligent by remembering your history, recent files, etc. Unity is similar, Gnome 3 is close, and KDE is close too, but respectively, Unity and Gnome have terrible / almost no configuration and dumb top bars as a result and KDE is slow as hell (at least on startup, but it even lags my i7 920 on some of its composting).

I do use Linux almost full time now - I have been transitioning off Windows for the last ~6 months, since Steam was announced on Ubuntu. I got SC2 / TF2 / League running under Wine since then, so I don't have any real reason to restart in Windows (except Darksiders 2 for a fwe weeks, that game was amazing and I'm too dumb to create custom Wine environments and find all the DLLs it needs without a playonlinux script).

Woo, wall of text.