An Introduction to Spaces on OS X

Spaces was a new feature introduced in OS X Leopard, designed to offer a user friendly front-end to a virtual desktop system. This allows you to run more than one computer “desktop”, flipping between them with a key combination.

You can use different spaces for various tasks e.g. one for business, one for personal work, and one purely for video/music. They offer a handy solution for visually separating different applications. This article will provide an overview of how Spaces work, explain how you can add extra functionality to them, and offer a few examples of when they come in handy.

Spaces Preferences

To use Spaces, you’ll need to be running the latest incarnation of OS X – Leopard. The main preferences window to turn Spaces on and off can be found in System Preferences > Exposé & Spaces:

Spaces Preferences

Spaces Preferences

Getting started is as simple as ticking ‘Enable Spaces’. You can configure the number of different spaces you have (and their location) by adjusting the number of rows and columns towards the top of the window. It is best to keep the setup simple at first – stick to just two or four spaces at the outset.

Assigning Applications to Spaces

Adding Applications

Adding Applications

One of the particularly useful features of Spaces is the ability to have an application automatically open in a particular space. This can help to keep different tasks separate from one another without requiring you manually move windows around.

The section entitled ‘Application Assignments’ will list all the configured applications, along with the space they are assigned to. Clicking the + icon will bring up a list of recently used software to allow quick assignment of an application to a space. You can click ‘Other’ to browse manually if the desired application isn’t present in the list.

If you decide that an assignment isn’t working as well for you as expected, clicking the minus icon will stop Spaces from automatically moving windows for that app.

Switching Between Spaces

For a virtual desktop system to work well, it’s important to make switching between spaces very simple. Three methods exist for doing so in OS X:

Via the Menu Bar

Clicking the Spaces icon in the menu bar will bring down a list of the available desktops to switch to. The icon will also show the number of the desktop currently open. Swapping is as simple as selecting a different number from the menu.

Spaces in the Menu Bar

Spaces in the Menu Bar

Via the Spaces Interface

Hitting the F8 key (or a different key if you’ve altered the assignment) will switch to an Expose style view, showing each available space and the windows currently contained within it:

Viewing all Spaces

Viewing all Spaces

You can either click a space to move into that desktop, or drag and drop windows around between spaces.

Via a Key Combination

The third and simplest method is to use a key combination. Pressing a modifier key (specified in the Spaces preferences above) along with one of the arrow keys will move you to the adjacent space – either up, down, left, or right. A small display will appear, illustrating which space you’re currently viewing and where it lies in relation to the others.


hyperspacesBy default, it can be difficult to customize Spaces on OS X. One notable request was the ability to have a different wallpaper background for each space. Fortunately, a third party app called Hyperspaces has sprung up to allow just that – along with various other features such as labeling and colors.

A free demo is available for customizing up to three spaces. Any more than that, and you’ll need to pay $12.95 for a full license. Not cheap, but it can make Spaces considerably more enjoyable to use.

Uses & Conclusion

The idea of “virtual desktops” is certainly not new, and has been present in various Linux distributions before development of Leopard began. The implementation in OS X is remarkably simple, and it makes running multiple spaces a simple and visually appealing feature.

If you’re wondering how Spaces could really benefit you, here are a few examples of situations where they can come in useful:

  • Separate “work” and “play” to ensure you aren’t distracted when trying to focus on a task
  • If you’re working on several projects at once, running a separate space for each means that you won’t need to open and close Finder windows (or apps) as often
  • Children in the house? How about running one space for them so they don’t mess up everything else you’re working on.

Enjoy running multiple desktops, and feel free to share any other novel uses in the comments.


