7
votes

I wonder if it is possible in applescript to create a script for which we give as input the application name and a number N, so this app gets opened in the Space's space number N.

I would like with this to create a meta-applescript, so when the computer boots and after login, on each space I get different apps, and important, I can change this in the script file, and not through mac os x Space's preferences

Thanks

2
The current accepted answer does not seem to work in 10.8. Anyone know how to do that? - finiteloop
And what about OSX 10.9 Mavericks? :) - neu242

2 Answers

7
votes

In OS X 10.5 or 10.6, Spaces assignments can be accessed and changed via the scriptable interface to System Events.app:

tell application "System Events"
    set x to application bindings of spaces preferences of expose preferences
    set x to {|com.apple.textedit|:4} & x  -- Have TextEdit appear in space 4
    set application bindings of spaces preferences of expose preferences to x
end tell

If you don't already know it, you can get the bundle id of an application from the Finder:

tell application "Finder"
    get id of application file "TextEdit" of folder "Applications" of startup disk
end tell
0
votes

This works to switch to Space 2 and then back to Space 1:

tell application "System Events"
    key code 19 using {control down} -- control+2 is switch to Display Space 2
end tell
delay 1.0

tell application "System Events"
    key code 18 using {control down} -- control+1 is switch to Display Space 1
end tell
delay 1.0