Johnny Matthews | Create a new virtual desktop in MacOS.

MacOS has the ability to create multiple virtual desktops. I find this feature super handy because it allows me to have separate desktops for separate pieces of work. Annoyingly, Apple doesn't include a built-in hot-key to create a new desktop. However, with the use of Albert, we can create a script to create a new desktop for us! This was written on 31st of May 2021.

Virtual desktops good! Default MacOS behavour bad.

  1. Install Alfred.

  2. Buy the pro version.

  3. Select Workflows and create a blank workflow.

  4. Enter the following info:

    FieldValue
    NameCreate a new desktop.
    DescriptionCreates a new virtual desktop using a script.
    CategoryProductivity

    Create a workflow screen.

  5. Click Create.

  6. Right-click in the workflow panel and select Input > Keyword.

    Select input > keyword.

  7. Enter the following information:

    FieldValue
    Keyworddesktop
    Arguments dropdownNo arguments
    TitleDesktop
    SubtitleCreates a virtual desktop.

    Create a keyword.

  8. Right click the block that was just created and select Insert after > Actions > Run script.

    Select Insert after > Actions > Run script.

  9. Set the Language to osascript (AS).

  10. Leave with input as argv and running instance sequentially as their defaults.

  11. Paste the following code into the textbox:

    #!/usr/bin/osascript
    tell application "System Events"
      do shell script "/System/Applications/Mission\\ Control.app/Contents/MacOS/Mission\\ Control"
      click button 1 of group "Spaces Bar" of group 1 of group "Mission Control" of process "Dock"
      do shell script "/System/Applications/Mission\\ Control.app/Contents/MacOS/Mission\\ Control"
    end tell
    
  12. Click Save.

  13. Open Alfred and search for desktop.

    Search for desktop.

  14. That’s it!

Now, every time you search for desktop in Alfred, MacOS should create a new desktop for you! You could also follow the steps above to create a script to delete an open desktop if you were so inclined.