Add Yours
  • Nice article. I tried Spaces a couple weeks ago, couldn’t get into it. But I guess with the proper settings and applications it’s really useful to seperate work/play or projects.

  • It took three separate tries to use Spaces (with like 4 months in between each try) to finally like it. Getting Hyperspaces from MacHeist is what finally did it, but I found it WAY too slow on my 24″/15″ monitor combo. It just couldn’t handle the sizes, but since then I have been using spaces and LOVE them. I have the following spaces:

    1. Email Communication
    2. Development
    3. Basecamp, Timepost, Calendar
    4. Undesignated

  • You missed my favourite method to switch to spaces – Active Screen Corners via Expose. I have my lower right corner set to Expose, and my lower left to Spaces. =)

    • Good catch Kim – I completely forgot about that option!

  • Thanks for tha useful article…

  • What about Switch Directly? I have CTRL + # as the direct method, so CTRL + 1 is space 1 etc. Works with either the numeric pad or the numbers on the main keyboard

  • I am mad about Spaces. I have a MacPro with dual monitors at work (22″ left, 19″ right), and I have 6 spaces set up. I use sroll-ball button to activate. Make productivity so smooth.

    Here’s my layout:

    1. Browser (L), Terminal (R)
    2. Finder (L), Misc. (R)
    3. Coda (L), Transmit (R)
    4. Entourage – Mail (L), Caldendar
    5. Eclipse (L), TextMate (R)
    6. VMWare (L), iTunes (R)

    • Wow, grammar is not my strong point this morning. =)

      *use THE scroll-ball…
      *MAKES productivity…

      • Neither is spelling, apparently…

        *Calendar (R)

      • Perhaps you should dedicate a Space to a dictionary :D

  • cant live without spaces. it makes a better workflow. i have 9 spaces and switch with scrollball.

  • I keep reading articles about how great Spaces is (are?) but, I’m sorry, I just don’t get it. I’ve tried it half a dozen times and each time I find it more irritating than the last.
    To me it just seems to be a gimmick and a poor substitute for Command + Tab.

    • I use it in conjunction with Cmd-Tab. I find it’s more of a window organizer, basically. It allows me to maximize the real estate of my monitor by having my App window maximized and saves me from constantly hiding windows, moving things around, etc.

  • Funny enough I was just getting into Spaces in the last couple of days. I have a15 inc macbook pro with a 24 inch samsung monitor attached to it. It is certainly helping with clutter on the desktop. I just need to get more familiar with the keyboard shortcuts. Nice article learned some new things.

  • I find spaces come in handy when testing web sites. I have a text editor in one space and any many browsers as I want in all the others. Then use the command arrows to change spaces. It works really well.

  • Reader feedback: This is not what I subscribe to AppStorm for. The majority of people reading this blog aren’t beginners – they know their way around a mac. I want to know about the apps please, not OSX features!


    This nifty program allows you to define custom backgrounds and folder sets per space! Try it out it is pretty awesome!

    I used to use this at work to have a “Work” and “Play” environment. If I heard someone sneaking up on me, I could switch from my “Play” space to my “Work” space with a simple key combo.

    I think this is one of the most underrated apps and I have no idea why it does not get more good reviews.

  • Disregarding everyone else says,.. spaces is just a powerfull function

  • I like the feature to drag applications to other spaces by dragging the window to the corresponding side of the screen…

  • I use 9 Spaces now, having realised the value with 4 initially. Not sure different backgrounds is of much value to me as I run everything full screen. I’m surprised how many people I have shown though who do not get into it?

  • Is a good feature, I use 6 spaces.

  • I like the idea but there is something wrong. When I have like photoshop, illustrator, indesign in one space and my e-mail program in another and I switch from my e-mail program to photoshop my tool bars are gray and unusable. I have to hide my toolbars and then show them again to make them work again. That’s very, very annoying and the reason I don’t use spaces.

    • This is the killer issue, and I find it amazing that nobody else see’s this as an issue.

      I have now finally abondoned Spaces as I just can’t cope with the buggy behaviour between Adobe products and Spaces.

  • What makes spaces different from other virtual desktops is that you can use it together with Expose… and it makes window switching such a painless experience. (Just in case you haven’t tried it yet, try pressing F9 with F8 down.)

  • I have to admit that i didn’t use spaces at all until i assign the swap spaces command to middle mouse.

    Now its so easy to leap between spaces, and with apple key + middle mouse assigned to open up all the applications its easy to drag application windows to another space.

  • I don’t get it. I tried spaces cos I’m sick of having a bazillion finder windows open, or firefox windows open for different projects I’m switching between at work. I don’t want all my windows from the same app in one space. I can easily jump between apps with cmd+tab, I expected more from Spaces. Or am i missing something?

  • I know this is kind of late, but I just got my new Mac and have been going through some of the older posts here…

    The one thing that would truly make Spaces special (as in mind-blowing) would be the option of opening multiple instances of the same program in different spaces.

  • I’ve really attempted to love Spaces. The concept is solid in theory but each implementation seems to box me into a corner, no matter how well thought out the spacial concept.

    Having to remember exactly where and how seems a wasted effort. I’ve really tried, but I believe this is one feature that complicates “doing”.

  • In response to Lauren, who is rightly sick of having a bazillion finder windows open, I recommend pathfinder. A brilliant tabbed finder replacement. And in response to the mention of Hyperspaces by David Appleyard, I would recommend Spacesuit as a serious option, not as many features though. But it allows you to have a different wallpaper for EVERY space, isn’t glitchy at all and best of all is free!

    I used Spaces for almost a year and found that some Adobe programs were a bit glitchy with Spaces, and some 3rd party apps didn’t work at all, such as CapSee.

  • I’ve been using spaces for a few weeks now. I’m persisting with it because I am familiar with workspaces in Ubuntu, but find spaces frustrating as it doesn’t quite do what I want.

    I like the feature where apps are preallocated to specific workspaces – though sometimes I find I would prefer a different arrangement on different days. I like separating work from play, as an example, but some apps I use at both home and at work. In ubuntu I could right click the application in the menu bar, and select “send to workspace x” to do some once-off customisation. I miss that feature a lot.

    This was particularly handy when working with applications that have multiple windows. I could have two documents open in word, in ‘adjacent’ workspaces (ctrl+ left/right arrow keys were what I used to switch workspaces), as an example. Or when coding, I could have the main window in one space, the debug window in another, and the preview window in another. The four finger up/down gesture is the closest I can get to this kind of versatility, but this is not perfect as it does require using the touchpad. There is no keyboard equiv that I can see – as even if I hotkey the swipe, I still need to use the touchpad to select one of the thumbnails that appear.

    Also annoying, is the lack of a “visible to all workspaces” option. Some apps I want visible at all times. I want it to follow me as I go to other workspaces.

    I say all this because I am hoping some of the problems are actually solvable by features I am unaware of.

  • It would be nice if the little window on the menu bar would show names of open apps instead of just numbers and which space is currently open

  • I’m like several other posters here. I just don’t get it. Maybe there’s a web site somewhere or one of you can explain it more clearly.

    I mean, I use multiple programs, but with the dock on the right side, I just click on the program I need switching to, or, if I want to operate on just one window, I click on it.

    My life isn’t so neat and tidy that I can say– oh, those programs are for play and these are for work! A word processor does both, a browser does both, etc.

    So, like a few others who have posted, it’s baffling to me!

  • I’m like several other posters here. I just don’t get it. Maybe there’s a web site somewhere or one of you can explain it more clearly.

    I mean, I use multiple programs, but with the dock on the right side, I just click on the program I need switching to, or, if I want to operate on just one window, I click on it.

    My life isn’t so neat and tidy that I can say– oh, those programs are for play and these are for work! A word processor does both, a browser does both, etc.

    So, like a few others who have posted, it’s baffling to me!

  • Oh, if it helps someone to explain it to me, I used to love Switcher ages ago on a Mac SE. But that was even before Multifinder and years before a modern OS X with easy dock click switching. (Of course, back then we had a real Apple menu where we could park stuff. I still use Xmenu for that functionality!)