Spec-Zone.ru › Hammerspoon

hs.screen.watcher

Следить за изменениями макета экрана. Это может быть добавление или удаление монитора, изменение разрешения экрана, перемещение монитора в окне «Параметры отображения» и т. д.

Обратите внимание, что события экрана, происходящие во время приостановки вашего Mac, могут не запускать наблюдатель в различных обстоятельствах (например, если у вас включен FileVault и машина возобновляет работу после спящего режима — события экрана произойдут до разблокирования диска и не будут сообщены Hammerspoon).

Этот модуль в основном основан на коде из предыдущей итерации Mjolnir от Steven Degutis.

Обзор API

  • Конструкторы — вызовы API, которые возвращают объект, обычно тот, который предоставляет методы API
    • new
    • newWithActiveScreen
  • Методы — вызовы API, которые могут быть выполнены только на объекте, возвращенном конструктором
    • start
    • stop

Документация API

Конструкторы

new
Подпись hs.screen.watcher.new(fn) -> watcher
Тип Конструктор
Описание

Создает новый наблюдатель экрана.

Параметры
  • Функция, которая должна вызываться при изменении макета экрана. Эта функция не должна принимать аргументов.
Возвращает
  • Объект hs.screen.watcher
Примечания
  • Изменение макета экрана обычно включает изменение, которое выполняется из панели «Параметры отображения» или при подключении или отключении монитора. Оно также может быть вызвано изменением размера или наличия панели Dock.
Исходный код extensions/screen/libscreen_watcher.m строка 75
newWithActiveScreen
Подпись hs.screen.watcher.newWithActiveScreen(fn) -> watcher
Тип Конструктор
Описание

Создает новый наблюдатель экрана, который также вызывается при изменении активного экрана.

Параметры
  • Функция, которая должна вызываться при изменении макета экрана или активного экрана. Эта функция может необязательно принимать один аргумент, булево значение, которое укажет, было ли изменение вызвано изменением макета экрана (nil) или изменением активного экрана (true).
Возвращает
  • Объект hs.screen.watcher
Примечания
  • Изменение макета экрана обычно включает изменение, которое выполняется из панели «Параметры отображения» или при подключении или отключении монитора. Оно также может быть вызвано изменением размера или наличия панели Dock.
    • nil было выбрано вместо false, для типа аргумента, когда происходит этот тип изменения, чтобы более точно соответствовать предыдущему поведению, когда в функцию обратного вызова не передавался аргумент.
  • Изменение активного экрана указывает на изменение фокусированного или основного экрана, когда у пользователя включена опция «Дисплеи имеют отдельные рабочие пространства» в панели настроек «Центр управления» (фокусированный дисплей — это дисплей, на котором открыто активное окно и активная строка меню).
    • Обнаружение изменения активного дисплея основано на просмотре сообщения NSWorkspaceActiveDisplayDidChangeNotification, которое не документировано Apple. Хотя это сообщение существует как минимум с OS X 10.9, из-за отсутствия документации мы не можем быть уверены, что Apple не удалит его в будущих обновлениях OS X. Поскольку этот наблюдатель работает путем прослушивания опубликованных сообщений, если Apple удалит это уведомление, ваша функция обратного вызова больше не будет получать сообщения об этом изменении — это не приведет к ошибке или изменению поведения каким-либо другим способом. Эта документация будет обновлена, если это изменится.
  • Подключение или отключение монитора может вызвать как обратный вызов макета экрана, так и обратный вызов изменения активного экрана.
Исходный код extensions/screen/libscreen_watcher.m строка 109

Методы

start
Подпись hs.screen.watcher:start() -> watcher
Тип Метод
Описание

Запускает наблюдатель экрана, в результате чего fn вызывается каждый раз, когда изменяется расположение экрана.

Параметры
  • Нет
Возвращает
  • Объект hs.screen.watcher
Исходный код extensions/screen/libscreen_watcher.m строка 137
stop
Подпись hs.screen.watcher:stop() -> watcher
Тип Метод
Описание

Останавливает вызов fn наблюдателя экрана до следующего запуска.

Параметры
  • Нет
Возвращает
  • Объект hs.screen.watcher
Исходный код extensions/screen/libscreen_watcher.m строка 166

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.screen.watcher.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API