210

Is there any program or way to make Mac OS X's Tab(Command-Tab) behave like Windows' AltTab?

That is, instead of switching between applications, to switch between windows of all applications?

I do know there's a way to switch between windows of the same application using `, but that's not what I want either.

I'm not just trying to make Mac OS X behave like my recent former OS, I've been a Mac user for over two years and before that Ubuntu. After using Expose and Tab I think Windows' or Ubuntu's AltTab is better.

14
  • 1
    I rarely use Exposé. ⌘-tab and ⌘` are good enough for me. Having said that, I've heard good things about Witch mentioned below.
    – fideli
    Sep 29 '10 at 12:37
  • 10
    Try this: switch between applications using Cmd-tab, but hold the Cmd key after you released the tab key, and while still holding the Cmd key, press up- or down arrow. This brings up Expose right from program switching. Oct 22 '12 at 21:08
  • 3
    +1 for this question, especially when using a non-US keyboard where the ` key is on the right side of the keyboard. Jan 31 '13 at 9:56
  • 2
    Ignore first comment from lajuette. incorrect. Yes, there is a program which does this. 'Witch', see accepted answer.
    – malatio
    Jul 12 '13 at 18:29
  • 1
    @Jonathan Least recently used. If I do alt-tab in Windows to switch from my browser to my text editor and then copy whatever is selected there, I can then use alt-tab to get back to my browser. With the keyboard shortcut you gave, pressing it a second time will go to a different app than the one you originally. In my case, if I have windows in Firefox, Safari, Terminal, TextEdit, System Preferences, and Finder open, I would have to press your shortcut many times to get back. As long as each app has exactly one window open, command-tab will return me to where I was correctly.
    – binki
    Jul 20 at 21:38

10 Answers 10

63

You can get Witch which makes alt-tab work like Windows switching between windows not apps. However see This question if there are alternatives.

The Apple way is exposé but does require a different way of thinking.

19
  • 43
    I did use "thinking differently" for over two years, it tires my finger. Thanks for the recommendations, looks like they are exactly what I was looking for.
    – pupeno
    Sep 30 '10 at 8:39
  • 43
    @ghoppe The order of tabs in windows-style alt-tab is dependent on the order of when the windows were last visited. Therefore, if you know you need to get to the last window you were looking at, a single alt-tab is all you need, as opposed to having to locate the window in expose
    – Matt
    Oct 6 '10 at 15:30
  • 1
    @javadba Um, yes it does. If it doesn't on your machine, you must have a non-standard setup or extension installed. I'm using it now. If you still don't believe me, here's an article explaining the behaviour: "Command-Tab: This activates the menu and switches through applications in order of when they were last accessed. The foremost application will be on the left, and repeatedly pressing the Tab key will go through each application you have open."
    – ghoppe
    Sep 28 '13 at 17:52
  • 25
    The real problem for me is that I do not want ALL my terminal windows popping up and covering over my browser with the command I want to type and my code that I'm referencing.. I want just the last terminal window from a different application and NOT all of them.
    – Damon
    Sep 19 '14 at 21:56
  • 3
    This (Witch) allows you to access your minimised windows with the keyboard. Why thus can't usually be done is beyond me.
    – apkg
    Nov 19 '16 at 3:13
69

