Spec-Zone.ru › Hammerspoon

hs.urlevent

Позволяет Hammerspoon реагировать на URL Hammerspoon настроен на реакцию на URL, начинающиеся с hammerspoon:// при их открытии в OS X. Это расширение позволяет регистрировать обратные вызовы для этих событий URL и их параметров, предоставляя гибкий способ получения событий из других приложений.

Вы также можете выбрать Hammerspoon в качестве значения по умолчанию для http:// и https:// URL, что позволяет маршрутизировать URL в вашем коде Lua.

Учитывая URL, такой как hammerspoon://someEventToHandle?someParam=things&otherParam=stuff, в буквальном смысле RFC1808 URL, someEventToHandle является хост-именем (или net_loc) URL, но учитывая, что это не сетевые ресурсы, мы считаем someEventToHandle именем события. В URL не должно быть указано никакого пути — он должен состоять только из хост-имени и, необязательно, параметров запроса.

См. также hs.ipc для механизма IPC командной строки, который, вероятно, более подходит для скриптов оболочки или использования в командной строке. В отличие от hs.ipc, hs.urlevent не может вернуть данные своему вызывающему объекту.

ПРИМЕЧАНИЕ: Если Hammerspoon не запущен при открытии hammerspoon:// URL, Hammerspoon будет запущен, но не отреагирует на событие URL. Он также не отреагирует на какие-либо события до загрузки этого расширения и связывания обратных вызовов событий. ПРИМЕЧАНИЕ: Любое событие, для которого не привязан обратный вызов, будет записано в консоль Hammerspoon. ПРИМЕЧАНИЕ: При вызове URL из другого приложения, обычно лучше всего открыть URL в фоновом режиме, если такая возможность доступна. В противном случае OS X активирует Hammerspoon (т.е. предоставит ему фокус), что затрудняет использование событий URL для задач, таких как управление окнами.

Обзор API

  • Переменные - Настраиваемые значения
    • httpCallback
    • mailtoCallback
  • Функции - API-вызовы, предлагаемые непосредственно расширением
    • bind
    • getAllHandlersForScheme
    • getDefaultHandler
    • openURL
    • openURLWithBundle
    • setDefaultHandler
    • setRestoreHandler

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

Переменные

httpCallback
Подпись hs.urlevent.httpCallback
Тип Переменная
Описание

Функция, которая должна обрабатывать события URL http:// и https://

Примечания
  • Функция должна обрабатывать четыре аргумента:
  • scheme - строка, содержащая схему URL (например, "http")
  • host - строка, содержащая запрашиваемый хост (например, "www.hammerspoon.org")
  • params - таблица, содержащая пары ключ/значение всех параметров URL
  • fullURL - строка, содержащая полный исходный URL
  • senderPID - целое число, содержащее PID приложения, открывшего URL, если доступно (иначе -1)
Источник extensions/urlevent/urlevent.lua строка 21
mailtoCallback
Подпись hs.urlevent.mailtoCallback
Тип Переменная
Описание

Функция, которая должна обрабатывать события URL mailto:

Примечания
  • Функция должна обрабатывать четыре аргумента:
  • scheme - строка, содержащая схему URI (например, "mailto")
  • host - строка, содержащая запрашиваемый хост (обычно nil)
  • params - таблица, содержащая пары ключ/значение всех параметров URL, обычно пустая
  • fullURL - строка, содержащая полный исходный URI
  • senderPID - целое число, содержащее PID приложения, открывшего URI, если доступно (иначе -1)
Источник extensions/urlevent/urlevent.lua строка 34

Функции

bind
Подпись hs.urlevent.bind(eventName, callback)
Тип Функция
Описание

Регистрирует обратный вызов для события URL hammerspoon://

Параметры
  • eventName - строка, содержащая имя события
  • callback - функция, которая будет вызываться при получении указанного события, или nil для удаления существующего обратного вызова
Возвращаемые значения
  • Нет
