MacOS – Yosemite: prevent ‘Bring All to Front’ behaviour on Command-Tab

macos

On Yosemite, using Command+Tab will bring all the windows of the selected application on top of everything else, similarly to using 'Window->Bring All to Front' when inside the application.

Note that Yosemite does manage interleaved windows, when manually clicking on background windows. It is possible to have two applications A and B, each with two windows each, and have (front-to-back) A1, B1, A2, B2 interleaved windows.

However, when using Command+Tab to select application A(or clicking on the application icon in the dock) will bring A1 and A2 on top of everything else.

It would be really nice to be able to only bring on top the last used window of a given application (namely A1), instead of all of them, hence preserving the interleaving of the other windows.

I'm not looking for Command-Tab to display all existing windows of all applications (like Witch, proposed in other answers), just not to bring all windows to front. and would like to avoid using Exposé/Mission Control (which requires more inputs).

Interestingly, I can already use SpotLight search with 'Terminal' for example, and this will bring the last active Terminal window in front, but not the other ones. This is what I would like to happen when using Command+Tab.

Do you know if there is any way to do this? I'm happy with some esoteric command-line solution.

Cheers,
Chaos

Best Answer

I had the need to run a terminal (to do git commits) over the top of another window (which shows diffs between files). I therefore ran in terminal...

sleep 2; open -a Terminal

Then switched to the diff window with CMD+Tab. After two seconds, Mac OS X foregrounded the single Terminal window I was typing commands in.