2010-02-21 5 views
7

Je me demande s'il est possible dans applescript de créer un script pour lequel nous donnons en entrée le nom de l'application et un numéro N, donc cette application est ouverte dans le numéro d'espace N.Applescript; ouvrir une application dans l'espace numéro N

Je voudrais créer un méta-applescript, donc quand l'ordinateur démarre et après la connexion, sur chaque espace je reçois des applications différentes, et important, je peux changer cela dans le fichier script, et non via les préférences de mac os x Space

Merci

+2

La réponse acceptée actuellement ne semble pas fonctionner dans 10.8. Quelqu'un sait comment faire cela? – finiteloop

+0

Et OSX 10.9 Mavericks? :) – neu242

Répondre

7

Dans OS X 10.5 ou 10.6, Spaces affectations peuvent être accessibles et modifiables via l'interface scriptable pour 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 

Si vous ne connaissez pas déjà, vous pouvez obtenir l'identifiant de paquet d'une application à partir du Finder:

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

c'est génial! juste envie question, comment puis-je changer textedit à Thunderbird? – flow

+0

Voir la réponse éditée ci-dessus. –

+2

Notez que dans OS X 10.7, l'objet "préférences d'espaces" a disparu à nouveau – Robin

0

Cela fonctionne pour passer à l'espace 2, puis de nouveau à l'espace 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