Розташуйте вікна так, як ви захочете, а потім запустіть наступний AppleScript для кожного додатка.
tell application "Terminal" to tell window 1 to get bounds
Це поверне межі вікна, наприклад:
{200, 200, 700, 700}
Після того, як ви визначите межі кожного вікна, яке ви бажаєте включити до певного набору вікон, скористайтеся наведеними нижче параметрами.
tell application "Terminal" to tell window 1 to set bounds to {200, 200, 700, 700}
Ви можете використовувати кілька рядків для встановлення кількох меж вікон одночасно.
Як тільки ви задоволені вашим макетом, редактор сценаріїв може зберегти скрипт як додаток (Файл → Експортувати і вибрати Формат файлу: Програма). Це може бути додано до Dock для легкого доступу.
Якщо програма, яку ви намагаєтеся маніпулювати, не є скриптовою, наприклад Sublime Text, ви можете використовувати системні події, щоб повідомити програму. Для цього потрібно ввімкнути керування доступністю в Системних налаштуваннях → Безпека & amp; Конфіденційність → Конфіденційність → Доступність.
Щоб отримати межі вікна програми, яка не є сценарієм, можна використовувати:
tell application "System Events" to tell application process "Sublime Text" to ¬
get {size, position} of window 1
Це поверне розмір і положення вікна, наприклад:
{{500, 500}, {200, 200}}
Щоб встановити межі не-сценарію, використовуючи результат попереднього коду:
tell application "System Events" to tell application process "Sublime Text" to ¬
tell window 1 to set {size, position} to {{500, 500}, {200, 200}}
Якщо програма, вікна якої ви намагаєтеся маніпулювати, не відкрита перед запуском цього сценарію, виконайте наведені нижче дії.
tell application "Terminal" to activate
Це можна поєднати з встановленням меж:
tell application "Terminal"
activate
tell window 1 to set bounds to {200, 200, 700, 700}
end tell
Затримка не потрібна, оскільки AppleScript буде чекати відкриття програми.