Как получить границы экрана для приложения Mac OS X с фокусом клавиатуры / мыши? - PullRequest
0 голосов
/ 26 августа 2018

Я использую следующий скрипт для «максимизации» текущего окна приложения на моем 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.

1 Ответ

0 голосов
/ 26 августа 2018

Рассматривали ли вы это:

tell application (path to frontmost application as text)
    set zoomed of window 1 to true
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...