Граючи з AppleScript, я хочу маніпулювати розташуванням декількох вікон position
але у мене виникає проблема визначення монітора. В даний час у мене є кілька різних розмірів і брендів монітори я підключення до мого MacBook під час моїх подорожей. Єдиним повторенням з усіма чотирма моніторами, з якими я підключаюся, є те, що монітор, яким я хочу маніпулювати, включає панель меню.
При тестуванні з do shell script "system_profiler SPDisplaysDataType
Я не впевнений, що повернутий текст Main Display: Yes
вважає основним, де знаходиться рядок меню від вилучення:
Graphics/Displays:
Intel Iris Pro:
Chipset Model: Intel Iris Pro
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Metal: Supported
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2880 x 1800 Retina
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: Yes
Connection Type: DisplayPort
Thunderbolt Display:
Display Type: LCD
Resolution: 2560 x 1440
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: No
Connection Type: DisplayPort
Якщо моє припущення Main Display
правильно, як я повинен правильно grep дозвіл ідентифікованого основного дисплея, щоб я міг маніпулювати вікнами?
Коли я займаюся дослідженнями, це показуватиметься, як правило, на кожному дисплеї:
- Розташування вікна з AppleScript за допомогою двох моніторів
- Запустіть AppleScript для конкретного монітора
- Неможливо отримати або встановити розмір вікна деяких програм за допомогою AppleScript?
- Встановіть позицію вікна за допомогою AppleScript
Тому я не знаю, чи це буде два питання в одному. Я дещо заплутався про те, як послідовність визначається при підключенні до декількох моніторів (наприклад, сьогодні я можу бути підключений до дисплея, але завтра я можу бути підключений до двох моніторів Dells через мої два DisplayPorts), і якщо є спосіб націлювання на монітор, зокрема на основі рядка меню.
Я вже можу виявити додаток і його розмір:
tell application "System Events" to tell application process "Notes" to set theSize to get size of window 1
set theWidth to item 1 of theSize
set theHeight to item 2 of theSize
але моя проблема припадає на визначення резолюції, тому я можу обчислити position
і bounds
, щоб перемістити вікно програми.