Applescript; открытие приложения в пространстве номер N

Интересно, можно ли в applescript создать сценарий, для которого мы даем в качестве входных данных имя приложения и номер N, поэтому это приложение открывается в пространстве с номером N пространства.

Я хотел бы с этим создать мета-приложение, поэтому, когда компьютер загружается и после входа в систему, в каждом пространстве я получаю разные приложения, и, что важно, я могу изменить это в файле сценария, а не через настройки Mac OS X Space

Спасибо


person Open the way    schedule 21.02.2010    source источник
comment
Текущий принятый ответ, похоже, не работает в 10.8. Кто-нибудь знает, как это сделать?   -  person finiteloop    schedule 27.06.2013
comment
А что насчет OSX 10.9 Mavericks? :)   -  person neu242    schedule 25.10.2013


Ответы (2)


В OS X 10.5 или 10.6 можно получить доступ к Spaces назначениям и изменить их через скриптовый интерфейс на 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

Если вы этого еще не знаете, вы можете получить идентификатор пакета приложения из Finder:

tell application "Finder"
    get id of application file "TextEdit" of folder "Applications" of startup disk
end tell
person Ned Deily    schedule 21.02.2010
comment
отлично! просто страстный вопрос, как я могу изменить текстовое сообщение на thunderbird? - person Open the way; 21.02.2010
comment
Обратите внимание, что в OS X 10.7 объект предпочтений пространств снова исчез. - person Robin; 31.12.2011
comment
Настройки Spaces также недоступны в 10.10 и 10.11 (бета). :-( - person Hanzaplastique; 17.09.2015

Это работает для переключения на Пробел 2, а затем обратно на Пробел 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
person Don Strickland    schedule 18.05.2016