I left OSX for Linux 5 years ago primarily due to the unbelievably lacking window management. Having come from Windoze land with the then, and perhaps still, excellent UltraMon, I could never adapt to manually reizing app windows side by side into grids, or context switching between layers expose-style.
The tiling window manager options on Linux are so good that I've dropped the desktop environment entirely (Gnome, KDE, etc.) and am just rolling with a TM, lightweight theme and icon package for a quite nice gtk3 look.
OSX wins in out of the box "just works" and bling departments, no argument there, but otherwise it holds no appeal, this bird has flown...
I started out with Awesome as well but switched to i3, get a huge amount of functionality out of a very straightforward config (read: low PITA/high reward factor).
Anyway, for a very nice gtk3 look you can try StudioFlat off of the Gnome Look site, and gnome-icons-brave via whatever your package manager happens to be.
The tiny xcalib package (100kb) is also worth grabbing, hook up to xbindkeys and you get screen color inversion _per monitor_, very bad ass, your eyes will love it.
Use 2+ monitors and 2+ desktops ('Spaces' or whatever they're called). When you're expecting to go from app A to app B, instead you're taken to app C. Or, you're taken to an unexpected window of App B on a different desktop.
Also, the Z-ordering of windows seems really odd. If you have multiple windows open from two apps, and you ⌘+` between them, sometimes all of App A windows are brought to the front and App B windows are hidden. Other times only one App A window is brought up. Meanwhile, if you have App C chilling on a different monitor, it may or may not disappear at random.
Even if it worked as intended, it would be flawed when compared with Alt+Tab on windows.
I agree, the full-screen and multi-monitor workflow stuff in OS X has been improving slightly, but it's still quite a mess. Apple seems to go out of their way to make it not work well.
That's very generous. I think a more correct response would be that the multi-monitor workflow in OSX is shockingly bad, so much so that we have to question whether anyone at apple uses 3 or more monitors as their work environment at all.
Is there some company edict, or cultural pressure that discourages it ? I don't see how any of these issues could have survived early-alpha (of Lion, and ML, and Mav., etc.)
Oh I see. I frequently use a second monitor and there are times when some app will open or show that really had no reason to. This tends to happen when I do ⌘+tab. On the other hand, window navigation for me has been fairly decent.
I don't know which of the two are "buggy", but command-tab and command-tidle have different behaviors:
command-tab will let you toggle back and forth between last two apps - sort of a classic alt-tab behavior from Windows and various UNIX WMs.
command-tilde goes through your windows in a stack, in one direction, and you have to modify it with shift to go a different way. Further, if you destroy a window after command-tilde to get to it, suddenly the direction gets reversed, and you will then command-tilde back the other direction.
So ... one of these is "wrong". I'll leave it to you to decide which. From my perspective, the ability to rapidly switch back and forth between two windows of the same application is valuable, and I hate having to modify it with shift as I go back and forth...
In a comment above you said that you're still using Snow Leopard on at least one machine and I can't recall if it works there (though I don't remember the last time this feature changed and I've been using since 10.1)...
Command-Shift-` will reverse the order
Command-Tab will flip back and forth unless you exceed the delay while still holding command, at which point you can cycle through the stack. Holding shift reverses the direction.
That being said, I agree that swapping back and forth in between windows of the same app is very useful and it's a pity that the two features aren't made to work in the same way. I'd like to do a quick Command-` to toggle two windows, or hold it down to see the list of windows for the current app.
Thanks for putting your finger on that niggling feeling I've always had that command-tilde isn't quite right. The really obvious difference, of course, is that command-tab gives you a nice preview of what you're about to switch to, helping you make the decision in the first place. command-tilde just dumps you somewhere else and hopes you're not too upset with where you end up.