How can I programmatically add a space to mission control?
Asked Answered
H

2

20

I want to create a new space (and also be able to delete it later), without having to go through the standard misson control gui. Is there any way to do this programmatically? Either via terminal commands, applescript or some cocoa?

Hafler answered 7/3, 2012 at 17:20 Comment(3)
You might try this at askdifferent instead... It is more about Mac OS than programming.Gregarine
I don't believe there's a way to add a general-purpose Space programmatically. I think that Apple considers that to be the user's prerogative. Putting a window into full-screen mode (i.e. -[NSWindow toggleFullScreen:]) creates a Space particular to that window.Kilimanjaro
This probably belongs in apple.stackexchange.com ;)Bailiff
K
2

There is on preference plist in ~/Library/Preferences path named as com.apple.spaces.plist.

There You have to add two keys.

Open the plist and I hope you will get to know it.

Kettle answered 12/2, 2013 at 7:23 Comment(3)
I tried adding a new entry in the plist, but that did not create a new space. Have not tried rebooting, but a solution that requires reboot is not what I'm looking for.Manxman
@Manxman the Finder process needs to be restarted in order take the new preferences into account.Bearce
Thanks, but that's still a bit to invasive.Manxman
W
2

From the GUI...

...just in case someone finds this via Google

It’s a cinch: when you’re in Mission Control...

  1. move your cursor to the upper right corner of the screen
  2. click the New Desktop tab that slides out from the edge of the screen

Note:If your Dock is on the right, you can access the New Desktop tab from the upper left corner instead.

In Mavericks, Applescript to create a new Space in Mission Control

delay 0.5 -- time to release command if the script is run with command-R
tell application "System Events"
    key code 126 using control down -- control-up
    delay 1
    do shell script "MouseTools -x 1900 -y 60;sleep 1;MouseTools -leftClickNoRelease;MouseTools -releaseMouse"
    key code 53 -- escape
end tell
Wrest answered 4/4, 2014 at 21:42 Comment(1)
a couple of questions: 1. How could this script be modified to ensure compatibility across different screen sizes? 2. How could this script be modified to work without MouseTools?Judyjudye

© 2022 - 2024 — McMap. All rights reserved.