Я хотел бы написать небольшую утилиту, которая перемещает окно из одного места в другое в OS X Lion. Меня не волнует, написана ли утилита на AppleScript или Objective-C. То, что я не могу понять, - это окно, как его переместить в другое место. Я видел много полезной информации в этом, но не о том, как на самом деле переместить окно. Если у кого-то есть мысли или идеи, я был бы признателен их выслушать. Спасибо.
Перемещение окна в новое пространство в Управлении полетами
Ответы (2)
Если вы используете вызовы objective-c, то перемещение между пробелами в 10.7 фактически такое же, как и в 10.6, за исключением одной проблемы. Идентификаторы пространства были индексированы на основе 10.6, но на основе чего-то другого (не совсем GUID) в 10.7.
Если у вас уже есть окно в нужном месте, решения в этом вопросе будет работать (я использую его в csshX < / а>). Вы можете получить идентификатор пространства с помощью CGSGetWindowWorkspace, а затем установить его в другом окне с помощью CGSMoveWorkspaceWindowList.
Теперь, если у вас нет идентификатора пространства - например, вы просто хотите переместить окно во вторую ячейку - тогда я в таком же тупике, как и вы. Я ищу связь между идентификатором пространства и номером индекса. (Обновлю этот ответ, если найду)
Наконец, вы упомянули App Store в комментарии выше - это не подойдет, поскольку вызовы CGS * используют недокументированные частные фреймворки, которые вас отклонят.
kCGWindowWorkspace
, меняется между входами в систему.
- person Mark; 08.01.2012
Вам нужно будет использовать настраиваемую библиотеку, которую можно найти здесь http://macscripter.net/viewtopic.php?id=23453, однако я не уверен, какую поддержку он имеет у льва.