Files
hammerspoon/Spoons/Seal.spoon/docs.json
T
2026-05-14 18:59:23 -04:00

1125 lines
58 KiB
JSON

[
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [
{
"def": "Seal:bindHotkeys(mapping)",
"desc": "Binds hotkeys for Seal",
"doc": "Binds hotkeys for Seal\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following (optional) items:\n * show - This will cause Seal's UI to be shown\n * toggle - This will cause Seal's UI to be shown or hidden depending on its current state\n\nReturns:\n * The Seal object",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "157",
"name": "bindHotkeys",
"notes": [],
"parameters": [
" * mapping - A table containing hotkey modifier/key details for the following (optional) items:\n * show - This will cause Seal's UI to be shown\n * toggle - This will cause Seal's UI to be shown or hidden depending on its current state"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:bindHotkeys(mapping)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:loadPluginFromFile(plugin_name, file)",
"desc": "Loads a plugin from a given file",
"doc": "Loads a plugin from a given file\n\nParameters:\n * plugin_name - the name of the plugin, without \"seal_\" at the beginning or \".lua\" at the end\n * file - the file where the plugin code is stored.\n\nReturns:\n * The Seal object if the plugin was successfully loaded, `nil` otherwise\n\nNotes:\n * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins\n from non-standard locations and is mostly a development interface.\n * Some plugins may immediately begin doing background work (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "94",
"name": "loadPluginFromFile",
"notes": [
" * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins",
" from non-standard locations and is mostly a development interface.",
" * Some plugins may immediately begin doing background work (e.g. Spotlight searches)"
],
"parameters": [
" * plugin_name - the name of the plugin, without \"seal_\" at the beginning or \".lua\" at the end",
" * file - the file where the plugin code is stored."
],
"returns": [
" * The Seal object if the plugin was successfully loaded, `nil` otherwise"
],
"signature": "Seal:loadPluginFromFile(plugin_name, file)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:loadPlugins(plugins)",
"desc": "Loads a list of Seal plugins",
"doc": "Loads a list of Seal plugins\n\nParameters:\n * plugins - A list containing the names of plugins to load\n\nReturns:\n * The Seal object\n\nNotes:\n * The plugins live inside the Seal.spoon directory\n * The plugin names in the list, should not have `seal_` at the start, or `.lua` at the end\n * Some plugins may immediately begin doing background work (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "122",
"name": "loadPlugins",
"notes": [
" * The plugins live inside the Seal.spoon directory",
" * The plugin names in the list, should not have `seal_` at the start, or `.lua` at the end",
" * Some plugins may immediately begin doing background work (e.g. Spotlight searches)"
],
"parameters": [
" * plugins - A list containing the names of plugins to load"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:loadPlugins(plugins)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:refreshAllCommands()",
"desc": "Refresh the list of commands provided by all the currently loaded plugins.",
"doc": "Refresh the list of commands provided by all the currently loaded plugins.\n\nParameters:\n * None\n\nReturns:\n * The Seal object\n\nNotes:\n * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands.",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "75",
"name": "refreshAllCommands",
"notes": [
" * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands."
],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:refreshAllCommands()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:refreshCommandsForPlugin(plugin_name)",
"desc": "Refresh the list of commands provided by the given plugin.",
"doc": "Refresh the list of commands provided by the given plugin.\n\nParameters:\n * plugin_name - the name of the plugin. Should be the name as passed to `loadPlugins()` or `loadPluginFromFile`.\n\nReturns:\n * The Seal object\n\nNotes:\n * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands.",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "50",
"name": "refreshCommandsForPlugin",
"notes": [
" * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands."
],
"parameters": [
" * plugin_name - the name of the plugin. Should be the name as passed to `loadPlugins()` or `loadPluginFromFile`."
],
"returns": [
" * The Seal object"
],
"signature": "Seal:refreshCommandsForPlugin(plugin_name)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:show(query)",
"desc": "Shows the Seal UI",
"doc": "Shows the Seal UI\n\nParameters:\n * query - An optional string to pre-populate the query box with\n\nReturns:\n * None\n\nNotes:\n * This may be useful if you wish to show Seal in response to something other than its hotkey",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "234",
"name": "show",
"notes": [
" * This may be useful if you wish to show Seal in response to something other than its hotkey"
],
"parameters": [
" * query - An optional string to pre-populate the query box with"
],
"returns": [
" * None"
],
"signature": "Seal:show(query)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:start()",
"desc": "Starts Seal",
"doc": "Starts Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "190",
"name": "start",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:start()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:stop()",
"desc": "Stops Seal",
"doc": "Stops Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object\n\nNotes:\n * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "210",
"name": "stop",
"notes": [
" * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)"
],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:stop()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:toggle(query)",
"desc": "Shows or hides the Seal UI",
"doc": "Shows or hides the Seal UI\n\nParameters:\n * query - An optional string to pre-populate the query box with\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "252",
"name": "toggle",
"notes": [],
"parameters": [
" * query - An optional string to pre-populate the query box with"
],
"returns": [
" * None"
],
"signature": "Seal:toggle(query)",
"stripped_doc": "",
"type": "Method"
}
],
"Variable": [
{
"def": "Seal.plugin_search_paths",
"desc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.",
"doc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.",
"file": "Source/Seal.spoon//init.lua",
"lineno": "45",
"name": "plugin_search_paths",
"signature": "Seal.plugin_search_paths",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.queryChangedTimerDuration",
"desc": "Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.",
"doc": "Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.\n\nNotes:\n * Defaults to 0.02s (20ms).",
"file": "Source/Seal.spoon//init.lua",
"lineno": "37",
"name": "queryChangedTimerDuration",
"notes": [
" * Defaults to 0.02s (20ms)."
],
"signature": "Seal.queryChangedTimerDuration",
"stripped_doc": "",
"type": "Variable"
}
],
"desc": "Pluggable launch bar",
"doc": "Pluggable launch bar\n\nDownload: [https://github.com/Hammerspoon/Spoons/raw/master/Spoons/Seal.spoon.zip](https://github.com/Hammerspoon/Spoons/raw/master/Spoons/Seal.spoon.zip)\n\nSeal includes a number of plugins, which you can choose to load (see `:loadPlugins()` below):\n * apps : Launch applications by name\n * calc : Simple calculator\n * rot13 : Apply ROT13 substitution cipher\n * safari_bookmarks : Open Safari bookmarks (this is broken since at least High Sierra)\n * screencapture : Lets you take screenshots in various ways\n * urlformats : User defined URL formats to open\n * useractions : User defined custom actions\n * vpn : Connect and disconnect VPNs (currently supports Viscosity and macOS system preferences)A",
"items": [
{
"def": "Seal:bindHotkeys(mapping)",
"desc": "Binds hotkeys for Seal",
"doc": "Binds hotkeys for Seal\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following (optional) items:\n * show - This will cause Seal's UI to be shown\n * toggle - This will cause Seal's UI to be shown or hidden depending on its current state\n\nReturns:\n * The Seal object",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "157",
"name": "bindHotkeys",
"notes": [],
"parameters": [
" * mapping - A table containing hotkey modifier/key details for the following (optional) items:\n * show - This will cause Seal's UI to be shown\n * toggle - This will cause Seal's UI to be shown or hidden depending on its current state"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:bindHotkeys(mapping)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:loadPluginFromFile(plugin_name, file)",
"desc": "Loads a plugin from a given file",
"doc": "Loads a plugin from a given file\n\nParameters:\n * plugin_name - the name of the plugin, without \"seal_\" at the beginning or \".lua\" at the end\n * file - the file where the plugin code is stored.\n\nReturns:\n * The Seal object if the plugin was successfully loaded, `nil` otherwise\n\nNotes:\n * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins\n from non-standard locations and is mostly a development interface.\n * Some plugins may immediately begin doing background work (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "94",
"name": "loadPluginFromFile",
"notes": [
" * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins",
" from non-standard locations and is mostly a development interface.",
" * Some plugins may immediately begin doing background work (e.g. Spotlight searches)"
],
"parameters": [
" * plugin_name - the name of the plugin, without \"seal_\" at the beginning or \".lua\" at the end",
" * file - the file where the plugin code is stored."
],
"returns": [
" * The Seal object if the plugin was successfully loaded, `nil` otherwise"
],
"signature": "Seal:loadPluginFromFile(plugin_name, file)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:loadPlugins(plugins)",
"desc": "Loads a list of Seal plugins",
"doc": "Loads a list of Seal plugins\n\nParameters:\n * plugins - A list containing the names of plugins to load\n\nReturns:\n * The Seal object\n\nNotes:\n * The plugins live inside the Seal.spoon directory\n * The plugin names in the list, should not have `seal_` at the start, or `.lua` at the end\n * Some plugins may immediately begin doing background work (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "122",
"name": "loadPlugins",
"notes": [
" * The plugins live inside the Seal.spoon directory",
" * The plugin names in the list, should not have `seal_` at the start, or `.lua` at the end",
" * Some plugins may immediately begin doing background work (e.g. Spotlight searches)"
],
"parameters": [
" * plugins - A list containing the names of plugins to load"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:loadPlugins(plugins)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal.plugin_search_paths",
"desc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.",
"doc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.",
"file": "Source/Seal.spoon//init.lua",
"lineno": "45",
"name": "plugin_search_paths",
"signature": "Seal.plugin_search_paths",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.queryChangedTimerDuration",
"desc": "Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.",
"doc": "Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.\n\nNotes:\n * Defaults to 0.02s (20ms).",
"file": "Source/Seal.spoon//init.lua",
"lineno": "37",
"name": "queryChangedTimerDuration",
"notes": [
" * Defaults to 0.02s (20ms)."
],
"signature": "Seal.queryChangedTimerDuration",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal:refreshAllCommands()",
"desc": "Refresh the list of commands provided by all the currently loaded plugins.",
"doc": "Refresh the list of commands provided by all the currently loaded plugins.\n\nParameters:\n * None\n\nReturns:\n * The Seal object\n\nNotes:\n * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands.",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "75",
"name": "refreshAllCommands",
"notes": [
" * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands."
],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:refreshAllCommands()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:refreshCommandsForPlugin(plugin_name)",
"desc": "Refresh the list of commands provided by the given plugin.",
"doc": "Refresh the list of commands provided by the given plugin.\n\nParameters:\n * plugin_name - the name of the plugin. Should be the name as passed to `loadPlugins()` or `loadPluginFromFile`.\n\nReturns:\n * The Seal object\n\nNotes:\n * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands.",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "50",
"name": "refreshCommandsForPlugin",
"notes": [
" * Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded. This method is used for plugins which expose a dynamic or changing (e.g. depending on configuration) list of commands."
],
"parameters": [
" * plugin_name - the name of the plugin. Should be the name as passed to `loadPlugins()` or `loadPluginFromFile`."
],
"returns": [
" * The Seal object"
],
"signature": "Seal:refreshCommandsForPlugin(plugin_name)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:show(query)",
"desc": "Shows the Seal UI",
"doc": "Shows the Seal UI\n\nParameters:\n * query - An optional string to pre-populate the query box with\n\nReturns:\n * None\n\nNotes:\n * This may be useful if you wish to show Seal in response to something other than its hotkey",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "234",
"name": "show",
"notes": [
" * This may be useful if you wish to show Seal in response to something other than its hotkey"
],
"parameters": [
" * query - An optional string to pre-populate the query box with"
],
"returns": [
" * None"
],
"signature": "Seal:show(query)",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:start()",
"desc": "Starts Seal",
"doc": "Starts Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "190",
"name": "start",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:start()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:stop()",
"desc": "Stops Seal",
"doc": "Stops Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object\n\nNotes:\n * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "210",
"name": "stop",
"notes": [
" * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)"
],
"parameters": [
" * None"
],
"returns": [
" * The Seal object"
],
"signature": "Seal:stop()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal:toggle(query)",
"desc": "Shows or hides the Seal UI",
"doc": "Shows or hides the Seal UI\n\nParameters:\n * query - An optional string to pre-populate the query box with\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//init.lua",
"lineno": "252",
"name": "toggle",
"notes": [],
"parameters": [
" * query - An optional string to pre-populate the query box with"
],
"returns": [
" * None"
],
"signature": "Seal:toggle(query)",
"stripped_doc": "",
"type": "Method"
}
],
"name": "Seal",
"stripped_doc": "\nDownload: [https://github.com/Hammerspoon/Spoons/raw/master/Spoons/Seal.spoon.zip](https://github.com/Hammerspoon/Spoons/raw/master/Spoons/Seal.spoon.zip)\n\nSeal includes a number of plugins, which you can choose to load (see `:loadPlugins()` below):\n * apps : Launch applications by name\n * calc : Simple calculator\n * rot13 : Apply ROT13 substitution cipher\n * safari_bookmarks : Open Safari bookmarks (this is broken since at least High Sierra)\n * screencapture : Lets you take screenshots in various ways\n * urlformats : User defined URL formats to open\n * useractions : User defined custom actions\n * vpn : Connect and disconnect VPNs (currently supports Viscosity and macOS system preferences)A",
"submodules": [
"plugins"
],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [],
"desc": "Various APIs for Seal plugins",
"doc": "Various APIs for Seal plugins",
"items": [],
"name": "Seal.plugins",
"stripped_doc": "",
"submodules": [
"apps",
"filesearch",
"pasteboard",
"safari_bookmarks",
"screencapture",
"urlformats",
"useractions"
],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [
{
"def": "Seal.plugins.apps:restart()",
"desc": "Restarts the Spotlight app searcher",
"doc": "Restarts the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "105",
"name": "restart",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:restart()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal.plugins.apps:start()",
"desc": "Starts the Spotlight app searcher",
"doc": "Starts the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * This is called automatically when the plugin is loaded",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "70",
"name": "start",
"notes": [
" * This is called automatically when the plugin is loaded"
],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:start()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal.plugins.apps:stop()",
"desc": "Stops the Spotlight app searcher",
"doc": "Stops the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "90",
"name": "stop",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:stop()",
"stripped_doc": "",
"type": "Method"
}
],
"Variable": [
{
"def": "Seal.plugins.apps.appSearchPaths",
"desc": "Table containing the paths to search for launchable items",
"doc": "Table containing the paths to search for launchable items\n\nNotes:\n * If you change this, you will need to call `spoon.Seal.plugins.apps:restart()` to force Spotlight to search for new items.",
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "9",
"name": "appSearchPaths",
"notes": [
" * If you change this, you will need to call `spoon.Seal.plugins.apps:restart()` to force Spotlight to search for new items."
],
"signature": "Seal.plugins.apps.appSearchPaths",
"stripped_doc": "",
"type": "Variable"
}
],
"desc": "A plugin to add launchable apps/scripts, making Seal act as a launch bar",
"doc": "A plugin to add launchable apps/scripts, making Seal act as a launch bar",
"items": [
{
"def": "Seal.plugins.apps.appSearchPaths",
"desc": "Table containing the paths to search for launchable items",
"doc": "Table containing the paths to search for launchable items\n\nNotes:\n * If you change this, you will need to call `spoon.Seal.plugins.apps:restart()` to force Spotlight to search for new items.",
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "9",
"name": "appSearchPaths",
"notes": [
" * If you change this, you will need to call `spoon.Seal.plugins.apps:restart()` to force Spotlight to search for new items."
],
"signature": "Seal.plugins.apps.appSearchPaths",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.plugins.apps:restart()",
"desc": "Restarts the Spotlight app searcher",
"doc": "Restarts the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "105",
"name": "restart",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:restart()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal.plugins.apps:start()",
"desc": "Starts the Spotlight app searcher",
"doc": "Starts the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * This is called automatically when the plugin is loaded",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "70",
"name": "start",
"notes": [
" * This is called automatically when the plugin is loaded"
],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:start()",
"stripped_doc": "",
"type": "Method"
},
{
"def": "Seal.plugins.apps:stop()",
"desc": "Stops the Spotlight app searcher",
"doc": "Stops the Spotlight app searcher\n\nParameters:\n * None\n\nReturns:\n * None",
"examples": [],
"file": "Source/Seal.spoon//seal_apps.lua",
"lineno": "90",
"name": "stop",
"notes": [],
"parameters": [
" * None"
],
"returns": [
" * None"
],
"signature": "Seal.plugins.apps:stop()",
"stripped_doc": "",
"type": "Method"
}
],
"name": "Seal.plugins.apps",
"stripped_doc": "",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [
{
"def": "Seal.plugins.filesearch.displayResultsTimeout",
"desc": "Maximum time to wait before displaying the results",
"doc": "Maximum time to wait before displaying the results\nDefaults to 0.2s (200ms).\n\nNotes:\n * higher value might give you more results but will give a less snappy experience",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "21",
"name": "displayResultsTimeout",
"notes": [
" * higher value might give you more results but will give a less snappy experience"
],
"signature": "Seal.plugins.filesearch.displayResultsTimeout",
"stripped_doc": "Defaults to 0.2s (200ms).",
"type": "Variable"
},
{
"def": "Seal.plugins.filesearch.fileSearchPaths",
"desc": "Table containing the paths to search for files",
"doc": "Table containing the paths to search for files\n\nNotes:\n * You will need to authorize hammerspoon to access the folders in this list in order for this to work.",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "8",
"name": "fileSearchPaths",
"notes": [
" * You will need to authorize hammerspoon to access the folders in this list in order for this to work."
],
"signature": "Seal.plugins.filesearch.fileSearchPaths",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.plugins.filesearch.maxResults",
"desc": "Maximum number of results to display",
"doc": "Maximum number of results to display",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "16",
"name": "maxResults",
"signature": "Seal.plugins.filesearch.maxResults",
"stripped_doc": "",
"type": "Variable"
}
],
"desc": "A plugin to add file search capabilities, making Seal act as a spotlight file search",
"doc": "A plugin to add file search capabilities, making Seal act as a spotlight file search",
"items": [
{
"def": "Seal.plugins.filesearch.displayResultsTimeout",
"desc": "Maximum time to wait before displaying the results",
"doc": "Maximum time to wait before displaying the results\nDefaults to 0.2s (200ms).\n\nNotes:\n * higher value might give you more results but will give a less snappy experience",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "21",
"name": "displayResultsTimeout",
"notes": [
" * higher value might give you more results but will give a less snappy experience"
],
"signature": "Seal.plugins.filesearch.displayResultsTimeout",
"stripped_doc": "Defaults to 0.2s (200ms).",
"type": "Variable"
},
{
"def": "Seal.plugins.filesearch.fileSearchPaths",
"desc": "Table containing the paths to search for files",
"doc": "Table containing the paths to search for files\n\nNotes:\n * You will need to authorize hammerspoon to access the folders in this list in order for this to work.",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "8",
"name": "fileSearchPaths",
"notes": [
" * You will need to authorize hammerspoon to access the folders in this list in order for this to work."
],
"signature": "Seal.plugins.filesearch.fileSearchPaths",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.plugins.filesearch.maxResults",
"desc": "Maximum number of results to display",
"doc": "Maximum number of results to display",
"file": "Source/Seal.spoon//seal_filesearch.lua",
"lineno": "16",
"name": "maxResults",
"signature": "Seal.plugins.filesearch.maxResults",
"stripped_doc": "",
"type": "Variable"
}
],
"name": "Seal.plugins.filesearch",
"stripped_doc": "",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [
{
"def": "Seal.plugins.pasteboard.historySize",
"desc": "",
"doc": "\nThe number of history items to keep. Defaults to 50",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "12",
"name": "historySize",
"signature": "Seal.plugins.pasteboard.historySize",
"stripped_doc": "The number of history items to keep. Defaults to 50",
"type": "Variable"
},
{
"def": "Seal.plugins.pasteboard.saveHistory",
"desc": "",
"doc": "\nA boolean, true if Seal should automatically load/save clipboard history. Defaults to true",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "18",
"name": "saveHistory",
"signature": "Seal.plugins.pasteboard.saveHistory",
"stripped_doc": "A boolean, true if Seal should automatically load/save clipboard history. Defaults to true",
"type": "Variable"
},
{
"def": "Seal.plugins.pasteboard.skipUTIs",
"desc": "",
"doc": "\nAn array of UTIs to skip when saving to the history. Defaults to:\n```\n{\n \"de.petermaurer.TransientPasteboardType\",\n \"com.typeit4me.clipping\",\n \"Pasteboard generator type\",\n \"com.agilebits.onepassword\",\n \"org.nspasteboard.TransientType\",\n \"org.nspasteboard.ConcealedType\",\n \"org.nspasteboard.AutoGeneratedType\"\n}\n```",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "24",
"name": "skipUTIs",
"signature": "Seal.plugins.pasteboard.skipUTIs",
"stripped_doc": "An array of UTIs to skip when saving to the history. Defaults to:\n```\n{\n \"de.petermaurer.TransientPasteboardType\",\n \"com.typeit4me.clipping\",\n \"Pasteboard generator type\",\n \"com.agilebits.onepassword\",\n \"org.nspasteboard.TransientType\",\n \"org.nspasteboard.ConcealedType\",\n \"org.nspasteboard.AutoGeneratedType\"\n}\n```",
"type": "Variable"
}
],
"desc": "Visual, searchable pasteboard (ie clipboard) history",
"doc": "Visual, searchable pasteboard (ie clipboard) history",
"items": [
{
"def": "Seal.plugins.pasteboard.historySize",
"desc": "",
"doc": "\nThe number of history items to keep. Defaults to 50",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "12",
"name": "historySize",
"signature": "Seal.plugins.pasteboard.historySize",
"stripped_doc": "The number of history items to keep. Defaults to 50",
"type": "Variable"
},
{
"def": "Seal.plugins.pasteboard.saveHistory",
"desc": "",
"doc": "\nA boolean, true if Seal should automatically load/save clipboard history. Defaults to true",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "18",
"name": "saveHistory",
"signature": "Seal.plugins.pasteboard.saveHistory",
"stripped_doc": "A boolean, true if Seal should automatically load/save clipboard history. Defaults to true",
"type": "Variable"
},
{
"def": "Seal.plugins.pasteboard.skipUTIs",
"desc": "",
"doc": "\nAn array of UTIs to skip when saving to the history. Defaults to:\n```\n{\n \"de.petermaurer.TransientPasteboardType\",\n \"com.typeit4me.clipping\",\n \"Pasteboard generator type\",\n \"com.agilebits.onepassword\",\n \"org.nspasteboard.TransientType\",\n \"org.nspasteboard.ConcealedType\",\n \"org.nspasteboard.AutoGeneratedType\"\n}\n```",
"file": "Source/Seal.spoon//seal_pasteboard.lua",
"lineno": "24",
"name": "skipUTIs",
"signature": "Seal.plugins.pasteboard.skipUTIs",
"stripped_doc": "An array of UTIs to skip when saving to the history. Defaults to:\n```\n{\n \"de.petermaurer.TransientPasteboardType\",\n \"com.typeit4me.clipping\",\n \"Pasteboard generator type\",\n \"com.agilebits.onepassword\",\n \"org.nspasteboard.TransientType\",\n \"org.nspasteboard.ConcealedType\",\n \"org.nspasteboard.AutoGeneratedType\"\n}\n```",
"type": "Variable"
}
],
"name": "Seal.plugins.pasteboard",
"stripped_doc": "",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [
{
"def": "Seal.plugins.safari_bookmarks.always_open_with_safari",
"desc": "If `true` (default), bookmarks are always opened with Safari, otherwise they are opened with the default application using the `/usr/bin/open` command.",
"doc": "If `true` (default), bookmarks are always opened with Safari, otherwise they are opened with the default application using the `/usr/bin/open` command.",
"file": "Source/Seal.spoon//seal_safari_bookmarks.lua",
"lineno": "11",
"name": "always_open_with_safari",
"signature": "Seal.plugins.safari_bookmarks.always_open_with_safari",
"stripped_doc": "",
"type": "Variable"
}
],
"desc": "",
"doc": "\nNote: Apple has changed the way Safari stores bookmarks and this plugin no longer works on recent macOS releases.",
"items": [
{
"def": "Seal.plugins.safari_bookmarks.always_open_with_safari",
"desc": "If `true` (default), bookmarks are always opened with Safari, otherwise they are opened with the default application using the `/usr/bin/open` command.",
"doc": "If `true` (default), bookmarks are always opened with Safari, otherwise they are opened with the default application using the `/usr/bin/open` command.",
"file": "Source/Seal.spoon//seal_safari_bookmarks.lua",
"lineno": "11",
"name": "always_open_with_safari",
"signature": "Seal.plugins.safari_bookmarks.always_open_with_safari",
"stripped_doc": "",
"type": "Variable"
}
],
"name": "Seal.plugins.safari_bookmarks",
"stripped_doc": "Note: Apple has changed the way Safari stores bookmarks and this plugin no longer works on recent macOS releases.",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [
{
"def": "Seal.plugins.screencapture.showPostUI",
"desc": "Whether or not to show the screen capture UI in macOS 10.14 or later",
"doc": "Whether or not to show the screen capture UI in macOS 10.14 or later",
"file": "Source/Seal.spoon//seal_screencapture.lua",
"lineno": "8",
"name": "showPostUI",
"signature": "Seal.plugins.screencapture.showPostUI",
"stripped_doc": "",
"type": "Variable"
}
],
"desc": "A plugin to capture the screen in various ways",
"doc": "A plugin to capture the screen in various ways",
"items": [
{
"def": "Seal.plugins.screencapture.showPostUI",
"desc": "Whether or not to show the screen capture UI in macOS 10.14 or later",
"doc": "Whether or not to show the screen capture UI in macOS 10.14 or later",
"file": "Source/Seal.spoon//seal_screencapture.lua",
"lineno": "8",
"name": "showPostUI",
"signature": "Seal.plugins.screencapture.showPostUI",
"stripped_doc": "",
"type": "Variable"
}
],
"name": "Seal.plugins.screencapture",
"stripped_doc": "",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [
{
"def": "Seal.plugins.urlformats:providersTable(aTable)",
"desc": "Gets or sets the current providers table",
"doc": "Gets or sets the current providers table\n\nParameters:\n * aTable - An optional table of providers, which must contain the following keys:\n * name - A string naming the provider, which will be shown in the Seal results\n * url - A string containing the URL to insert the user's query into. This should contain one and only one `%s`\n\nReturns:\n * Either a table of current providers, if no parameter was passed, or nothing if a parmameter was passed.\n\nNotes:\n * An example table might look like:\n```lua\n{\n rhbz = { name = \"Red Hat Bugzilla\", url = \"https://bugzilla.redhat.com/show_bug.cgi?id=%s\", },\n lp = { name = \"Launchpad Bug\", url = \"https://launchpad.net/bugs/%s\", },\n}\n```",
"examples": [],
"file": "Source/Seal.spoon//seal_urlformats.lua",
"lineno": "97",
"name": "providersTable",
"notes": [
" * An example table might look like:",
"```lua",
"{",
" rhbz = { name = \"Red Hat Bugzilla\", url = \"https://bugzilla.redhat.com/show_bug.cgi?id=%s\", },",
" lp = { name = \"Launchpad Bug\", url = \"https://launchpad.net/bugs/%s\", },",
"}",
"```"
],
"parameters": [
" * aTable - An optional table of providers, which must contain the following keys:\n * name - A string naming the provider, which will be shown in the Seal results\n * url - A string containing the URL to insert the user's query into. This should contain one and only one `%s`"
],
"returns": [
" * Either a table of current providers, if no parameter was passed, or nothing if a parmameter was passed."
],
"signature": "Seal.plugins.urlformats:providersTable(aTable)",
"stripped_doc": "",
"type": "Method"
}
],
"Variable": [],
"desc": "A plugin to quickly open URLs containing a search/query term",
"doc": "A plugin to quickly open URLs containing a search/query term\nThis plugin is invoked with the `uf` keyword and requires some configuration, see `:providersTable()`\n\nThe way this works is by defining a set of providers, each of which contains a URL with a `%s` somewhere insert it.\nWhen the user types `uf` in Seal, followed by some more characters, those characters will be inserted into the string at the point where the `%s` is.\n\nBy way of an example, you could define a provider with a url like `http://bugs.mycorp.com/showBug?id=%s`, and just need to type `uf 123456` in Seal to get a quick shortcut to open the full URL.",
"items": [
{
"def": "Seal.plugins.urlformats:providersTable(aTable)",
"desc": "Gets or sets the current providers table",
"doc": "Gets or sets the current providers table\n\nParameters:\n * aTable - An optional table of providers, which must contain the following keys:\n * name - A string naming the provider, which will be shown in the Seal results\n * url - A string containing the URL to insert the user's query into. This should contain one and only one `%s`\n\nReturns:\n * Either a table of current providers, if no parameter was passed, or nothing if a parmameter was passed.\n\nNotes:\n * An example table might look like:\n```lua\n{\n rhbz = { name = \"Red Hat Bugzilla\", url = \"https://bugzilla.redhat.com/show_bug.cgi?id=%s\", },\n lp = { name = \"Launchpad Bug\", url = \"https://launchpad.net/bugs/%s\", },\n}\n```",
"examples": [],
"file": "Source/Seal.spoon//seal_urlformats.lua",
"lineno": "97",
"name": "providersTable",
"notes": [
" * An example table might look like:",
"```lua",
"{",
" rhbz = { name = \"Red Hat Bugzilla\", url = \"https://bugzilla.redhat.com/show_bug.cgi?id=%s\", },",
" lp = { name = \"Launchpad Bug\", url = \"https://launchpad.net/bugs/%s\", },",
"}",
"```"
],
"parameters": [
" * aTable - An optional table of providers, which must contain the following keys:\n * name - A string naming the provider, which will be shown in the Seal results\n * url - A string containing the URL to insert the user's query into. This should contain one and only one `%s`"
],
"returns": [
" * Either a table of current providers, if no parameter was passed, or nothing if a parmameter was passed."
],
"signature": "Seal.plugins.urlformats:providersTable(aTable)",
"stripped_doc": "",
"type": "Method"
}
],
"name": "Seal.plugins.urlformats",
"stripped_doc": "This plugin is invoked with the `uf` keyword and requires some configuration, see `:providersTable()`\n\nThe way this works is by defining a set of providers, each of which contains a URL with a `%s` somewhere insert it.\nWhen the user types `uf` in Seal, followed by some more characters, those characters will be inserted into the string at the point where the `%s` is.\n\nBy way of an example, you could define a provider with a url like `http://bugs.mycorp.com/showBug?id=%s`, and just need to type `uf 123456` in Seal to get a quick shortcut to open the full URL.",
"submodules": [],
"type": "Module"
},
{
"Command": [],
"Constant": [],
"Constructor": [],
"Deprecated": [],
"Field": [],
"Function": [],
"Method": [],
"Variable": [
{
"def": "Seal.plugins.useractions.actions",
"desc": "",
"doc": "\nNotes:\n * A table containing the definitions of static user-defined actions. Each entry is indexed by the name of the entry as it will be shown in the chooser. Its value is a table which can have the following keys (one of `fn` or `url` is required. If both are provided, `url` is ignored):\n * fn - A function which will be called when the entry is selected. The function receives no arguments.\n * url - A URL which will be opened when the entry is selected. Can also be non-HTTP URLs, such as `mailto:` or other app-specific URLs.\n * description - (optional) A string or `hs.styledtext` object that will be shown underneath the main text of the choice.\n * icon - (optional) An `hs.image` object that will be shown next to the entry in the chooser. If not provided, `Seal.plugins.useractions.default_icon` is used. For `url` bookmarks, it can be set to `\"favicon\"` to fetch and use the website's favicon.\n * keyword - (optional) A command by which this action will be invoked, effectively turning it into a Seal command. Any arguments passed to the command will be handled as follows:\n * For `fn` actions, passed as an argument to the function\n * For `url` actions, substituted into the URL, taking the place of any occurrences of `${query}`.\n * hotkey - (optional) A hotkey specification in the form `{ modifiers, key }` by which this action can be invoked.\n * Example configuration:\n```\nspoon.Seal:loadPlugins({\"useractions\"})\nspoon.Seal.plugins.useractions.actions =\n {\n [\"Hammerspoon docs webpage\"] = {\n url = \"http://hammerspoon.org/docs/\",\n icon = hs.image.imageFromName(hs.image.systemImageNames.ApplicationIcon),\n description = \"Open Hammerspoon documentation\",\n hotkey = { hyper, \"h\" },\n },\n [\"Leave corpnet\"] = {\n fn = function()\n spoon.WiFiTransitions:processTransition('foo', 'corpnet01')\n end,\n },\n [\"Arrive in corpnet\"] = {\n fn = function()\n spoon.WiFiTransitions:processTransition('corpnet01', 'foo')\n end,\n },\n [\"Translate using Leo\"] = {\n url = \"http://dict.leo.org/ende/index_de.html#/search=${query}\",\n icon = 'favicon',\n keyword = \"leo\",\n },\n [\"Tell me something\"] = {\n keyword = \"tellme\",\n fn = function(str) hs.alert.show(str) end,\n }\n```",
"file": "Source/Seal.spoon//seal_useractions.lua",
"lineno": "12",
"name": "actions",
"notes": [
" * A table containing the definitions of static user-defined actions. Each entry is indexed by the name of the entry as it will be shown in the chooser. Its value is a table which can have the following keys (one of `fn` or `url` is required. If both are provided, `url` is ignored):",
" * fn - A function which will be called when the entry is selected. The function receives no arguments.",
" * url - A URL which will be opened when the entry is selected. Can also be non-HTTP URLs, such as `mailto:` or other app-specific URLs.",
" * description - (optional) A string or `hs.styledtext` object that will be shown underneath the main text of the choice.",
" * icon - (optional) An `hs.image` object that will be shown next to the entry in the chooser. If not provided, `Seal.plugins.useractions.default_icon` is used. For `url` bookmarks, it can be set to `\"favicon\"` to fetch and use the website's favicon.",
" * keyword - (optional) A command by which this action will be invoked, effectively turning it into a Seal command. Any arguments passed to the command will be handled as follows:",
" * For `fn` actions, passed as an argument to the function",
" * For `url` actions, substituted into the URL, taking the place of any occurrences of `${query}`.",
" * hotkey - (optional) A hotkey specification in the form `{ modifiers, key }` by which this action can be invoked.",
" * Example configuration:",
"```",
"spoon.Seal:loadPlugins({\"useractions\"})",
"spoon.Seal.plugins.useractions.actions =",
" {",
" [\"Hammerspoon docs webpage\"] = {",
" url = \"http://hammerspoon.org/docs/\",",
" icon = hs.image.imageFromName(hs.image.systemImageNames.ApplicationIcon),",
" description = \"Open Hammerspoon documentation\",",
" hotkey = { hyper, \"h\" },",
" },",
" [\"Leave corpnet\"] = {",
" fn = function()",
" spoon.WiFiTransitions:processTransition('foo', 'corpnet01')",
" end,",
" },",
" [\"Arrive in corpnet\"] = {",
" fn = function()",
" spoon.WiFiTransitions:processTransition('corpnet01', 'foo')",
" end,",
" },",
" [\"Translate using Leo\"] = {",
" url = \"http://dict.leo.org/ende/index_de.html#/search=${query}\",",
" icon = 'favicon',",
" keyword = \"leo\",",
" },",
" [\"Tell me something\"] = {",
" keyword = \"tellme\",",
" fn = function(str) hs.alert.show(str) end,",
" }",
"```"
],
"signature": "Seal.plugins.useractions.actions",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.plugins.useractions.get_favicon",
"desc": "",
"doc": "\nIf `true`, attempt to obtain the favicon for URLs added through the `add` command, and use it in the chooser. Defaults to `true`",
"file": "Source/Seal.spoon//seal_useractions.lua",
"lineno": "58",
"name": "get_favicon",
"signature": "Seal.plugins.useractions.get_favicon",
"stripped_doc": "If `true`, attempt to obtain the favicon for URLs added through the `add` command, and use it in the chooser. Defaults to `true`",
"type": "Variable"
}
],
"desc": "Allow accessing user-defined bookmarks and arbitrary actions from Seal.",
"doc": "Allow accessing user-defined bookmarks and arbitrary actions from Seal.\n",
"items": [
{
"def": "Seal.plugins.useractions.actions",
"desc": "",
"doc": "\nNotes:\n * A table containing the definitions of static user-defined actions. Each entry is indexed by the name of the entry as it will be shown in the chooser. Its value is a table which can have the following keys (one of `fn` or `url` is required. If both are provided, `url` is ignored):\n * fn - A function which will be called when the entry is selected. The function receives no arguments.\n * url - A URL which will be opened when the entry is selected. Can also be non-HTTP URLs, such as `mailto:` or other app-specific URLs.\n * description - (optional) A string or `hs.styledtext` object that will be shown underneath the main text of the choice.\n * icon - (optional) An `hs.image` object that will be shown next to the entry in the chooser. If not provided, `Seal.plugins.useractions.default_icon` is used. For `url` bookmarks, it can be set to `\"favicon\"` to fetch and use the website's favicon.\n * keyword - (optional) A command by which this action will be invoked, effectively turning it into a Seal command. Any arguments passed to the command will be handled as follows:\n * For `fn` actions, passed as an argument to the function\n * For `url` actions, substituted into the URL, taking the place of any occurrences of `${query}`.\n * hotkey - (optional) A hotkey specification in the form `{ modifiers, key }` by which this action can be invoked.\n * Example configuration:\n```\nspoon.Seal:loadPlugins({\"useractions\"})\nspoon.Seal.plugins.useractions.actions =\n {\n [\"Hammerspoon docs webpage\"] = {\n url = \"http://hammerspoon.org/docs/\",\n icon = hs.image.imageFromName(hs.image.systemImageNames.ApplicationIcon),\n description = \"Open Hammerspoon documentation\",\n hotkey = { hyper, \"h\" },\n },\n [\"Leave corpnet\"] = {\n fn = function()\n spoon.WiFiTransitions:processTransition('foo', 'corpnet01')\n end,\n },\n [\"Arrive in corpnet\"] = {\n fn = function()\n spoon.WiFiTransitions:processTransition('corpnet01', 'foo')\n end,\n },\n [\"Translate using Leo\"] = {\n url = \"http://dict.leo.org/ende/index_de.html#/search=${query}\",\n icon = 'favicon',\n keyword = \"leo\",\n },\n [\"Tell me something\"] = {\n keyword = \"tellme\",\n fn = function(str) hs.alert.show(str) end,\n }\n```",
"file": "Source/Seal.spoon//seal_useractions.lua",
"lineno": "12",
"name": "actions",
"notes": [
" * A table containing the definitions of static user-defined actions. Each entry is indexed by the name of the entry as it will be shown in the chooser. Its value is a table which can have the following keys (one of `fn` or `url` is required. If both are provided, `url` is ignored):",
" * fn - A function which will be called when the entry is selected. The function receives no arguments.",
" * url - A URL which will be opened when the entry is selected. Can also be non-HTTP URLs, such as `mailto:` or other app-specific URLs.",
" * description - (optional) A string or `hs.styledtext` object that will be shown underneath the main text of the choice.",
" * icon - (optional) An `hs.image` object that will be shown next to the entry in the chooser. If not provided, `Seal.plugins.useractions.default_icon` is used. For `url` bookmarks, it can be set to `\"favicon\"` to fetch and use the website's favicon.",
" * keyword - (optional) A command by which this action will be invoked, effectively turning it into a Seal command. Any arguments passed to the command will be handled as follows:",
" * For `fn` actions, passed as an argument to the function",
" * For `url` actions, substituted into the URL, taking the place of any occurrences of `${query}`.",
" * hotkey - (optional) A hotkey specification in the form `{ modifiers, key }` by which this action can be invoked.",
" * Example configuration:",
"```",
"spoon.Seal:loadPlugins({\"useractions\"})",
"spoon.Seal.plugins.useractions.actions =",
" {",
" [\"Hammerspoon docs webpage\"] = {",
" url = \"http://hammerspoon.org/docs/\",",
" icon = hs.image.imageFromName(hs.image.systemImageNames.ApplicationIcon),",
" description = \"Open Hammerspoon documentation\",",
" hotkey = { hyper, \"h\" },",
" },",
" [\"Leave corpnet\"] = {",
" fn = function()",
" spoon.WiFiTransitions:processTransition('foo', 'corpnet01')",
" end,",
" },",
" [\"Arrive in corpnet\"] = {",
" fn = function()",
" spoon.WiFiTransitions:processTransition('corpnet01', 'foo')",
" end,",
" },",
" [\"Translate using Leo\"] = {",
" url = \"http://dict.leo.org/ende/index_de.html#/search=${query}\",",
" icon = 'favicon',",
" keyword = \"leo\",",
" },",
" [\"Tell me something\"] = {",
" keyword = \"tellme\",",
" fn = function(str) hs.alert.show(str) end,",
" }",
"```"
],
"signature": "Seal.plugins.useractions.actions",
"stripped_doc": "",
"type": "Variable"
},
{
"def": "Seal.plugins.useractions.get_favicon",
"desc": "",
"doc": "\nIf `true`, attempt to obtain the favicon for URLs added through the `add` command, and use it in the chooser. Defaults to `true`",
"file": "Source/Seal.spoon//seal_useractions.lua",
"lineno": "58",
"name": "get_favicon",
"signature": "Seal.plugins.useractions.get_favicon",
"stripped_doc": "If `true`, attempt to obtain the favicon for URLs added through the `add` command, and use it in the chooser. Defaults to `true`",
"type": "Variable"
}
],
"name": "Seal.plugins.useractions",
"stripped_doc": "",
"submodules": [],
"type": "Module"
}
]