Примечания
  • Функция обратного вызова должна принимать два параметра:
  • eventName - строка, содержащая имя события
  • params - таблица, содержащая пары ключ/значение строк, содержащих любые параметры URL, которые были указаны в URL
  • senderPID - целое число, содержащее PID приложения-отправителя, если доступно (иначе -1)
  • Учитывая URL hammerspoon://doThingA?value=1 Имя события — doThingA, а аргумент обратного вызова params будет таблицей, содержащей {["value"] = "1"}
Источник extensions/urlevent/urlevent.lua строка 88
getAllHandlersForScheme
Подпись hs.urlevent.getAllHandlersForScheme(scheme) -> table
Тип Функция
Описание

Получает все идентификаторы пакетов приложений, способных обрабатывать схему URL

Параметры
  • scheme - строка, содержащая схему URL (например, 'http')
Возвращаемые значения
  • Таблица, содержащая идентификаторы пакетов всех приложений, которые могут обрабатывать схему
Источник extensions/urlevent/liburlevent.m строка 269
getDefaultHandler
Подпись hs.urlevent.getDefaultHandler(scheme) -> string
Тип Функция
Описание

Получает идентификатор пакета приложения, который в настоящее время зарегистрирован для обработки схемы URL

Параметры
  • scheme - строка, содержащая схему URL (например, 'http')
Возвращаемые значения
  • Строка, содержащая идентификатор пакета текущего приложения по умолчанию
Источник extensions/urlevent/liburlevent.m строка 244
openURL
Подпись hs.urlevent.openURL(url)
Тип Функция
Описание

Открывает URL с помощью приложения по умолчанию

Параметры
  • url - строка, содержащая URL, который должен содержать схему и '://'
Возвращаемые значения
  • Булево значение, true, если URL был успешно открыт, в противном случае false
Источник extensions/urlevent/urlevent.lua строка 109
openURLWithBundle
Подпись hs.urlevent.openURLWithBundle(url, bundleID) -> boolean
Тип Функция
Описание

Открывает URL с помощью указанного приложения

Параметры
  • url - строка, содержащая URL
  • bundleID - строка, содержащая идентификатор пакета приложения (например, "com.apple.Safari")
Возвращаемые значения
  • True, если приложение было успешно запущено, в противном случае false
Источник extensions/urlevent/liburlevent.m строка 300
setDefaultHandler
Подпись hs.urlevent.setDefaultHandler(scheme[, bundleID])
Тип Функция
Описание

Устанавливает обработчик системы по умолчанию для URL заданной схемы

Параметры
  • scheme - строка, содержащая схему URL для изменения. Должно быть 'http' или 'https' (хотя ввод любого из них изменит обработчик для обоих)
  • bundleID - необязательная строка, содержащая идентификатор пакета приложения для приложения, которое нужно установить в качестве обработчика по умолчанию. По умолчанию org.hammerspoon.Hammerspoon.
Возвращаемые значения
  • Нет
Примечания
  • Изменение обработчика по умолчанию для URL http/https отобразит системный запрос, спрашивающий пользователя о подтверждении изменения
Источник extensions/urlevent/liburlevent.m строка 196
setRestoreHandler
Подпись hs.urlevent.setRestoreHandler(scheme, bundleID)
Тип Функция
Описание

Сохраняет обработчик URL, который будет восстановлен при перезагрузке Hammerspoon или его конфигурации

Параметры
  • scheme - строка, содержащая схему URL для изменения. Должно быть 'http' (хотя оба URL http:// и https:// будут затронуты)
  • bundleID - строка, содержащая идентификатор пакета приложения (например, 'com.apple.Safari') для приложения, которое нужно установить в качестве обработчика по умолчанию при выходе Hammerspoon или перезагрузке его конфигурации
Возвращаемые значения
  • Нет
Примечания
  • Вы не обязаны вызывать эту функцию, если хотите, чтобы Hammerspoon был вашим обработчиком по умолчанию. Используйте это только в том случае, если хотите, чтобы обработчик автоматически возвращался к чему-то другому при выходе/перезагрузке Hammerspoon.
Источник extensions/urlevent/liburlevent.m строка 173

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

Spec-Zone.ru

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