Blog Post

Mac 101: Window Management in OS X

Moving from Windows (s msft) to the Mac (s aapl) is a big change, and can be a little disconcerting at first. A friend of mine described the feeling akin to being “underwater.” One of the biggest differences between the platforms is in how windows are managed.

On Microsoft Windows, the application is the window, and you can use either alt-tab, win-tab, or the task bar to switch between windows. On the Mac, there are three main ways to manage windows, here’s a rundown of each, and how to use them to play up the strengths of OS X.

The Dock

The first way most new users to the Mac try to manage windows is the Dock. Clicking on a running applications icon in the Dock will bring that application’s windows to the front, which works great for apps that are only using a single window.

If, however, you have multiple windows open at once, like several TextEdit windows for example, clicking on the TextEdit icon will bring all of the windows to the front, which may not be exactly what you want.

The trick to using the Dock to manage windows is by clicking and holding on an icon. This will trigger Exposé in “Application Windows” mode, hiding all other applications and thumbnailing all of the open windows for that application. Then you can just click on the window you want to come to the front.


Now that you’ve seen one part of Exposé in action, it’s time to see how the rest of it works. Open up System Preferences and click on “Exposé and Spaces”. You can think of this part of the preferences as the command center for managing windows.

At the top is “Active Screen Corners”, followed by keyboard shortcuts. Make note of the function key set for “All windows;” on mine it’s F3 to match my Apple Bluetooth keyboard. Open up a few different applications (it helps if one is a movie), and press F3. In one smooth animation, all of the open windows will shrink into thumbnails, with open windows at the top, and minimized windows at the bottom. From here you can click on any window you like to bring it to the front. If there are still too many windows open, you can press the tab key to cycle between the windows of running applications.

Having a function key is great, but too often I find that I need to look down at my keyboard to find the right key. That’s where the Active Screen Corners come in. Each corner of the screen can activate a function of window management. I always assign the bottom left corner of my screen to activating Exposé for All Windows, and the bottom right to Desktop. Then I put my Dashboard in the top right corner, and leave the top left blank. This gives me super quick access to all of my windows, widgets, and files I’m working with on my desktop.

You can also drag files into Exposé. For example, here’s a common workflow I run into all the time. To get a file from my desktop into a window open in the background, I’ll flick my mouse pointer to the bottom right corner to show the desktop. Then, I’ll drag the file to the bottom right hand corner to activate Exposé. Finally, while still dragging the file, I’ll select the window I want to bring it to the front, and then drop the file onto the window. Super easy, and super useful, once you get used to it.


If, however, you still find yourself drowning in windows, or you just like to keep things clean and organized, you can enable Spaces. Spaces gives you extra desktops to work with. The default number of spaces is four, but you can assign up to sixteen. Personally, I’m normally happy with just two. I’m a developer, so I work in Xcode all the time. Some development tools, like Interface Builder, open up several windows, and can clutter up the screen quickly. So it’s nice to keep Xcode and Interface Builder in separate spaces. I always assign the CMD+Arrow Keys to switch between the spaces, and F8 to activate the spaces overview.

Once in the spaces overview, you can activate Exposé to see all of your windows, in all of your spaces.

Exposé, Spaces, and the Dock are the three main elements for window management. You can also use CMD-tab to switch between applications, or optionally, check out a third-party application like Witch that can give your keyboard even more control. If you’re new to the Mac, I hope this article helped, if you are experienced and think I missed something, feel free to mention it in the comments.

Related content from GigaOM Pro (sub req’d):

13 Responses to “Mac 101: Window Management in OS X”

  1. Win 7 is still miles ahead of Mac when it comes to windows management. In OS X you still need to keyboard, or click on an icon or mouse-hover, or hold and click, etc., just to see what windows are open. In Win 7, you just glance down at the taskbar where all the windows have truncated descriptor and icon. You know instantly what windows are open and what they are.

    Spaces is fine and works pretty well. But there is no way of knowing what apps and windows are in which space without clicking or keyboarding or mouse swiping. Once in the Expose overview, you can’t work in the overview (which would be ideal), you have to click a space or window to bring it forward in order to activate it and work in it.

    Most windows in OS X open unpredictably and can only be resized from the bottom right corner. In Win 7 most windows snap open fully and can be resized from almost anywhere along their edge. I found myself constantly fighting with floating windows on a Mac. Which is one of the reasons I switched back to PC.

  2. Unfortunately I find Spaces too broken. Regularly it will place the popup dialog of a window in another space and I sit there wondering why my App isn’t responding. Then I search my spaces only to find and acknowledge the dialog and then have to go all the way back again to the app. Completely stupid.

  3. Managing windows in mac os x is not as keyboard friendly as is in windows, and maybe often a kind of frustration for those like me that just do not want to use the mouse. I consider “Witch” the best application for those who may use also windows (often at work) and want to keep working with the keyboard in mac os x. Also useful to switch between windows of an open application (ie. various Word docs opened at the same time) by using CTL+~

  4. Agree, spaces rock. I had to regrettably install Parallels and stick Windows 7 on it but with spaces, i switch between windows and my Mac so easily and conveniently that it’s simply macs using windows on my Mac a joy. Thankfullly windows is safely isolated from my Mac OS.

    I just want to see spaces work better with the trackpad, expose does good with it but not spaces, i still have to fly up to a corner to access my spaces or switch between an application to access spaces.

  5. Mark Hernandez

    Spaces is incredibly powerful in calming your world and compartmentalizing what you do for maximum focus.

    In the overview mode, you can still drag any window between spaces and they’re all live.

    I’m a developer too, and I maintain 9 spaces on my 24″ iMac…

    1. Custom app I wrote to collect / process resources
    2. Xcode
    3. Woopra to monitor website activity
    4. Twitter and NetNewsWire to monitor my industry
    5. email
    6. Blog post writing, Transmit, Coda, etc
    7. OmniFocus
    8. Calendar
    9. iTunes (listening, podcasts, and watching development videos)

    There’s no penalty in having only one activity per space, and is recommended. Snow Leopard is great in allowing all those apps to run simultaneously without problem on a 3 year-old iMac.

    In the System Preferences you can assign applications to always launch in a particular space.

    Finder windows opened in a particular space stay in that space. You can open the same Finder window in another space.

    All handy menubar items, all desktop icons and Yojimbo are always available in all spaces.

    BOTTOM LINE: I’ve worked (writing software and designing hardware) in the PC environment since 1982. In the past three years I found I naturally moved to the Mac world to work because it’s increased simplicity allows me to rise to a higher level of accomplishment given the fixed amount of time I have available.

    My personally hand-built quad-core 3.5 Ghz over-clocked water-cooled ATI 5970 graphics powered Windows 7 Ultimate 64-bit machine is behind me and is all but ignored. Why?