Pinning Application to Virtual Desktops in OS X

Last Updated: Oct 06, 2020

Written by

I’m very picky when it comes to organizing my workspace and that includes my desktop. One of the features that really helps me organize my screen is virtual desktops, which  allows me to pin certain applications to certain virtual desktops, instead of having all application windows on a single screen.

Mission Control

To add virtual desktops launch Mission Control either by pressing the F3 key, by clicking the 3rd icon on the left side in the dock or by swiping with 3 fingers up on your trackpad. Once in mission control, move your mouse to the upper right corner and you’ll see an icon with a plus sign appear (see screenshot above). Just click on the plus sign and OS X creates a new virtual desktop for you. To get out of Mission Control, simply swipe down with 3 fingers or just click on the grey area on sides.

To pin applications to a specific desktop, click on the application icon in the dock (to switch to the desktop the application is running on), launch Mission Control and simply drag and drop the application window onto the desktop you want to have it assigned to. That pins the application to the virtual desktop of your choice.

Next, right-click on the application icon on the dock and choose Options –> (Assign to) –> This Desktop. That pins the application to the exactly the virtual desktop you are on right now.

Now just repeat those steps for all the applications you want to pin to specific desktops.

I use the following desktop assignment:

  • Desktop 1: Mail
  • Desktop 2: Safari
  • Desktop 3: Messages and Skype
  • Desktop 4: Calendar
  • Desktop 5: [unassigned but used for Word, Excel…]
  • Desktop 6: [unassigned but used for Quicken…]
  • Desktop 7: VMware Fusion
  • Desktop 8: Aperture
  • Desktop 9: iTunes

I just got the new MacBook Pro Retina which came pre-installed with Mountain Lion and after assigning all the applications to my virtual desktops I noticed that at every reboot my assignment order was screwed up. So Calendar ended up on Desktop 2 or 3 etc. and that drove me nuts. Later I found out, that OS X by default re-assigns applications to desktop based on when the application was last used.

Mission Control Settings

I don’t like that default setting since I want to have a fixed order. To disable the default behavior, go to System Preferences –> Mission Control and uncheck “Automatically rearrange spaces based on most recent use“.

Additionally I’m used to switching between virtual desktop using keyboard shortcuts. So to switch to Desktop 1 I use the Control + 1 shortcut. Those shortcuts are disabled by default, but after adding your virtual desktop you can easily enable them through System Preferences –> Keyboard –> Keyboard Shortcuts –> Mission Control. Simply check the check-boxes labeled “Switch to Desktop #” (# representing the number of the Desktop).

Keyboard Shortcuts

So if you didn’t know about virtual desktop yet, I hope you’ll find them as useful as I do :)


3 thoughts on “Pinning Application to Virtual Desktops in OS X”

  1. Hi! I have a question about program windows in os x: Quite often I find an old forgotten, half-written e-mail behind my Outlook window. Mostly because while I was writing it another urgent mail arrived and distracted me, the one I was writing came behind the main window and the I forgot about it. So I’m looking for a way to pin a program window to the background/desktop, even when it is active. That way all my emails-in-writing would stay visible even if I click on the main program window. Don’t even know if this is possible, so I’m asking you who seem to have a lot of knowledge about this.

  2. “So Calendar ended up on Desktop 2 or 3 etc. and that drove me nuts…”

    Exactly, I was about to downgrade because I was so pissed with the way Mountain Lion decides to move my applications and kept moving them manually and that drove me nuts too!

    Thanks for posting this, next time you’re in Montreal (Canada), email me. I owe you a coffee.


Leave a Comment