Use ⌘ Command+Tab to switch between different open applications and ⌘ Command+` (backtick) to switch between multiple open windows of a single program.

6
  • 2
    that's not Cmd-~ but Cmd-` (and like that it's also described in the documentation). Cmd-~ does not exist, If it was a shortcut, it would be described as Cmd-Shift-` Oct 22 '12 at 18:33
  • 5
    This would be great if it worked for switching between windows of the same app while one of those windows is in a different space (or fullscreen). Sadly it doesn't... Aug 12 '15 at 18:23
  • 4
    Also those functions have very different behavior. Cmd-Tab lets you switch back and forth between two windows of different apps in addition to cycling. Cmd-` cycles through windows of an app, and does NOT give the ability to switch back and forth between two windows, which is why I never use it.
    – kitti
    Nov 22 '16 at 17:47
  • This is actually the most time saving and useful thing to know here, and in my view is THE ONLY REASON why expose is not complete junkware. I can't believe I've been using a mac for 4 years and this has not come up. I can move my finger 1cm and solve the problem? Conversation closed (for me).
    – Tim Ogilvy
    Jun 27 '17 at 1:00
  • 9
    Distinctly not what was asked, question author directly stated that he knew how to switch between windows of a single application already.
    – derekv
    Jan 11 '19 at 17:15
58

Hyperswitch is another application to switch between all open windows of all open applications like in Windows/Linux. It defaults to using alt+tab so that you can still use the default ⌘ command+tab switching, but you have the option of overriding that and can set it to use ⌘ command+tab to replace the default functionality.

It is currently free while it is in beta.

Otherwise you have to do ⌘ command+tab to get to your application, let go of the tab and press 1 to activate the windows of your application, then use the arrow keys (or the mouse) to select the window you want.

Or control+F4 but that doesn't give you the previews - it just cycles open windows.

10
  • 2
    Hyperswitch is the best one I've used. Closest to the Windows native alt-tab format I'm used to. Jun 8 '15 at 19:45
  • Awesome tool! Definitely mimics the Windows experience I'm so used to.
    – Elad Nava
    Feb 3 '16 at 19:29
  • Awesome! Also stops OSX from raising every f*n Chrome window on every monitor when I Cmd-Tab to one.
    – kitti
    Nov 22 '16 at 17:55
  • 2
    1 is perfect solution for me
    – resting
    Aug 30 '19 at 17:30
  • This is so great, so much better than Which, thank you. Nov 13 '19 at 21:50
25

Okay, one free app not mentioned here yet is Alt-Tab.

The project page includes a comparison between the popular projects.

It's free software! Also it has a good amount of customisability and allows to recreate your favourite experience. The settings page should give you an idea about the range of possible options:

Preferences

Download it from the homepage or alternatively from homebrew:

brew install --cask alt-tab
3
  • 3
    Switched to Alt-Tab after hyperswitch started behaving odd - never been happier !!
    – Neeraj
    Sep 23 '20 at 16:39
  • homebrew has gone the lazy route and prevents this from working on El Capitan, despite the software itself retaining compatibility. If someone knows how to use brew to install this on El Capitan, I'll be highly appreciative.
    – Otheus
    Nov 10 '20 at 21:20
  • Thank you! This is exactly the right answer.
    – Théophile
    Aug 27 at 2:35
6

Another option is to 'hide' the application using ⌘(command) + H rather than minimizing it. This way you can use ⌘(command)+tab to select the application and bring it to focus like Windows.

3
  • 4
    Windows has a window-based switcher, while OS X has an application based switcher. Your answer does not seem to address that fundamental difference.
    – Daniel Beck
    Jul 25 '12 at 11:48
  • 1
    That's true it doesn't, but the high level question is also how to make the Mac 'behave' more like Windows alt-tab. As you say the biggest difference is the window vs application behaviour but another key difference in the behaviour is that in Windows when a window is selected with alt-tab it is maximized even if it had been previously minimized, this doesn't happen in the Mac. Using ⌘(command) + H rather than minimizing means that when an application is later selected with ⌘-tab it is automatically brought to the front and I see this as behaving more like Windows.
    – Chris
    Jul 25 '12 at 12:32
  • After googling like a madman for a simple answer, this is the best one I found. Instead of the CMD+M I'll use CMD+H and that's that. Thanks a lot.
    – PatrickT
    Nov 10 '13 at 9:01
6

For me the best option is contexts. Just check their site, app is amazing and beat all other solutions (and believe my, I try almost all of them). It's not yet perfect, but for me, competition is miles behind.

5

As a user with the same need, so far Witch is really the best answer. It provides a recent window switch behavior very much like Windows/UNIX.

The one drawback I've experienced, is that when you close a window in MacOS, it brings the next window from that application forward -- very annoying behavior when you expected to get back to the window from the OTHER application underneath. I'm doubtful there will be a way to fix this behavior.

For users who don't understand why Command-Tab is not a viable alternative.... Command-Tab brings ALL of an application's windows forward, which is not the desired behavior. Switching quickly between 2-4 recently used windows without disturbing any other windows is very easy with windows-style alt-tab, and very hard with mac Command-tab command-tilde.

1
  • @SuitUp Change what where? Not sure if you are referring to OSX or Which. Can you elaborate? Thanks!
    – Lee
    May 3 '16 at 17:46
4

You may want to try Optimal Layout as well: it combines powerful application and window switching with instant preview of window content + grid based window resizing and layout if needed.

3

Option + Tab switches between windows like Windows. Shift + Option + Tab to reverse cycle.

If it's not working check Keyboard Shortcuts Move focus to active or next windows and set to Option + Tab.

3
  • 1
    This worked for me. Default was ^F4.
    – dokkaebi
    Sep 5 '13 at 0:44
  • 2
    This is not exactly like windows: it doesn't implement a stack, so Option +Tab, Option + Tab doesn't take you back to the window you started at. Still a useful addition though thanks.
    – ahcox
    Oct 4 '17 at 17:22
  • Pointed out elsewhere - without LRU (see parent question discussion) the OSX built in system lacks. Especially when switching between two windows to copy/paste data - ex from an email to a spreadsheet both in chrome - keeping the fingers on alt tab and flip/flopping is great.
    – Jonathan
    Jul 26 at 17:45
-1

I just found that there's another alternative, that I'm using on my Ubuntu machine: there I switch between applications using Alt-Tab and between their windows using Alt-^ (which is the button on the top left corner on a German keyboard layout; on US keyboards it's actually ~ as Krishna pointed out). This way you only have to lift your finger a little higher when you want to switch windows of the current application.

To set that shortcut change Settings > Keyboard > Move focus to next window to -~ (DE: -^)

Not the answer you're looking for? Browse other questions tagged or ask your own question.