Я использую следующий скрипт для «максимизации» текущего окна приложения на моем Mac.
Работает нормально, когда переднее окно приложения находится на основном / большом внешнем дисплее, или когда мой ноутбук не подключен к внешнему дисплею.
Однако, когда я подключен к внешнему дисплею, и окно, которое я пытаюсь развернуть, отображается на дисплее моего ноутбука (не на внешнем, основном дисплее), этот сценарий заканчивается расширением окна до размеров большего дисплея .
try
tell application "Finder" to set b to bounds of window of desktop
try
tell application (path to frontmost application as text)
set bounds of window 1 to {item 1 of b, 22, item 3 of b, item 4 of b}
end tell
on error
tell application "System Events" to tell window 1 of (process 1 where it is frontmost)
try
set position to {0, 22}
set size to {item 3 of b, (item 4 of b) - 22}
on error
click (button 1 of window 1 where subrole is "AXZoomButton")
end try
end tell
end try
end try
Я считаю, что проблема в том, как я получаю желаемое bounds
, b
:
bounds of window of desktop
Это, кажется, всегда возвращает границы основного дисплея.
Мне нужен способ определения границ экрана для текущего запущенного приложения, в фокусе которого находятся клавиатура и мышь.
NB. Я совершенно уверен, что решение этой проблемы - в Swift, а не в Apple Script.