Откройте окно приложения и переместите его в другое пространство в OSX, возможно ли это?

для какого-то приложения я хотел бы иметь его «экземпляр», работающий в Space (рабочее пространство Apple) 4, и еще один под номером 2. Как я могу каким-то образом сказать (в bash / applescript или чем-то еще) экземпляру приложения, чтобы «переместиться» в Пространство № N? Яблоко? Баш? Внешнее приложение?

Я хочу сделать это автоматически и для множества разных приложений. Так что использование мыши или назначение приложений в настройках у меня не работает.

Является ли это возможным?

Спасибо


person Open the way    schedule 23.02.2010    source источник
comment
Что такое экземпляр приложения? В OS X обычно работает только один экземпляр на приложение. Вы говорите о разных окнах?   -  person Chuck    schedule 23.02.2010
comment
да, а лучше, разные процессы. например, я открываю терминал и набираю Firefox &, а затем тот же Firefox &, поэтому у меня есть два разных процесса одного и того же приложения.   -  person Open the way    schedule 23.02.2010
comment
Кстати, вы можете показать, во что переводится ваша команда Firefox? Если я попытаюсь запустить два экземпляра Firefox до /Applications/Firefox.app/Contents/MacOS/firefox-bin &, Firefox отобразит окно с ошибкой. Копия Firefox уже открыта. Одновременно может быть открыта только одна копия Firefox.   -  person Ned Deily    schedule 24.02.2010


Ответы (3)


Короткий ответ: вы не можете этого сделать, если не сделаете более одной копии приложения и не измените его идентификатор пакета (не рекомендуется по множеству причин). Spaces работает на основе приложения, а не для каждого экземпляра (что в любом случае необычно для OS X для приложений с графическим интерфейсом) или для каждого окна приложения.

person Ned Deily    schedule 23.02.2010
comment
Нед, большое спасибо за вашу ценную помощь, но я сдаюсь. К сожалению, эта задача кажется невыполнимой. В Linux это было бы проблемой, поскольку способ, как это сделать, наверняка хорошо документирован и имеет открытый исходный код. Благодарность - person Open the way; 24.02.2010
comment
вопрос для меня: для данной программы, то есть сафари, как открыть программно два окна в разных местах - person Open the way; 24.02.2010
comment
Я думаю, люди понимают ваш вопрос. Ответ остается: вы не можете, используя скриптовый интерфейс Spaces; вы должны переместить окно после того, как оно будет создано. Пробелы были добавлены в OS X в довольно недавнем выпуске (10.5) и, к сожалению, не были предназначены для этого. Чтобы это действительно работало, также могут потребоваться изменения в приложении. Прости! - person Ned Deily; 24.02.2010
comment
Привет, Нед, я нашел способ решения моей общей проблемы. Это так просто ... Я скрипт, я храню все приложения, которые мне нужно открыть, с соответствующими документами или входными файлами. Когда он готов, я просто перехожу к нужному номеру пробела и запускаю его там. Вуаля. Так что обиус спасибо за помощь - person Open the way; 25.02.2010

Чтобы переместить уже открытое окно в другое место, нажмите и удерживайте строку заголовка окна, а затем нажмите ctrl-NUM_KEY_OF_SPACE. Итак, чтобы переместить окно в пространство # 2, используйте щелчок + удерживайте строку заголовка и нажмите ctrl + 2. Жаль, что этот ярлык (даже с другими клавишами-модификаторами) не работает в окне, которое в данный момент находится в фокусе.

person cadience    schedule 31.03.2010

Фактически, этого можно достичь, просто запустив исполняемый файл напрямую. Например, следующий пример кода откроет 3 разных экземпляра Safari.

Затем каждый из них может быть размещен в разных пространствах, и CMD + Tab будет правильно перемещаться между ними. Скопируйте и вставьте это в окно Терминала (вставьте сразу все 3 строки):

nohup /Applications/Safari.app/Contents/MacOS/Safari &
nohup /Applications/Safari.app/Contents/MacOS/Safari &
nohup /Applications/Safari.app/Contents/MacOS/Safari &

Конечный амперсанд указывает на то, что приложение работает в фоновом режиме, а ведущий nohup позволяет выйти из Terminal.app, не закрывая открытые приложения. Вы можете легко вставить скрипт или приложение AppleScript в свою док-станцию.

person Daniel Alexander    schedule 20.02.2011
comment
Да, ты прав. но мне нужно что-то вроде; откройте Firefox в пространстве № 2. Все делается по сценарию, без взаимодействия с пользователем. Вот в чем суть - person Open the way; 21.02.2011