235

After 4 years of being a Mac user, there is only one thing that I still miss from the Windows world, and that is being able to switch with a single keystroke between all open windows in the computer.

What is the best app or utility, free or not, for accomplishing that?

I've used Witch, but I never was completely satisfied with it. It's a bit slow and the switcher UI is not very pretty.

Do you know any alternative?


EDIT (2016): This question keeps getting views and upvotes after 6 years. When I asked this question in 2010 I was still transitioning from being a Windows user. Eventually, I got used to Mac OS X UI and nowadays I don't use any third party utility for managing app windows, just Mission Control and the native keyboard shortcuts. So, although this question is no longer relevant for me I hope it is useful to new Mac users making the switch (Including this comment).

15 Answers15

130

Hyperswitch is free and works well. It also looks nice.

Update: ...but unfortunately as of May 2021 the app is not being updated anymore and has no native Apple Silicon (M1) support.

enter image description here

http://bahoom.com/hyperswitch

Paul
  • 1,487
  • 2
  • 9
  • 8
  • 14
    Well, after 4 years comes an answer that solves exactly my original question. No more, no less. I hope this goes out of beta soon. thanks!, I will try it for a couple of weeks and if it works as advertised I could even mark it as the accepted answer. – Sergio Acosta Apr 15 '14 at 01:21
  • 5
    Finally the solution! – Lumi Jun 08 '14 at 08:40
  • I started using this beta. So far, so good. The only missing feature from the Windows implementation is the desktop composition where all windows are hidden, except for the window that is selected in the alt-tab menu. – GregB Jul 22 '14 at 19:50
  • I absolutely love Hyperswitch. I've gotten a few people asking me how I'm able to switch between apps so fast. The features of HyperSwitch should be baked into the OS. – Zlatty Jan 13 '15 at 17:27
  • 9
    Holy crap i created an account on Ask different just to thanks @Paul for this one, finally found an app like this for free – Pedro Garcia Mota Feb 13 '15 at 14:20
  • 8
    Hyperswitch does NOT implement the window switching feature that has been most valuable for me on MS Windows: It does not allow to quickly switch between last-used windows. This is important for me as I constantly switch between e.g. editor and browser to control my work. I have many windows open in both editor an browser and with Hyperswitch I have to do many keystrokes to switch back and forth between the most recently used. I found that Witch solves that. The list of Windows to switch between is by default ordered by usage and I can easily switch between the most recent ones. – Jpsy Mar 27 '15 at 17:17
  • This is great, except for the fact that it does not show apps with no currently active window (like Mail or Finder). – oarfish Jun 17 '15 at 14:42
  • @Jpsy sounds like you should contact the dev with a feature suggestion. OP - +1 thanks! – Raystafarian Jul 06 '15 at 16:14
  • 2
    You are god! :) – Srneczek Sep 03 '15 at 16:33
  • 7
    @Jspy hyperswitch does that - I just downloaded the latest verison, maybe you have older one – Srneczek Sep 03 '15 at 16:38
  • Is there documentation online somewhere? – studgeek Jul 05 '16 at 19:08
  • Tried just now on OS X 10.11 and it crashed within 20 min. Features are nice, particularly option to only show windows within one space (desktop), but need to find a more reliable tool. – RichVel Dec 11 '16 at 07:10
  • 1
    @Srneczek : Hyperswitch DOES implement switching between last 2 used apps, but it needs 2 strokes of Cmd+Tab to switch between them instead of only 1, like on Windows. Witch app does that correctly with "Initical selection skips currently active item when sorting by activity" option, but it does not show window previews like Hyperswitch does... No app is perfect here it seems. :( – Greg Dubicki Dec 25 '17 at 22:53
  • Latest version worked well for me. You need to give permission to use accessibility feature. Then launch this app and enable it to run in background. – Yogi Devendra Jul 10 '18 at 07:44
  • 1
    Keeps on crashing for me. I guess that's why it is "beta". – andresp Jun 05 '20 at 09:45
  • this is very good solution but hyperswitch doesn't activating when command+shift+tab shortcut. When I use this shortcut macos default app switcher activating. – kodmanyagha Aug 14 '20 at 08:04
  • Looks like its not free anymore, after the free trial you have to pay. – Embedded_Mugs Apr 26 '21 at 06:31
126

Here's a list of all the options from this page:
["italicized & quoted notes are sourced from linked url"]

  • Mission Control and native keyboard shortcuts: +tab or +` (backtick)
  • AltTab ["macOS 10.12 to 12"] [$0 (free), open source]
  • Witch ["v4.3.8 requires macOS 10.10 Yosemite or newer"] [$14]
  • Hyperswitch ["Mountain Lion, Mavericks & Yosemite"; works on Sierra & High Sierra] [$0 Free] [window preview]
  • Contexts ["v3.7.1 Works on Mojave & Catalina"] [$9 after Free trial]
  • Optimal Layout [Snow Leopard or later] [$0 (free) but not currently actively developed]
  • Karabiner - ["macOS 11.0 Big Sur, macOS 10.15 Catalina"]
  • Senebier ["10.4 or later", last update in 2012]
  • Hammerspoon with hs.window.switcher [free and open source]
  • Command-Tab Plus ["macOS 10.12 or later and is fully macOs Monterey ready", 13.75 €]
tiktuk
  • 133
  • Cmd+` only works for windows within the same space. – andresp Jun 05 '20 at 09:49
  • 12
    One vote for Alt-tab (installed by homebrew) on Big Sur + chip M1. – Anh-Thi DINH Feb 10 '21 at 10:30
  • 10
    AltTab is definitely the closest you'll get to Windows OS multitasking. I have tried several of the options listed on this thread, but nothing comes close to AltTab in terms of simplicity and stability. Running smoothly on M1 MacBook Air. – chlboshoff Feb 13 '21 at 15:21
  • I use Optimal Layout for quick-maximizing or 'halving' windows for multi-tasking. And Hyperswitch for previewable window-switching. – Jake Berger Feb 14 '21 at 23:42
  • 1
    AltTab is very similar to HyperSwitch while offering much more customisation and looking so much cleaner than HyperSwitch. Love it, thanks for the recommandation. – MathieuMaree Feb 24 '21 at 10:34
  • AltTab is awesome. You can configure it to look similar (clean look, no thumbnails) to the default MacOS switcher + map it to CMD+Tab. Then it becomes a very good replacement with the main difference that you have ALL windows in one switcher. Runs flawless on M1 Pro. – Juve Feb 19 '22 at 14:16
  • Alt-tab is great! – Volceri Mar 14 '23 at 16:21
40

I've been using AltTab, an open source application, with success.

AltTab brings the power of Windows’s “alt-tab” window switcher to macOS.

Alt-Tab is open source software that can be built & installed locally, or can be installed directly from its website or through Homebrew:

brew install --cask alt-tab
Eddie C.
  • 103
Stéphane Klein
  • 501
  • 4
  • 3
30

I'm guessing you're already aware, but for those searching the web there's always Ctrl+F4. No visual feedback, but it does switch between all windows for all apps (that are not hidden) with one command. Of course it's instant and so it doesn't reorder the list like ⌘+Tab does. I also got tired of Witch, but I decided that most of the time ⌘+` is all I need.

22

https://contexts.co/

Contexts for mac is a competitor to Witch. As a long-time non-mac user looking for more intuitive window switching , I really like this app. It allows for switching between all the windows you have open, using your keyboard or your mouse.

There's also an optional side panel, which is somewhat a replacement for the Mac Dock. It can be configured to hide applications that don't have a window, and displays multiple icons for multiple windows. As such, irrelevant background applications are hidden and multi-window apps can be managed more easily.

If need be you can still use Apple's Native App-switcher (cmd+tab) to close/switch-to background/windowless applications without using the native dock.

cloneman
  • 417
  • @sergio I also had a good first impression of this app, any reason it doesn't work for you? May have been updated since you tried it. – Jay Apr 11 '16 at 16:42
  • 6
    For those of you reading this in 2016, Contexts is your solution. It works beautifully. – Joseph Hansen Jun 13 '16 at 01:46
  • 1
    It's so slick and yet feature-packed I purchased it in under 5 minutes. Full Disclaimer: I am very tight-fisted normally ^_^ – sming Oct 15 '16 at 12:33
  • 3
    It's almost 2020, last update is April 2018. Developers did not retweet back if the project is alive. Tab switching was planned as a feature, currently not supported. – Ev0oD Dec 03 '19 at 09:58
  • this is still my goto app for both in mojave for splitting app windows into separate entries in the stack and cmd-tabbing between them – worc Mar 31 '20 at 16:38
  • Developer is tweeting about updates in Feb 2021. https://twitter.com/contextsapp/status/1356515957548732419 The app seems nice. The switcher doesn't pop up when you're in Terminal, but at least it lets you switch to different terminal windows from other apps. – Noumenon Feb 13 '21 at 18:42
15

For those who don't know it, Ctrl+F4, Ctl+`, ... can be remapped in: SystemPreferences=>Keyboard=>Keyboard Shortcuts=>Keyboard & Text Input

https://i.stack.imgur.com/CvV3k.png

poolie
  • 107
L0CKnL0aD7
  • 151
  • 1
  • 2
  • 4
    I'll add, since some might not already know, that Ctrl-F4 can be used to switch between all open windows when "Enable access for assistive devices" is turned on in Universal Access. – NReilingh Apr 01 '12 at 04:14
  • This is the simplest way, without installing any extra software. Thanks! – poolie Nov 21 '15 at 16:28
  • 1
    @L0CKnL0aD7 this might be the answer for me, if for one thing: is it possible to make the window order be most recently used rather than when it was opened? – Joseph Hansen Jun 13 '16 at 01:22
  • 1
    Cannot do this on "El Capitan".. any idea why? – pragmatic_programmer Jul 18 '16 at 12:20
  • CTRL-F4 is buggy in MacOS Monterey. If you switch from e.g. desktop 1 to desktop 2 using keyboard shortcut and then press ctrl-f4 it will switch you do desktop 1 and activate window from that desktop. – Trismegistos Mar 24 '22 at 11:22
15

An app I developed, Optimal Layout (14$), gives you keyboard commands to quickly switch and re-organize windows.

sorin
  • 29,875
BendiLow
  • 322
  • That's just exactly what I was looking for. Thanks both for answering and for making the app. I'm currently evaluating it. I hope you'll have me as a new customer soon. – Sergio Acosta Sep 29 '10 at 20:25
  • 1
    Optimal Layout is nice, I tried it, but I didn’t buy it because I already had my “muscle memory” tied to using the OS X shortcuts (which I’ve changed) and the Window placement handled by SizeUp. But it’s a very promising app! – Martin Marconcini Sep 30 '10 at 10:00
  • I was using Optimal Layout for a while. I was using Witch, but switched to Optimal Layout for its ability to search the window titles. However, in the past few months I have found some issues and have not heard back from the Optimal Layout developer on them. The biggest is that it occasionally doesn't show some windows until I restart it. – studgeek Jul 05 '16 at 19:03
  • 1
    OptimalLayout is great. It combines window switching and window positioning, with customizable arrangements and shortcuts. I've had a couple of problems, though, and the developer has been unresponsive through the contact information in the application itself. I'm searching for an alternative just so I can use software that has support! – Trinition Dec 07 '16 at 14:14
13

Command + Tab, combined with Command + `. Works great.

Let me explain:

  • Command + Tab : Switch between different applications.
  • Command + ` : Cycle between all open windows of the application you're focused on. (For example, if you have four Finder windows open, you can press Command + ` to move between the four windows.)

If this and other keyboard shortcuts seems to be broken, you probably have another keyboard-layout then US, The shortcuts actually aren't to the ` key but rather the key that would have ` on a US keyboard, to find what key this is on your layout, open the "keyboard viewer" and switch your layout to US, take notice on where the ` key is located, swich back to your normal layout and you can now use this button to switch windows.

On a swedish keyboard ` is the button next to 1 (§) on the small/laptop keyboard, and the key next to z (<) on the full size keyboard.

JFW
  • 4,574
  • 7
    Thanks for your answer. I know about both shortcuts, but I'm specifically looking for a single keyboard shortcut solution to switch between all open windows. – Sergio Acosta Sep 29 '10 at 18:45
  • 2
    Too bad Apple didn't think about keyboards where the ` key is not near the TAB key, and worse, where you need a modifier key to select it :-( – Rabarberski Aug 05 '11 at 09:23
  • 1
    @Rabarberski Well at least in finnish locale (where the \`` key is not near tab) the cycle-within-app shortcut instead uses the<` key which is near the tab. – Ilari Kajaste Apr 03 '13 at 11:03
  • Command + ` work for me. – weston May 29 '14 at 15:47
  • 8
    This is bad solution for people who work very quickly and want to switch back and forth, especially if the person has experience in Windows. The problem being that [command] + [tab] switches between apps which are ordered by order of use, and [command] + [`] has windows ordered by when they were opened. In other words, you have a deal-breaker of a problem: even if you have the wherewithal to be able to mentally switch between the two paradigms on the fly, there is no way to memorize the location of a window in your "mental" stack. – Joseph Hansen Jun 13 '16 at 01:07
  • 4
    For instance, assuming I'm switching between two Word docs and a webpage, I have to discover and remember the number of [command] + [`] switches between the two documents (possibly two distances: doc 1 to 2 and doc 2 to 1) and remember that to switch between Word and my browser is a different keyboard grouping. In Windows, I just remember [alt] + [tab] or [alt] + [tab][tab]. Easy. In other words, my personal opinion is that there is a terrible user experience in OS X keyboard shortcuts. – Joseph Hansen Jun 13 '16 at 01:09
  • Is it so hard to make windows group management, where I could simply add apps (or app windows) I want to switch between into groups. It would be super simple and solve all windows management problem Apple has, and there are quite a few! – Srneczek Sep 21 '16 at 11:38
  • 1
    all of these "solutions" also completely forget that sometimes you're working in two different apps at the same time. and the default command+tab behavior brings ALL windows forward, but you were really just trying to side-by-side a single text editor window with a single browser window, and not the entire cascade of both. – worc Jun 13 '19 at 16:19
9

I know it isn't a single keystroke but I like using the "App exposé" feature to navigate between the windows of the focused application :

  • ctrl + down arrow (or three fingers down move)
  • then left arrow or right arrow to navigate between windows (or click on the window you chose)
  • Thanks for answering!. It's been 5 years since I asked my question but honestly I still haven't found a 100% satisfactory answer. However, this is actually a very good suggestion!. I didn't know about that shortcut, and in fact it was disabled on my Mac. I already enabled it and will be using this to see how it works with my workflow. – Sergio Acosta Sep 21 '15 at 14:40
3

Senebier seems to be a good alternative to witch and it's free. http://www.bicoid.com/app/senebier/index.html

2
  1. Quicksilver (or spotlight). You summon the App you are interested on, say Safari.
  2. Using Mission Control's Show application windows (you can assign a shortcut to this using the keyboard icon on the system preferences)
  3. Once all the application windows are being shown, you can type (there's no text field, you will just have to start typing) the title of the window you care. After a couple of keystrokes, your window will be selected.

At the beginning you'll be slow but as time goes by, you'll become pretty fast.

Ɱark Ƭ
  • 9,566
sbrown
  • 21
2

It's interesting - no one has mentioned Karabiner. it has ton of options for different things, the one I like called "Tab mode", where you can switch between apps by holding Tab key and using either arrows or HJKL keys (especially favored by Vim users). Tab+I to cycle through open windows of the current app.

I love Karabiner, it's the app that made me really, really hate Windows (occasionally I have to do things in Windows). However even with awesome AutoHotkey app I couldn't find a way to use keyboard there as Karabiner lets me on a Mac.

I encourage you to try Karabiner and explore vast amount of different options, trust me - it will change the way you use your keyboard.

iLemming
  • 437
  • 2
    Here's how to make ⌘-tab switch between windows in Karabiner: Under the "Change Key" tab, expand "Change Tab Key" (the 39th item), and enable "Command+Tab to switch apps within the same Space" (the 10th item). (I'd expect the item numbers to change in different versions, but those should give you some idea of how far you have to scroll down.) – Ben Kovitz Aug 27 '16 at 20:01
1

See also this question, where I posted the same answer.

I am surprised / shocked that nobody mentioned hammerspoon. Aside, it can do much more than just window switching!

From its webpage:

This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user.

Using hs.window.switcher one just adds (as mentioned in the docs) to the init.lua

switcher_space = hs.window.switcher.new(hs.window.filter.new():setCurrentSpace(true):setDefaultFilter{})
hs.hotkey.bind('alt','tab','Next window',function()switcher_space:next()end)
hs.hotkey.bind('alt-shift','tab','Prev window',function()switcher_space:previous()end)

and one can happily switch between windows in the current space using alt+tab and alt+shift+tab.

EDIT: In case it is rather slow, try turning of thumbnails and set the animation duration to 0.

switcher_space.ui.showThumbnails = false
hs.window.animationDuration = 0
Stefan
  • 259
  • It still focuses all windows of an application when switching and is super slow for me. – Hjulle Nov 04 '20 at 14:42
  • @Hjulle you can turn off thumbnails and set the animation duration to 0. This should increase the speed (at least it did for me). I updated my answer accordingly. I haven't checked how to only show a single application window when cycling through. – Stefan Nov 04 '20 at 19:21
  • I switched to using the "alt-tab" application, which did everything I wanted. Thanks anyways! – Hjulle Nov 05 '20 at 13:24
0

As mentioned in the question, Witch ($14) is one of the first window switchers and, IMHO, still one of the best.

I suspect @Sergio (questioner) main concerns have now been addressed in Witch. I think its actually one of the better looking ones, with lots of options for tweaking appearance (including themes). It also feels very fast to me.

All that said, I am not currently using Witch because it doesn't support searching the window names. For that I was using Optimal Layout and am now trying out Contexts (which seems very promising).

studgeek
  • 4,321
  • The one feature Witch still doesn't have, and I really want, is the ability to start typing in the switching window to have it narrow down the list. OptimalLayout does this. I think Contexts does too. – Trinition Dec 07 '16 at 14:18
  • Witch now supports searching for both window and tab names. – Klas Mellbourn Jan 01 '21 at 23:10
0

Been searching for a mac window swapper that INCLUDES MINIMIZED WINDOWS for ages. Little did I know, the function was already built into Quicksilver, sitting under my nose this whole time. It's an action called "show all windows," which I've set as a trigger ( ⌘` for proximity to ⌘⇥).

Quicksilver comes to the rescue once more (as usual).