diff --git a/docs/AClock.html b/docs/AClock.html index 19ad0f0e..b47ee671 100644 --- a/docs/AClock.html +++ b/docs/AClock.html @@ -74,7 +74,7 @@
hide
Source - Source/AClock.spoon/init.lua + Source/AClock.spoon/init.lua @@ -110,7 +110,7 @@
init
Source - Source/AClock.spoon/init.lua + Source/AClock.spoon/init.lua @@ -146,7 +146,7 @@
show
Source - Source/AClock.spoon/init.lua + Source/AClock.spoon/init.lua @@ -179,7 +179,7 @@
toggleShow
Source - Source/AClock.spoon/init.lua + Source/AClock.spoon/init.lua @@ -212,7 +212,7 @@
toggleShowPersistent
Source - Source/AClock.spoon/init.lua + Source/AClock.spoon/init.lua diff --git a/docs/AppLauncher.html b/docs/AppLauncher.html index 5197bf34..ab5b7705 100644 --- a/docs/AppLauncher.html +++ b/docs/AppLauncher.html @@ -71,7 +71,7 @@
modifiers
Source - Source/AppLauncher.spoon/init.lua + Source/AppLauncher.spoon/init.lua @@ -105,7 +105,7 @@
bindHotkeys
Source - Source/AppLauncher.spoon/init.lua + Source/AppLauncher.spoon/init.lua diff --git a/docs/ArrangeDesktop.html b/docs/ArrangeDesktop.html index 3d1f17e2..eb27ea68 100644 --- a/docs/ArrangeDesktop.html +++ b/docs/ArrangeDesktop.html @@ -53,7 +53,7 @@
arrangements
Source - Source/ArrangeDesktop.spoon/init.lua + Source/ArrangeDesktop.spoon/init.lua @@ -75,7 +75,7 @@
logger
Source - Source/ArrangeDesktop.spoon/init.lua + Source/ArrangeDesktop.spoon/init.lua @@ -111,7 +111,7 @@
addMenuItems
Source - Source/ArrangeDesktop.spoon/init.lua + Source/ArrangeDesktop.spoon/init.lua @@ -144,7 +144,7 @@
arrange
Source - Source/ArrangeDesktop.spoon/init.lua + Source/ArrangeDesktop.spoon/init.lua @@ -177,7 +177,7 @@
logCurrentArrangement
Source - Source/ArrangeDesktop.spoon/init.lua + Source/ArrangeDesktop.spoon/init.lua diff --git a/docs/Asana.html b/docs/Asana.html index 5cfbed0e..6576b3bd 100644 --- a/docs/Asana.html +++ b/docs/Asana.html @@ -80,7 +80,7 @@
apiKey
Source - Source/Asana.spoon/init.lua + Source/Asana.spoon/init.lua @@ -122,7 +122,7 @@
createTask
Source - Source/Asana.spoon/init.lua + Source/Asana.spoon/init.lua diff --git a/docs/BonjourLauncher.html b/docs/BonjourLauncher.html index b8374c2f..8323b3b3 100644 --- a/docs/BonjourLauncher.html +++ b/docs/BonjourLauncher.html @@ -74,7 +74,7 @@
darkMode
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -103,7 +103,7 @@
displayToolbar
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -132,7 +132,7 @@
rows
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -162,7 +162,7 @@
subTextColor
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -223,7 +223,7 @@
templates
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -253,7 +253,7 @@
textColor
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -282,7 +282,7 @@
width
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -326,7 +326,7 @@
addRecipes
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -390,7 +390,7 @@
bindHotkeys
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -426,7 +426,7 @@
hide
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -470,7 +470,7 @@
show
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -513,7 +513,7 @@
start
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -556,7 +556,7 @@
stop
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua @@ -592,7 +592,7 @@
toggle
Source - Source/BonjourLauncher.spoon/init.lua + Source/BonjourLauncher.spoon/init.lua diff --git a/docs/BonjourLauncher.recipes.html b/docs/BonjourLauncher.recipes.html index 37a1757a..0c6bed72 100644 --- a/docs/BonjourLauncher.recipes.html +++ b/docs/BonjourLauncher.recipes.html @@ -54,9 +54,29 @@
AFP
Description Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers. + + Notes + + + Source - Source/BonjourLauncher.spoon/recipes.lua + Source/BonjourLauncher.spoon/recipes.lua @@ -79,13 +99,24 @@
SMB
Notes Source - Source/BonjourLauncher.spoon/recipes.lua + Source/BonjourLauncher.spoon/recipes.lua @@ -108,13 +139,34 @@
SSH
Notes Source - Source/BonjourLauncher.spoon/recipes.lua + Source/BonjourLauncher.spoon/recipes.lua @@ -137,13 +189,36 @@
VNC
Notes Source - Source/BonjourLauncher.spoon/recipes.lua + Source/BonjourLauncher.spoon/recipes.lua @@ -166,13 +241,47 @@
VNC_RealVNC_Alternate
Notes Source - Source/BonjourLauncher.spoon/recipes.lua + Source/BonjourLauncher.spoon/recipes.lua diff --git a/docs/BrewInfo.html b/docs/BrewInfo.html index e12e1b93..975e50c2 100644 --- a/docs/BrewInfo.html +++ b/docs/BrewInfo.html @@ -61,7 +61,7 @@
brew_info_delay_sec
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -83,7 +83,7 @@
brew_info_style
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -105,7 +105,7 @@
select_text_if_needed
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -127,7 +127,7 @@
select_text_modifiers
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -167,7 +167,7 @@
bindHotkeys
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -204,7 +204,7 @@
openBrewURL
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -240,7 +240,7 @@
openBrewURLCurSel
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -277,7 +277,7 @@
showBrewInfo
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua @@ -313,7 +313,7 @@
showBrewInfoCurSel
Source - Source/BrewInfo.spoon/init.lua + Source/BrewInfo.spoon/init.lua diff --git a/docs/Caffeine.html b/docs/Caffeine.html index 2d4beb3e..60e337af 100644 --- a/docs/Caffeine.html +++ b/docs/Caffeine.html @@ -66,7 +66,7 @@
bindHotkeys
Source - Source/Caffeine.spoon/init.lua + Source/Caffeine.spoon/init.lua @@ -102,7 +102,7 @@
setState
Source - Source/Caffeine.spoon/init.lua + Source/Caffeine.spoon/init.lua @@ -138,7 +138,7 @@
start
Source - Source/Caffeine.spoon/init.lua + Source/Caffeine.spoon/init.lua @@ -174,7 +174,7 @@
stop
Source - Source/Caffeine.spoon/init.lua + Source/Caffeine.spoon/init.lua diff --git a/docs/Cherry.html b/docs/Cherry.html index 7f4d8e79..efb7121f 100644 --- a/docs/Cherry.html +++ b/docs/Cherry.html @@ -62,7 +62,7 @@
bindHotkeys
Source - Source/Cherry.spoon/init.lua + Source/Cherry.spoon/init.lua @@ -98,7 +98,7 @@
popup
Source - Source/Cherry.spoon/init.lua + Source/Cherry.spoon/init.lua @@ -134,7 +134,7 @@
start
Source - Source/Cherry.spoon/init.lua + Source/Cherry.spoon/init.lua diff --git a/docs/ClipShow.html b/docs/ClipShow.html index f8b39835..17c27ed8 100644 --- a/docs/ClipShow.html +++ b/docs/ClipShow.html @@ -62,7 +62,7 @@
openInBrowserWithRef
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua @@ -95,7 +95,7 @@
openWithCommand
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua @@ -128,7 +128,7 @@
restoreLastSession
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua @@ -161,7 +161,7 @@
saveToFile
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua @@ -194,7 +194,7 @@
saveToSession
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua @@ -227,7 +227,7 @@
toggleShow
Source - Source/ClipShow.spoon/init.lua + Source/ClipShow.spoon/init.lua diff --git a/docs/ClipboardTool.html b/docs/ClipboardTool.html index 93aa0af4..5142cbb6 100644 --- a/docs/ClipboardTool.html +++ b/docs/ClipboardTool.html @@ -72,7 +72,7 @@
deduplicate
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -94,7 +94,7 @@
frequency
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -116,7 +116,7 @@
hist_size
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -138,7 +138,7 @@
honor_ignoredidentifiers
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -156,11 +156,28 @@
ignoredIdentifiers
Description - Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing): + Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. + + + Notes + + Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -182,7 +199,7 @@
logger
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -204,7 +221,7 @@
max_entry_size
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -226,7 +243,7 @@
max_size
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -248,7 +265,7 @@
menubar_title
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -270,7 +287,7 @@
paste_on_select
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -292,7 +309,7 @@
show_copied_alert
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -314,7 +331,7 @@
show_in_menubar
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -352,7 +369,7 @@
bindHotkeys
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -385,7 +402,7 @@
checkAndStorePasteboard
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -418,7 +435,7 @@
clearAll
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -451,7 +468,7 @@
clearLastItem
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -487,7 +504,7 @@
pasteboardToClipboard
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -520,7 +537,7 @@
shouldBeStored
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -553,7 +570,7 @@
showClipboard
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -586,7 +603,7 @@
start
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -619,7 +636,7 @@
toggleClipboard
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua @@ -652,7 +669,7 @@
togglePasteOnSelect
Source - Source/ClipboardTool.spoon/init.lua + Source/ClipboardTool.spoon/init.lua diff --git a/docs/ColorPicker.html b/docs/ColorPicker.html index e9757aa9..ea46452a 100644 --- a/docs/ColorPicker.html +++ b/docs/ColorPicker.html @@ -54,7 +54,7 @@
logger
Source - Source/ColorPicker.spoon/init.lua + Source/ColorPicker.spoon/init.lua @@ -76,7 +76,7 @@
menubar_title
Source - Source/ColorPicker.spoon/init.lua + Source/ColorPicker.spoon/init.lua @@ -98,7 +98,7 @@
show_in_menubar
Source - Source/ColorPicker.spoon/init.lua + Source/ColorPicker.spoon/init.lua @@ -135,7 +135,7 @@
bindHotkeys
Source - Source/ColorPicker.spoon/init.lua + Source/ColorPicker.spoon/init.lua @@ -168,7 +168,7 @@
toggleColorSamples
Source - Source/ColorPicker.spoon/init.lua + Source/ColorPicker.spoon/init.lua diff --git a/docs/Commander.html b/docs/Commander.html index 90939d67..ccb2d20b 100644 --- a/docs/Commander.html +++ b/docs/Commander.html @@ -62,9 +62,16 @@
commandTable
Description This is the table which stores all the commands + + Notes + + + Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -82,11 +89,11 @@
forceLayout
Description - If you want to switch to a layout when enabled chooser, + If you want to switch to a layout when enabled chooser, set this to name of that layout Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -104,11 +111,11 @@
forceMethod
Description - If you want to switch to a method when enabled chooser, + If you want to switch to a method when enabled chooser, set this to name of that method Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -126,11 +133,18 @@
ignoredCommandList
Description - This list contains all the ignored function names, + This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable. + + + Notes + + Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -162,9 +176,16 @@
addCommand
Returns + + Notes + + + Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -197,7 +218,7 @@
resetCommandTable
Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua @@ -230,7 +251,7 @@
show
Source - Source/Commander.spoon/init.lua + Source/Commander.spoon/init.lua diff --git a/docs/CountDown.html b/docs/CountDown.html index 95a91732..bb82c223 100644 --- a/docs/CountDown.html +++ b/docs/CountDown.html @@ -59,7 +59,7 @@
pauseOrResume
Source - Source/CountDown.spoon/init.lua + Source/CountDown.spoon/init.lua @@ -92,7 +92,7 @@
setProgress
Source - Source/CountDown.spoon/init.lua + Source/CountDown.spoon/init.lua @@ -125,7 +125,7 @@
startFor
Source - Source/CountDown.spoon/init.lua + Source/CountDown.spoon/init.lua diff --git a/docs/DeepLTranslate.html b/docs/DeepLTranslate.html index d8c0a36a..06c97c2e 100644 --- a/docs/DeepLTranslate.html +++ b/docs/DeepLTranslate.html @@ -61,7 +61,7 @@
logger
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -83,7 +83,7 @@
popup_close_after_copy
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -105,7 +105,7 @@
popup_close_on_escape
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -127,7 +127,7 @@
popup_size
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -149,7 +149,7 @@
popup_style
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -186,7 +186,7 @@
bindHotkeys
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -222,7 +222,7 @@
translatePopup
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua @@ -258,7 +258,7 @@
translateSelectionPopup
Source - Source/DeepLTranslate.spoon/init.lua + Source/DeepLTranslate.spoon/init.lua diff --git a/docs/EjectMenu.html b/docs/EjectMenu.html index 89e8e324..71124e37 100644 --- a/docs/EjectMenu.html +++ b/docs/EjectMenu.html @@ -59,11 +59,19 @@
eject_on_lid_close
Description - Boolean, whether to eject volumes when the laptop lid is closed + Boolean, whether to eject volumes when the laptop lid is closed with an external display connected. + + + Notes + + Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -85,7 +93,7 @@
eject_on_sleep
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -107,7 +115,7 @@
logger
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -129,7 +137,7 @@
never_eject
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -151,7 +159,7 @@
notify
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -169,11 +177,18 @@
other_eject_events
Description - List of additional system events on which the volumes should be ejected. The + List of additional system events on which the volumes should be ejected. + + + Notes + + Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -195,7 +210,7 @@
show_in_menubar
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -219,11 +234,9 @@
bindHotkeys
Parameters @@ -232,7 +245,7 @@
bindHotkeys
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -265,7 +278,7 @@
ejectVolumes
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -302,7 +315,7 @@
shouldEject
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -335,7 +348,7 @@
start
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -368,7 +381,7 @@
stop
Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua @@ -398,16 +411,14 @@
volumesToEject
Returns Source - Source/EjectMenu.spoon/init.lua + Source/EjectMenu.spoon/init.lua diff --git a/docs/Emojis.html b/docs/Emojis.html index 10f5f129..7a82629b 100644 --- a/docs/Emojis.html +++ b/docs/Emojis.html @@ -62,7 +62,7 @@
bindHotkeys
Source - Source/Emojis.spoon/init.lua + Source/Emojis.spoon/init.lua diff --git a/docs/EvernoteOpenAndTag.html b/docs/EvernoteOpenAndTag.html index d98901ef..48f10f46 100644 --- a/docs/EvernoteOpenAndTag.html +++ b/docs/EvernoteOpenAndTag.html @@ -55,7 +55,7 @@
logger
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -94,7 +94,7 @@
bindHotkeys
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -130,7 +130,7 @@
evernoteIsFrontmost
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -173,7 +173,7 @@
inlineTagCurrentNote
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -216,7 +216,7 @@
openAndTagCurrentNote
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -259,7 +259,7 @@
openCurrentNoteInWindow
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua @@ -295,7 +295,7 @@
tagCurrentNote
Source - Source/EvernoteOpenAndTag.spoon/init.lua + Source/EvernoteOpenAndTag.spoon/init.lua diff --git a/docs/FadeLogo.html b/docs/FadeLogo.html index 92471aa7..a13d4d71 100644 --- a/docs/FadeLogo.html +++ b/docs/FadeLogo.html @@ -67,7 +67,7 @@
fade_in_time
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -89,7 +89,7 @@
fade_out_time
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -111,7 +111,7 @@
image
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -133,7 +133,7 @@
image_alpha
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -155,7 +155,7 @@
image_size
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -177,7 +177,7 @@
logger
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -199,7 +199,7 @@
run_time
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -221,7 +221,7 @@
zoom
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -243,7 +243,7 @@
zoom_scale_factor
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -265,7 +265,7 @@
zoom_scale_timer
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -299,7 +299,7 @@
delete
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -332,7 +332,7 @@
hide
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -365,7 +365,7 @@
show
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -398,7 +398,7 @@
start
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua @@ -431,7 +431,7 @@
zoom_and_fade
Source - Source/FadeLogo.spoon/init.lua + Source/FadeLogo.spoon/init.lua diff --git a/docs/ForceTouchMapper.html b/docs/ForceTouchMapper.html index 3e0d936a..7a11f7a5 100644 --- a/docs/ForceTouchMapper.html +++ b/docs/ForceTouchMapper.html @@ -62,7 +62,7 @@
apps
Source - Source/ForceTouchMapper.spoon/init.lua + Source/ForceTouchMapper.spoon/init.lua @@ -96,7 +96,7 @@
start
Source - Source/ForceTouchMapper.spoon/init.lua + Source/ForceTouchMapper.spoon/init.lua diff --git a/docs/HCalendar.html b/docs/HCalendar.html index 0849ccf0..98764a47 100644 --- a/docs/HCalendar.html +++ b/docs/HCalendar.html @@ -53,7 +53,7 @@
showProgress
Source - Source/HCalendar.spoon/init.lua + Source/HCalendar.spoon/init.lua @@ -87,7 +87,7 @@
createCanvas
Source - Source/HCalendar.spoon/init.lua + Source/HCalendar.spoon/init.lua @@ -120,7 +120,7 @@
init
Source - Source/HCalendar.spoon/init.lua + Source/HCalendar.spoon/init.lua @@ -153,7 +153,7 @@
start
Source - Source/HCalendar.spoon/init.lua + Source/HCalendar.spoon/init.lua @@ -186,7 +186,7 @@
stop
Source - Source/HCalendar.spoon/init.lua + Source/HCalendar.spoon/init.lua diff --git a/docs/HSKeybindings.html b/docs/HSKeybindings.html index e4c5ad68..a9eef146 100644 --- a/docs/HSKeybindings.html +++ b/docs/HSKeybindings.html @@ -60,7 +60,7 @@
hide
Source - Source/HSKeybindings.spoon/init.lua + Source/HSKeybindings.spoon/init.lua @@ -93,7 +93,7 @@
show
Source - Source/HSKeybindings.spoon/init.lua + Source/HSKeybindings.spoon/init.lua diff --git a/docs/HSaria2.html b/docs/HSaria2.html index 58ab16ce..caec73fe 100644 --- a/docs/HSaria2.html +++ b/docs/HSaria2.html @@ -54,7 +54,7 @@
max_items
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua @@ -76,7 +76,7 @@
refresh_interval
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua @@ -111,7 +111,7 @@
connectToHost
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua @@ -147,7 +147,7 @@
newTask
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua @@ -183,7 +183,7 @@
sendCommand
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua @@ -216,7 +216,7 @@
togglePanel
Source - Source/HSaria2.spoon/init.lua + Source/HSaria2.spoon/init.lua diff --git a/docs/HSearch.html b/docs/HSearch.html index 78c94c20..6d3fb700 100644 --- a/docs/HSearch.html +++ b/docs/HSearch.html @@ -59,7 +59,7 @@
loadSources
Source - Source/HSearch.spoon/init.lua + Source/HSearch.spoon/init.lua @@ -92,7 +92,7 @@
switchSource
Source - Source/HSearch.spoon/init.lua + Source/HSearch.spoon/init.lua @@ -125,7 +125,7 @@
toggleShow
Source - Source/HSearch.spoon/init.lua + Source/HSearch.spoon/init.lua diff --git a/docs/HeadphoneAutoPause.html b/docs/HeadphoneAutoPause.html index 672ddb71..da19d1c5 100644 --- a/docs/HeadphoneAutoPause.html +++ b/docs/HeadphoneAutoPause.html @@ -54,9 +54,16 @@
autoResume
Description Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged. + + Notes + + + Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -74,11 +81,25 @@
control
Description - Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value: + Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. + + + Notes + + Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -98,9 +119,23 @@
controlfns
Description Table containing control functions for each application to control. + + Notes + + + Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -122,7 +157,7 @@
logger
Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -157,7 +192,7 @@
audiodevwatch
Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -193,7 +228,7 @@
defaultControlFns
Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -226,7 +261,7 @@
start
Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua @@ -259,7 +294,7 @@
stop
Source - Source/HeadphoneAutoPause.spoon/init.lua + Source/HeadphoneAutoPause.spoon/init.lua diff --git a/docs/HighSierraiTunesMediaFix.html b/docs/HighSierraiTunesMediaFix.html index dc1aca62..43c3704d 100644 --- a/docs/HighSierraiTunesMediaFix.html +++ b/docs/HighSierraiTunesMediaFix.html @@ -60,7 +60,7 @@
start
Source - Source/HighSierraiTunesMediaFix.spoon/init.lua + Source/HighSierraiTunesMediaFix.spoon/init.lua @@ -96,7 +96,7 @@
stop
Source - Source/HighSierraiTunesMediaFix.spoon/init.lua + Source/HighSierraiTunesMediaFix.spoon/init.lua diff --git a/docs/HoldToQuit.html b/docs/HoldToQuit.html index 0cd616d4..380cebef 100644 --- a/docs/HoldToQuit.html +++ b/docs/HoldToQuit.html @@ -58,7 +58,7 @@
defaultHotkey
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -80,7 +80,7 @@
duration
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -102,7 +102,7 @@
hotkeyQbj
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -124,7 +124,7 @@
timer
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -161,7 +161,7 @@
bindHotkeys
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -194,7 +194,7 @@
init
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -227,7 +227,7 @@
killCurrentApp
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -260,7 +260,7 @@
onKeyDown
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -293,7 +293,7 @@
onKeyUp
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -326,7 +326,7 @@
start
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua @@ -359,7 +359,7 @@
stop
Source - Source/HoldToQuit.spoon/init.lua + Source/HoldToQuit.spoon/init.lua diff --git a/docs/KSheet.html b/docs/KSheet.html index d90ed0f1..7c50d7ba 100644 --- a/docs/KSheet.html +++ b/docs/KSheet.html @@ -66,7 +66,7 @@
bindHotkeys
Source - Source/KSheet.spoon/init.lua + Source/KSheet.spoon/init.lua @@ -99,7 +99,7 @@
hide
Source - Source/KSheet.spoon/init.lua + Source/KSheet.spoon/init.lua @@ -132,7 +132,7 @@
init
Source - Source/KSheet.spoon/init.lua + Source/KSheet.spoon/init.lua @@ -165,7 +165,7 @@
show
Source - Source/KSheet.spoon/init.lua + Source/KSheet.spoon/init.lua @@ -198,7 +198,7 @@
toggle
Source - Source/KSheet.spoon/init.lua + Source/KSheet.spoon/init.lua diff --git a/docs/Keychain.html b/docs/Keychain.html index 490faf7c..e7abf992 100644 --- a/docs/Keychain.html +++ b/docs/Keychain.html @@ -68,7 +68,7 @@
login_keychain
Source - Source/Keychain.spoon/init.lua + Source/Keychain.spoon/init.lua @@ -91,7 +91,7 @@
logger
Source - Source/Keychain.spoon/init.lua + Source/Keychain.spoon/init.lua @@ -135,7 +135,7 @@
addItem
Source - Source/Keychain.spoon/init.lua + Source/Keychain.spoon/init.lua @@ -184,7 +184,7 @@
getItem
Source - Source/Keychain.spoon/init.lua + Source/Keychain.spoon/init.lua diff --git a/docs/Leanpub.html b/docs/Leanpub.html index 5e1b15bf..ab03e4b6 100644 --- a/docs/Leanpub.html +++ b/docs/Leanpub.html @@ -60,11 +60,18 @@
api_key
Description - String containing the key to use for Leanpub API requests. Get it + String containing the key to use for Leanpub API requests. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -82,11 +89,19 @@
books_sync_to_dropbox
Description - Boolean that specifies whether all your books are being synced to + Boolean that specifies whether all your books are being synced to Dropbox. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -104,11 +119,11 @@
check_interval
Description - Integer containing the interval (in seconds) at which the book + Integer containing the interval (in seconds) at which the book status is checked. Default 5. Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -126,11 +141,19 @@
dropbox_path
Description - String containing the base Dropbox path to which the books are + String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -148,11 +171,19 @@
dropbox_type
Description - String containing the name of the Dropbox account type to use for + String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -170,11 +201,18 @@
fetch_leanpub_covers
Description - Boolean indicating whether we should try to fetch book covers from + Boolean indicating whether we should try to fetch book covers from Leanpub. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -192,11 +230,11 @@
logger
Description - Logger object used within the Spoon. Can be accessed to set the + Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon. Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -214,11 +252,18 @@
persistent_notification
Description - Table specifying the Leanpub status for which notifications should + Table specifying the Leanpub status for which notifications should not disappear automatically. + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -236,11 +281,23 @@
watch_books
Description - List of books to watch (by default an empty list). Each element of + List of books to watch (by default an empty list). + + + Notes + + Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -274,7 +331,7 @@
displayAllBookStatus
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -308,8 +365,7 @@
displayBookStatus
Returns @@ -322,7 +378,7 @@
displayBookStatus
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -358,7 +414,7 @@
fetchBookCover
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -395,7 +451,7 @@
getBookStatus
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -428,7 +484,7 @@
start
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua @@ -461,7 +517,7 @@
stop
Source - Source/Leanpub.spoon/init.lua + Source/Leanpub.spoon/init.lua diff --git a/docs/LookupSelection.html b/docs/LookupSelection.html index bb4a55cb..9afdeab2 100644 --- a/docs/LookupSelection.html +++ b/docs/LookupSelection.html @@ -52,7 +52,7 @@
logger
Source - Source/LookupSelection.spoon/init.lua + Source/LookupSelection.spoon/init.lua @@ -89,9 +89,22 @@
bindHotkeys
Returns + + Notes + + + Source - Source/LookupSelection.spoon/init.lua + Source/LookupSelection.spoon/init.lua @@ -127,7 +140,7 @@
openLexicon
Source - Source/LookupSelection.spoon/init.lua + Source/LookupSelection.spoon/init.lua diff --git a/docs/MenubarFlag.html b/docs/MenubarFlag.html index 7876f1e0..481f21c0 100644 --- a/docs/MenubarFlag.html +++ b/docs/MenubarFlag.html @@ -59,7 +59,7 @@
allScreens
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -79,9 +79,37 @@
colors
Description Table that contains the configuration of indicator colors + + Notes + + + Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -103,7 +131,7 @@
indicatorAlpha
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -125,7 +153,7 @@
indicatorHeight
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -147,7 +175,7 @@
indicatorInAllSpaces
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -167,9 +195,17 @@
timerFreq
Description Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0. + + Notes + + + Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -206,7 +242,7 @@
drawIndicators
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -242,7 +278,7 @@
getLayoutAndDrawindicators
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -275,7 +311,7 @@
start
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua @@ -308,7 +344,7 @@
stop
Source - Source/MenubarFlag.spoon/init.lua + Source/MenubarFlag.spoon/init.lua diff --git a/docs/MicMute.html b/docs/MicMute.html index 8e780947..6ba79fd3 100644 --- a/docs/MicMute.html +++ b/docs/MicMute.html @@ -62,7 +62,7 @@
bindHotkeys
Source - Source/MicMute.spoon/init.lua + Source/MicMute.spoon/init.lua @@ -95,7 +95,7 @@
toggleMicMute
Source - Source/MicMute.spoon/init.lua + Source/MicMute.spoon/init.lua diff --git a/docs/MiroWindowsManager.html b/docs/MiroWindowsManager.html index b8f9c53c..a6dd1513 100644 --- a/docs/MiroWindowsManager.html +++ b/docs/MiroWindowsManager.html @@ -49,11 +49,19 @@
fullScreenSizes
Description - The sizes that the window can have in full-screen. + The sizes that the window can have in full-screen. + + + Notes + + Source - Source/MiroWindowsManager.spoon/init.lua + Source/MiroWindowsManager.spoon/init.lua @@ -71,11 +79,11 @@
GRID
Description - The screen's size using `hs.grid.setGrid()` + The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()` Source - Source/MiroWindowsManager.spoon/init.lua + Source/MiroWindowsManager.spoon/init.lua @@ -93,11 +101,19 @@
sizes
Description - The sizes that the window can have. + The sizes that the window can have. + + + Notes + + Source - Source/MiroWindowsManager.spoon/init.lua + Source/MiroWindowsManager.spoon/init.lua @@ -136,9 +152,13 @@
bindHotkeys
Returns + + Examples + + Source - Source/MiroWindowsManager.spoon/init.lua + Source/MiroWindowsManager.spoon/init.lua diff --git a/docs/ModalMgr.html b/docs/ModalMgr.html index 9c16d3d1..61d3955b 100644 --- a/docs/ModalMgr.html +++ b/docs/ModalMgr.html @@ -63,7 +63,7 @@
activate
Source - Source/ModalMgr.spoon/init.lua + Source/ModalMgr.spoon/init.lua @@ -96,7 +96,7 @@
deactivate
Source - Source/ModalMgr.spoon/init.lua + Source/ModalMgr.spoon/init.lua @@ -129,7 +129,7 @@
deactivateAll
Source - Source/ModalMgr.spoon/init.lua + Source/ModalMgr.spoon/init.lua @@ -162,7 +162,7 @@
new
Source - Source/ModalMgr.spoon/init.lua + Source/ModalMgr.spoon/init.lua @@ -196,7 +196,7 @@
toggleCheatsheet
Source - Source/ModalMgr.spoon/init.lua + Source/ModalMgr.spoon/init.lua diff --git a/docs/MountedVolumes.html b/docs/MountedVolumes.html index 9c0b349d..bb56fa03 100644 --- a/docs/MountedVolumes.html +++ b/docs/MountedVolumes.html @@ -62,7 +62,7 @@
backgroundBorder
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -84,7 +84,7 @@
backgroundColor
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -104,9 +104,16 @@
capacityColor
Description A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered` + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -128,7 +135,7 @@
checkInterval
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -150,7 +157,7 @@
cornerRadius
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -170,9 +177,16 @@
enableEjectButton
Description A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled. + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -192,9 +206,16 @@
freeColor
Description A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen` + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -214,9 +235,17 @@
growsDownwards
Description A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted. + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -236,9 +265,17 @@
location
Description A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`. + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -258,9 +295,21 @@
textStyle
Description A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to: + + Notes + + + Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -282,7 +331,7 @@
unitsInSI
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -336,7 +385,7 @@
bindHotkeys
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -372,7 +421,7 @@
hide
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua @@ -415,7 +464,7 @@
show
Source - Source/MountedVolumes.spoon/init.lua + Source/MountedVolumes.spoon/init.lua diff --git a/docs/MouseCircle.html b/docs/MouseCircle.html index 51be82cb..98584859 100644 --- a/docs/MouseCircle.html +++ b/docs/MouseCircle.html @@ -51,7 +51,7 @@
color
Source - Source/MouseCircle.spoon/init.lua + Source/MouseCircle.spoon/init.lua @@ -88,7 +88,7 @@
bindHotkeys
Source - Source/MouseCircle.spoon/init.lua + Source/MouseCircle.spoon/init.lua @@ -124,7 +124,7 @@
show
Source - Source/MouseCircle.spoon/init.lua + Source/MouseCircle.spoon/init.lua diff --git a/docs/MouseFollowsFocus.html b/docs/MouseFollowsFocus.html index 5d62e98e..8ddff796 100644 --- a/docs/MouseFollowsFocus.html +++ b/docs/MouseFollowsFocus.html @@ -53,7 +53,7 @@
logger
Source - Source/MouseFollowsFocus.spoon/init.lua + Source/MouseFollowsFocus.spoon/init.lua @@ -87,7 +87,7 @@
configure
Source - Source/MouseFollowsFocus.spoon/init.lua + Source/MouseFollowsFocus.spoon/init.lua @@ -120,7 +120,7 @@
start
Source - Source/MouseFollowsFocus.spoon/init.lua + Source/MouseFollowsFocus.spoon/init.lua @@ -153,7 +153,7 @@
stop
Source - Source/MouseFollowsFocus.spoon/init.lua + Source/MouseFollowsFocus.spoon/init.lua @@ -186,7 +186,7 @@
updateMouse
Source - Source/MouseFollowsFocus.spoon/init.lua + Source/MouseFollowsFocus.spoon/init.lua diff --git a/docs/MusicAppMediaFix.html b/docs/MusicAppMediaFix.html index d83b7df3..74c1ae17 100644 --- a/docs/MusicAppMediaFix.html +++ b/docs/MusicAppMediaFix.html @@ -60,7 +60,7 @@
start
Source - Source/MusicAppMediaFix.spoon/init.lua + Source/MusicAppMediaFix.spoon/init.lua @@ -96,7 +96,7 @@
stop
Source - Source/MusicAppMediaFix.spoon/init.lua + Source/MusicAppMediaFix.spoon/init.lua diff --git a/docs/PasswordGenerator.html b/docs/PasswordGenerator.html index 476fb6dd..e612a3bd 100644 --- a/docs/PasswordGenerator.html +++ b/docs/PasswordGenerator.html @@ -58,7 +58,7 @@
password_generator_function
Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -80,7 +80,7 @@
password_length
Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -102,7 +102,7 @@
password_style
Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -124,7 +124,7 @@
word_count
Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -144,9 +144,17 @@
word_leet
Description Which word number will have its word `733t` transformed. + + Notes + + + Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -166,9 +174,17 @@
word_separators
Description String of separators to use between words. + + Notes + + + Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -188,9 +204,16 @@
word_uppercase
Description Number of words to uppercase the first letter. + + Notes + + + Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -228,7 +251,7 @@
bindHotkeys
Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -257,11 +280,14 @@
copyPassword
Returns - + + Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua @@ -290,11 +316,14 @@
pastePassword
Returns - + + Source - Source/PasswordGenerator.spoon/init.lua + Source/PasswordGenerator.spoon/init.lua diff --git a/docs/Pastebin.html b/docs/Pastebin.html index 1617d3f8..94422751 100644 --- a/docs/Pastebin.html +++ b/docs/Pastebin.html @@ -58,7 +58,7 @@
api_dev_key
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -80,7 +80,7 @@
api_user_key
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -100,9 +100,27 @@
expire
Description String indicating how long until the paste expires. Default is 'N' (Never) + + Notes + + + Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -122,9 +140,271 @@
format
Description String indicating the format of the paste. Default is 'text' (plain text). + + Notes + + + Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -146,7 +426,7 @@
logger
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -168,7 +448,7 @@
private
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -205,7 +485,7 @@
bindHotkeys
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua @@ -240,7 +520,7 @@
paste
Source - Source/Pastebin.spoon/init.lua + Source/Pastebin.spoon/init.lua diff --git a/docs/PersonalHotspot.html b/docs/PersonalHotspot.html index 7799cc2b..771dbc17 100644 --- a/docs/PersonalHotspot.html +++ b/docs/PersonalHotspot.html @@ -71,9 +71,20 @@
appsToKill
Description A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively. + + Notes + + + Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -93,9 +104,16 @@
hotspotName
Description The name of the personal hotspot you want to connect/disconnect from, e.g., "John Appleseed’s iPhone". + + Notes + + + Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -117,7 +135,7 @@
timeout
Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -157,7 +175,7 @@
bindHotkeys
Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -200,7 +218,7 @@
connect
Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -236,7 +254,7 @@
disconnect
Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua @@ -279,7 +297,7 @@
toggle
Source - Source/PersonalHotspot.spoon/init.lua + Source/PersonalHotspot.spoon/init.lua diff --git a/docs/PopupTranslateSelection.html b/docs/PopupTranslateSelection.html index 99ec196f..466b6f0e 100644 --- a/docs/PopupTranslateSelection.html +++ b/docs/PopupTranslateSelection.html @@ -56,7 +56,7 @@
logger
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -78,7 +78,7 @@
popup_close_on_escape
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -100,7 +100,7 @@
popup_size
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -122,7 +122,7 @@
popup_style
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -160,9 +160,13 @@
bindHotkeys
Returns + + Examples + + Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -200,7 +204,7 @@
translatePopup
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua @@ -237,7 +241,7 @@
translateSelectionPopup
Source - Source/PopupTranslateSelection.spoon/init.lua + Source/PopupTranslateSelection.spoon/init.lua diff --git a/docs/PushToTalk.html b/docs/PushToTalk.html index 700d6e28..7adafcaa 100644 --- a/docs/PushToTalk.html +++ b/docs/PushToTalk.html @@ -60,9 +60,16 @@
app_switcher
Description Takes mapping from application name to mic state. + + Notes + + + Source - Source/PushToTalk.spoon/init.lua + Source/PushToTalk.spoon/init.lua @@ -82,9 +89,16 @@
detect_on_start
Description Check running applications when starting PushToTalk. + + Notes + + + Source - Source/PushToTalk.spoon/init.lua + Source/PushToTalk.spoon/init.lua @@ -118,7 +132,7 @@
init
Source - Source/PushToTalk.spoon/init.lua + Source/PushToTalk.spoon/init.lua @@ -151,7 +165,7 @@
stop
Source - Source/PushToTalk.spoon/init.lua + Source/PushToTalk.spoon/init.lua @@ -184,7 +198,7 @@
toggleStates
Source - Source/PushToTalk.spoon/init.lua + Source/PushToTalk.spoon/init.lua diff --git a/docs/RecursiveBinder.html b/docs/RecursiveBinder.html index 1970cd34..f814d837 100644 --- a/docs/RecursiveBinder.html +++ b/docs/RecursiveBinder.html @@ -57,7 +57,7 @@
escapeKey
Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -79,7 +79,7 @@
helperEntryEachLine
Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -101,7 +101,7 @@
helperEntryLengthInChar
Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -121,9 +121,20 @@
helperFormat
Description format of helper, the helper is just a hs.alert + + Notes + + + Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -143,9 +154,21 @@
helperModifierMapping
Description The mapping used to display modifiers on helper. + + Notes + + + Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -167,7 +190,7 @@
showBindHelper
Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -200,11 +223,28 @@
recursiveBind
+ + + + Notes + Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua @@ -242,7 +282,7 @@
singleKey
Source - Source/RecursiveBinder.spoon/init.lua + Source/RecursiveBinder.spoon/init.lua diff --git a/docs/ReloadConfiguration.html b/docs/ReloadConfiguration.html index 8bc0d401..5872da34 100644 --- a/docs/ReloadConfiguration.html +++ b/docs/ReloadConfiguration.html @@ -51,7 +51,7 @@
watch_paths
Source - Source/ReloadConfiguration.spoon/init.lua + Source/ReloadConfiguration.spoon/init.lua @@ -88,7 +88,7 @@
bindHotkeys
Source - Source/ReloadConfiguration.spoon/init.lua + Source/ReloadConfiguration.spoon/init.lua @@ -121,7 +121,7 @@
start
Source - Source/ReloadConfiguration.spoon/init.lua + Source/ReloadConfiguration.spoon/init.lua diff --git a/docs/RoundedCorners.html b/docs/RoundedCorners.html index b78a81e6..1602768e 100644 --- a/docs/RoundedCorners.html +++ b/docs/RoundedCorners.html @@ -53,7 +53,7 @@
allScreens
Source - Source/RoundedCorners.spoon/init.lua + Source/RoundedCorners.spoon/init.lua @@ -75,7 +75,7 @@
level
Source - Source/RoundedCorners.spoon/init.lua + Source/RoundedCorners.spoon/init.lua @@ -97,7 +97,7 @@
radius
Source - Source/RoundedCorners.spoon/init.lua + Source/RoundedCorners.spoon/init.lua @@ -141,7 +141,7 @@
start
Source - Source/RoundedCorners.spoon/init.lua + Source/RoundedCorners.spoon/init.lua @@ -184,7 +184,7 @@
stop
Source - Source/RoundedCorners.spoon/init.lua + Source/RoundedCorners.spoon/init.lua diff --git a/docs/Seal.html b/docs/Seal.html index 78384bd1..9ee3ba4b 100644 --- a/docs/Seal.html +++ b/docs/Seal.html @@ -74,7 +74,7 @@
plugin_search_paths
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -94,9 +94,16 @@
queryChangedTimerDuration
Description Time between the last keystroke and the start of the recalculation of the choices to display, in seconds. + + Notes + + + Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -137,7 +144,7 @@
bindHotkeys
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -183,7 +190,7 @@
loadPluginFromFile
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -228,7 +235,7 @@
loadPlugins
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -271,7 +278,7 @@
refreshAllCommands
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -314,7 +321,7 @@
refreshCommandsForPlugin
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -357,7 +364,7 @@
show
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -393,7 +400,7 @@
start
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -436,7 +443,7 @@
stop
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua @@ -472,7 +479,7 @@
toggle
Source - Source/Seal.spoon/init.lua + Source/Seal.spoon/init.lua diff --git a/docs/Seal.plugins.apps.html b/docs/Seal.plugins.apps.html index bdf537f4..f2a9312c 100644 --- a/docs/Seal.plugins.apps.html +++ b/docs/Seal.plugins.apps.html @@ -58,7 +58,7 @@
appSearchPaths
Source - Source/Seal.spoon/seal_apps.lua + Source/Seal.spoon/seal_apps.lua @@ -95,7 +95,7 @@
restart
Source - Source/Seal.spoon/seal_apps.lua + Source/Seal.spoon/seal_apps.lua @@ -138,7 +138,7 @@
start
Source - Source/Seal.spoon/seal_apps.lua + Source/Seal.spoon/seal_apps.lua @@ -174,7 +174,7 @@
stop
Source - Source/Seal.spoon/seal_apps.lua + Source/Seal.spoon/seal_apps.lua diff --git a/docs/Seal.plugins.pasteboard.html b/docs/Seal.plugins.pasteboard.html index c220144c..94187f13 100644 --- a/docs/Seal.plugins.pasteboard.html +++ b/docs/Seal.plugins.pasteboard.html @@ -46,7 +46,7 @@
historySize
Source - Source/Seal.spoon/seal_pasteboard.lua + Source/Seal.spoon/seal_pasteboard.lua @@ -68,7 +68,7 @@
saveHistory
Source - Source/Seal.spoon/seal_pasteboard.lua + Source/Seal.spoon/seal_pasteboard.lua diff --git a/docs/Seal.plugins.safari_bookmarks.html b/docs/Seal.plugins.safari_bookmarks.html index 14157ac6..033742bc 100644 --- a/docs/Seal.plugins.safari_bookmarks.html +++ b/docs/Seal.plugins.safari_bookmarks.html @@ -45,7 +45,7 @@
always_open_with_safari
Source - Source/Seal.spoon/seal_safari_bookmarks.lua + Source/Seal.spoon/seal_safari_bookmarks.lua diff --git a/docs/Seal.plugins.screencapture.html b/docs/Seal.plugins.screencapture.html index 9422d719..84898485 100644 --- a/docs/Seal.plugins.screencapture.html +++ b/docs/Seal.plugins.screencapture.html @@ -45,7 +45,7 @@
showPostUI
Source - Source/Seal.spoon/seal_screencapture.lua + Source/Seal.spoon/seal_screencapture.lua diff --git a/docs/Seal.plugins.urlformats.html b/docs/Seal.plugins.urlformats.html index fc9f71d4..fa8869a0 100644 --- a/docs/Seal.plugins.urlformats.html +++ b/docs/Seal.plugins.urlformats.html @@ -79,7 +79,7 @@
providersTable
Source - Source/Seal.spoon/seal_urlformats.lua + Source/Seal.spoon/seal_urlformats.lua diff --git a/docs/Seal.plugins.useractions.html b/docs/Seal.plugins.useractions.html index 256c5a1f..e223d853 100644 --- a/docs/Seal.plugins.useractions.html +++ b/docs/Seal.plugins.useractions.html @@ -44,9 +44,56 @@
actions
Description + + Notes + + + Source - Source/Seal.spoon/seal_useractions.lua + Source/Seal.spoon/seal_useractions.lua @@ -68,7 +115,7 @@
get_favicon
Source - Source/Seal.spoon/seal_useractions.lua + Source/Seal.spoon/seal_useractions.lua diff --git a/docs/SendToOmniFocus.html b/docs/SendToOmniFocus.html index d848e61d..dba9f5fc 100644 --- a/docs/SendToOmniFocus.html +++ b/docs/SendToOmniFocus.html @@ -54,9 +54,48 @@
actions
Description Table containing application handlers for sending the current item to OmniFocus. + + Notes + + + Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -78,7 +117,7 @@
logger
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -100,7 +139,7 @@
notifications
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -122,7 +161,7 @@
quickentrydialog
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -159,7 +198,7 @@
bindHotkeys
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -193,7 +232,7 @@
registerApplication
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua @@ -229,7 +268,7 @@
sendCurrentItem
Source - Source/SendToOmniFocus.spoon/init.lua + Source/SendToOmniFocus.spoon/init.lua diff --git a/docs/Shade.html b/docs/Shade.html index 4ae7fba0..02c46807 100644 --- a/docs/Shade.html +++ b/docs/Shade.html @@ -58,7 +58,7 @@
shadeIsOn
Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -76,11 +76,11 @@
shadeTransparency
Description - Contains the alpha (transparency) of the overlay, from 0.0 (completely + Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5. Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -117,7 +117,7 @@
toggleShade
Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -142,7 +142,7 @@
bindHotkeys
Parameters @@ -155,9 +155,13 @@
bindHotkeys
+ + Examples + + Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -193,7 +197,7 @@
init
Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -229,7 +233,7 @@
start
Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua @@ -265,7 +269,7 @@
stop
Source - Source/Shade.spoon/init.lua + Source/Shade.spoon/init.lua diff --git a/docs/SleepCorners.html b/docs/SleepCorners.html index a86a73e4..f7e6a974 100644 --- a/docs/SleepCorners.html +++ b/docs/SleepCorners.html @@ -69,7 +69,7 @@
feedbackSize
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -89,9 +89,24 @@
immediateSleepModifiers
Description A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds. + + Notes + + + Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -111,9 +126,17 @@
immediateSleepShouldLock
Description Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true. + + Notes + + + Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -135,7 +158,7 @@
neverSleepCorner
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -155,9 +178,24 @@
neverSleepLockModifiers
Description A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner. + + Notes + + + Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -179,7 +217,7 @@
preferSleepNow
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -201,7 +239,7 @@
sleepDelay
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -223,7 +261,7 @@
sleepNowCorner
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -243,9 +281,17 @@
sleepNowShouldLock
Description Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false. + + Notes + + + Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -267,7 +313,7 @@
sleepScreen
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -289,7 +335,7 @@
triggerSize
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -344,7 +390,7 @@
bindHotkeys
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -388,7 +434,7 @@
isActive
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -431,7 +477,7 @@
show
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -474,7 +520,7 @@
start
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -518,7 +564,7 @@
stop
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua @@ -563,7 +609,7 @@
toggle
Source - Source/SleepCorners.spoon/init.lua + Source/SleepCorners.spoon/init.lua diff --git a/docs/SpeedMenu.html b/docs/SpeedMenu.html index 86825322..2edb9777 100644 --- a/docs/SpeedMenu.html +++ b/docs/SpeedMenu.html @@ -57,7 +57,7 @@
rescan
Source - Source/SpeedMenu.spoon/init.lua + Source/SpeedMenu.spoon/init.lua diff --git a/docs/SpoonInstall.html b/docs/SpoonInstall.html index afc821b5..19f4d986 100644 --- a/docs/SpoonInstall.html +++ b/docs/SpoonInstall.html @@ -62,7 +62,7 @@
logger
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -80,11 +80,32 @@
repos
Description - Table containing the list of available Spoon repositories. The key + Table containing the list of available Spoon repositories. + + + Notes + + Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -104,9 +125,16 @@
use_syncinstall
Description If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`. + + Notes + + + Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -153,7 +181,7 @@
andUse
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -195,7 +223,7 @@
asyncInstallSpoonFromRepo
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -236,7 +264,7 @@
asyncInstallSpoonFromZipURL
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -279,7 +307,7 @@
asyncUpdateAllRepos
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -327,7 +355,7 @@
asyncUpdateRepo
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -364,7 +392,7 @@
installSpoonFromRepo
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -400,7 +428,7 @@
installSpoonFromZipURL
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -436,7 +464,7 @@
repolist
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -477,7 +505,7 @@
search
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -521,7 +549,7 @@
updateAllRepos
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua @@ -565,7 +593,7 @@
updateRepo
Source - Source/SpoonInstall.spoon/init.lua + Source/SpoonInstall.spoon/init.lua diff --git a/docs/TextClipboardHistory.html b/docs/TextClipboardHistory.html index 779d612c..5ec450ce 100644 --- a/docs/TextClipboardHistory.html +++ b/docs/TextClipboardHistory.html @@ -68,7 +68,7 @@
deduplicate
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -90,7 +90,7 @@
frequency
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -112,7 +112,7 @@
hist_size
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -134,7 +134,7 @@
honor_ignoredidentifiers
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -152,11 +152,28 @@
ignoredIdentifiers
Description - Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing): + Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. + + + Notes + + Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -178,7 +195,7 @@
logger
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -196,11 +213,18 @@
menubar_title
Description - String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `"\u{1f4ce}"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE) + String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. + + + Notes + + Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -222,7 +246,7 @@
paste_on_select
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -244,7 +268,7 @@
show_in_menubar
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -282,7 +306,7 @@
bindHotkeys
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -315,7 +339,7 @@
checkAndStorePasteboard
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -348,7 +372,7 @@
clearAll
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -381,7 +405,7 @@
clearLastItem
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -417,7 +441,7 @@
pasteboardToClipboard
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -450,7 +474,7 @@
shouldBeStored
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -483,7 +507,7 @@
showClipboard
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -516,7 +540,7 @@
start
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -549,7 +573,7 @@
toggleClipboard
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua @@ -582,7 +606,7 @@
togglePasteOnSelect
Source - Source/TextClipboardHistory.spoon/init.lua + Source/TextClipboardHistory.spoon/init.lua diff --git a/docs/TimeMachineProgress.html b/docs/TimeMachineProgress.html index e99afb28..08097add 100644 --- a/docs/TimeMachineProgress.html +++ b/docs/TimeMachineProgress.html @@ -53,11 +53,11 @@
backupIcon
Description - + Image to use for the menubar icon. Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua @@ -79,7 +79,7 @@
logger
Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua @@ -101,7 +101,7 @@
refresh_interval
Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua @@ -135,7 +135,7 @@
refresh
Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua @@ -171,7 +171,7 @@
start
Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua @@ -207,7 +207,7 @@
stop
Source - Source/TimeMachineProgress.spoon/init.lua + Source/TimeMachineProgress.spoon/init.lua diff --git a/docs/ToggleScreenRotation.html b/docs/ToggleScreenRotation.html index 669da7b6..62168251 100644 --- a/docs/ToggleScreenRotation.html +++ b/docs/ToggleScreenRotation.html @@ -59,7 +59,7 @@
rotating_angles
Source - Source/ToggleScreenRotation.spoon/init.lua + Source/ToggleScreenRotation.spoon/init.lua @@ -79,9 +79,16 @@
screens_to_skip
Description Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns. + + Notes + + + Source - Source/ToggleScreenRotation.spoon/init.lua + Source/ToggleScreenRotation.spoon/init.lua @@ -115,7 +122,7 @@
bindHotkeys
Source - Source/ToggleScreenRotation.spoon/init.lua + Source/ToggleScreenRotation.spoon/init.lua diff --git a/docs/ToggleSkypeMute.html b/docs/ToggleSkypeMute.html index 338aecad..4f5147fe 100644 --- a/docs/ToggleSkypeMute.html +++ b/docs/ToggleSkypeMute.html @@ -52,7 +52,7 @@
logger
Source - Source/ToggleSkypeMute.spoon/init.lua + Source/ToggleSkypeMute.spoon/init.lua @@ -74,7 +74,7 @@
notifications
Source - Source/ToggleSkypeMute.spoon/init.lua + Source/ToggleSkypeMute.spoon/init.lua @@ -112,7 +112,7 @@
bindHotkeys
Source - Source/ToggleSkypeMute.spoon/init.lua + Source/ToggleSkypeMute.spoon/init.lua @@ -148,7 +148,7 @@
toggle
Source - Source/ToggleSkypeMute.spoon/init.lua + Source/ToggleSkypeMute.spoon/init.lua diff --git a/docs/Token.html b/docs/Token.html index 6b53bccf..6f148ec4 100644 --- a/docs/Token.html +++ b/docs/Token.html @@ -56,7 +56,7 @@
logger
Source - Source/Token.spoon/init.lua + Source/Token.spoon/init.lua @@ -78,7 +78,7 @@
secret_key
Source - Source/Token.spoon/init.lua + Source/Token.spoon/init.lua @@ -115,7 +115,7 @@
bindHotkeys
Source - Source/Token.spoon/init.lua + Source/Token.spoon/init.lua @@ -148,7 +148,7 @@
get_token
Source - Source/Token.spoon/init.lua + Source/Token.spoon/init.lua @@ -181,7 +181,7 @@
token_keystroke
Source - Source/Token.spoon/init.lua + Source/Token.spoon/init.lua diff --git a/docs/Tunnelblick.html b/docs/Tunnelblick.html index 32351109..0b21b95c 100644 --- a/docs/Tunnelblick.html +++ b/docs/Tunnelblick.html @@ -56,7 +56,7 @@
connection_name
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua @@ -78,7 +78,7 @@
logger
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua @@ -100,7 +100,7 @@
password_fn
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua @@ -122,7 +122,7 @@
username
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua @@ -159,7 +159,7 @@
bindHotkeys
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua @@ -192,7 +192,7 @@
connect
Source - Source/Tunnelblick.spoon/init.lua + Source/Tunnelblick.spoon/init.lua diff --git a/docs/TurboBoost.html b/docs/TurboBoost.html index a23dbf10..f3dd79aa 100644 --- a/docs/TurboBoost.html +++ b/docs/TurboBoost.html @@ -77,11 +77,18 @@
check_kext_cmd
Description - Command to execute to check whether the DisableTurboBoost kernel + Command to execute to check whether the DisableTurboBoost kernel extension is loaded. + + + Notes + + Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -103,7 +110,7 @@
disable_on_start
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -121,11 +128,18 @@
disabled_icon_path
Description - Where to find the icon to use for the "Disabled" icon. Default value + Where to find the icon to use for the "Disabled" icon. + + + Notes + + Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -143,11 +157,18 @@
enabled_icon_path
Description - Where to find the icon to use for the "Enabled" icon. Default value + Where to find the icon to use for the "Enabled" icon. + + + Notes + + Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -169,7 +190,7 @@
kext_path
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -191,7 +212,7 @@
kext_paths
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -209,11 +230,19 @@
load_kext_cmd
Description - Command to execute to load the DisableTurboBoost kernel + Command to execute to load the DisableTurboBoost kernel extension. + + + Notes + + Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -235,7 +264,7 @@
logger
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -253,11 +282,11 @@
notify
Description - Boolean indicating whether notifications should be generated when + Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true` Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -279,7 +308,7 @@
reenable_on_stop
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -297,11 +326,19 @@
unload_kext_cmd
Description - Command to execute to unload the DisableTurboBoost kernel + Command to execute to unload the DisableTurboBoost kernel extension. + + + Notes + + Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -338,7 +375,7 @@
bindHotkeys
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -375,7 +412,7 @@
setState
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -411,7 +448,7 @@
start
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -447,7 +484,7 @@
status
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -483,7 +520,7 @@
stop
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua @@ -519,7 +556,7 @@
toggle
Source - Source/TurboBoost.spoon/init.lua + Source/TurboBoost.spoon/init.lua diff --git a/docs/URLDispatcher.html b/docs/URLDispatcher.html index cecb0a01..8a635962 100644 --- a/docs/URLDispatcher.html +++ b/docs/URLDispatcher.html @@ -59,7 +59,7 @@
decode_slack_redir_urls
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -81,7 +81,7 @@
default_handler
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -103,7 +103,7 @@
logger
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -125,7 +125,7 @@
set_system_handler
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -145,9 +145,19 @@
url_patterns
Description URL dispatch rules. + + Notes + + + Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -169,7 +179,7 @@
url_redir_decoders
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -213,7 +223,7 @@
dispatchURL
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua @@ -246,7 +256,7 @@
start
Source - Source/URLDispatcher.spoon/init.lua + Source/URLDispatcher.spoon/init.lua diff --git a/docs/USBDeviceActions.html b/docs/USBDeviceActions.html index fb0eef3c..8d60fb8b 100644 --- a/docs/USBDeviceActions.html +++ b/docs/USBDeviceActions.html @@ -72,9 +72,23 @@
devices
Description A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`). + + Notes + + + Source - Source/USBDeviceActions.spoon/init.lua + Source/USBDeviceActions.spoon/init.lua @@ -111,7 +125,7 @@
init
Source - Source/USBDeviceActions.spoon/init.lua + Source/USBDeviceActions.spoon/init.lua @@ -147,7 +161,7 @@
start
Source - Source/USBDeviceActions.spoon/init.lua + Source/USBDeviceActions.spoon/init.lua @@ -183,7 +197,7 @@
stop
Source - Source/USBDeviceActions.spoon/init.lua + Source/USBDeviceActions.spoon/init.lua diff --git a/docs/UniversalArchive.html b/docs/UniversalArchive.html index 6bf4b6f7..9a6e1ca0 100644 --- a/docs/UniversalArchive.html +++ b/docs/UniversalArchive.html @@ -72,7 +72,7 @@
archive_notifications
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -94,7 +94,7 @@
evernote_archive_notebook
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -112,11 +112,20 @@
evernote_delay_before_typing
Description - In Evernote, archive is done by selectin "Move note" and then + A short pause to make typing into Evernote more reliable + + + Notes + + Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -138,7 +147,7 @@
logger
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -160,7 +169,7 @@
outlook_archive_folder
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -198,7 +207,7 @@
bindHotkeys
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -231,7 +240,7 @@
evernoteArchive
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -264,7 +273,7 @@
mailArchive
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -305,7 +314,7 @@
outlookArchive
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -343,7 +352,7 @@
registerApplication
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -376,7 +385,7 @@
sparkArchive
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua @@ -417,7 +426,7 @@
universalArchive
Source - Source/UniversalArchive.spoon/init.lua + Source/UniversalArchive.spoon/init.lua diff --git a/docs/VolumeScroll.html b/docs/VolumeScroll.html index 4daa93ab..01028ea2 100644 --- a/docs/VolumeScroll.html +++ b/docs/VolumeScroll.html @@ -64,7 +64,7 @@
init
Source - Source/VolumeScroll.spoon/init.lua + Source/VolumeScroll.spoon/init.lua @@ -100,7 +100,7 @@
sameMods
Source - Source/VolumeScroll.spoon/init.lua + Source/VolumeScroll.spoon/init.lua @@ -136,7 +136,7 @@
start
Source - Source/VolumeScroll.spoon/init.lua + Source/VolumeScroll.spoon/init.lua @@ -172,7 +172,7 @@
stop
Source - Source/VolumeScroll.spoon/init.lua + Source/VolumeScroll.spoon/init.lua @@ -208,7 +208,7 @@
tableLength
Source - Source/VolumeScroll.spoon/init.lua + Source/VolumeScroll.spoon/init.lua diff --git a/docs/WiFiTransitions.html b/docs/WiFiTransitions.html index 347d6c2b..d6546435 100644 --- a/docs/WiFiTransitions.html +++ b/docs/WiFiTransitions.html @@ -49,11 +49,30 @@
actions
Description - Table containing a list of actions to execute for SSID transitions. Transitions to a "no network" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys: + Table containing a list of actions to execute for SSID transitions. + + + Notes + + Source - Source/WiFiTransitions.spoon/init.lua + Source/WiFiTransitions.spoon/init.lua @@ -75,7 +94,7 @@
actOnNilTransitions
Source - Source/WiFiTransitions.spoon/init.lua + Source/WiFiTransitions.spoon/init.lua @@ -97,7 +116,7 @@
logger
Source - Source/WiFiTransitions.spoon/init.lua + Source/WiFiTransitions.spoon/init.lua @@ -140,7 +159,7 @@
processTransition
Source - Source/WiFiTransitions.spoon/init.lua + Source/WiFiTransitions.spoon/init.lua @@ -176,7 +195,7 @@
start
Source - Source/WiFiTransitions.spoon/init.lua + Source/WiFiTransitions.spoon/init.lua diff --git a/docs/WifiNotifier.html b/docs/WifiNotifier.html index c8f51aa4..4287bdba 100644 --- a/docs/WifiNotifier.html +++ b/docs/WifiNotifier.html @@ -62,7 +62,7 @@
init
Source - Source/WifiNotifier.spoon/init.lua + Source/WifiNotifier.spoon/init.lua @@ -98,7 +98,7 @@
ssidChangedCallback
Source - Source/WifiNotifier.spoon/init.lua + Source/WifiNotifier.spoon/init.lua @@ -134,7 +134,7 @@
start
Source - Source/WifiNotifier.spoon/init.lua + Source/WifiNotifier.spoon/init.lua diff --git a/docs/WinWin.html b/docs/WinWin.html index 1b676b17..725336ae 100644 --- a/docs/WinWin.html +++ b/docs/WinWin.html @@ -55,7 +55,7 @@
gridparts
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -89,7 +89,7 @@
centerCursor
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -122,7 +122,7 @@
moveAndResize
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -155,7 +155,7 @@
moveToScreen
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -188,7 +188,7 @@
stepMove
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -221,7 +221,7 @@
stepResize
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua @@ -254,7 +254,7 @@
undo
Source - Source/WinWin.spoon/init.lua + Source/WinWin.spoon/init.lua diff --git a/docs/WindowGrid.html b/docs/WindowGrid.html index fa67d87c..c6c1ea97 100644 --- a/docs/WindowGrid.html +++ b/docs/WindowGrid.html @@ -52,7 +52,7 @@
gridGeometries
Source - Source/WindowGrid.spoon/init.lua + Source/WindowGrid.spoon/init.lua @@ -74,7 +74,7 @@
logger
Source - Source/WindowGrid.spoon/init.lua + Source/WindowGrid.spoon/init.lua @@ -111,7 +111,7 @@
bindHotkeys
Source - Source/WindowGrid.spoon/init.lua + Source/WindowGrid.spoon/init.lua @@ -144,7 +144,7 @@
start
Source - Source/WindowGrid.spoon/init.lua + Source/WindowGrid.spoon/init.lua diff --git a/docs/WindowHalfsAndThirds.html b/docs/WindowHalfsAndThirds.html index c476c511..2b6cf783 100644 --- a/docs/WindowHalfsAndThirds.html +++ b/docs/WindowHalfsAndThirds.html @@ -59,7 +59,7 @@
clear_cache_after_seconds
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -77,11 +77,40 @@
defaultHotkeys
Description - Table containing a sample set of hotkeys that can be + Table containing a sample set of hotkeys that can be assigned to the different operations. + + + Notes + + Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -103,7 +132,7 @@
logger
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -125,7 +154,7 @@
use_frame_correctness
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -176,7 +205,7 @@
bindHotkeys
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -212,7 +241,7 @@
center
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -248,7 +277,7 @@
larger
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -296,7 +325,7 @@
leftHalf
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -332,7 +361,7 @@
smaller
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -368,7 +397,7 @@
toggleMaximized
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua @@ -404,7 +433,7 @@
undo
Source - Source/WindowHalfsAndThirds.spoon/init.lua + Source/WindowHalfsAndThirds.spoon/init.lua diff --git a/docs/WindowScreenLeftAndRight.html b/docs/WindowScreenLeftAndRight.html index a08f7f6e..fb892814 100644 --- a/docs/WindowScreenLeftAndRight.html +++ b/docs/WindowScreenLeftAndRight.html @@ -48,11 +48,19 @@
animationDuration
Description - Length of the animation to use for the window movements across the + Length of the animation to use for the window movements across the screens. + + + Notes + + Source - Source/WindowScreenLeftAndRight.spoon/init.lua + Source/WindowScreenLeftAndRight.spoon/init.lua @@ -70,11 +78,24 @@
defaultHotkeys
Description - Table containing a sample set of hotkeys that can be + Table containing a sample set of hotkeys that can be assigned to the different operations. + + + Notes + + Source - Source/WindowScreenLeftAndRight.spoon/init.lua + Source/WindowScreenLeftAndRight.spoon/init.lua @@ -96,7 +117,7 @@
logger
Source - Source/WindowScreenLeftAndRight.spoon/init.lua + Source/WindowScreenLeftAndRight.spoon/init.lua @@ -133,7 +154,7 @@
bindHotkeys
Source - Source/WindowScreenLeftAndRight.spoon/init.lua + Source/WindowScreenLeftAndRight.spoon/init.lua diff --git a/docs/WindowSigils.html b/docs/WindowSigils.html index b74e0006..c4c5dfbc 100644 --- a/docs/WindowSigils.html +++ b/docs/WindowSigils.html @@ -87,7 +87,7 @@
logger
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -124,7 +124,7 @@
bindHotkeys
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -159,7 +159,7 @@
bindModeKey
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -193,7 +193,7 @@
bindSigilAction
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -231,7 +231,7 @@
configure
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -264,7 +264,7 @@
orderedWindows
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -297,7 +297,7 @@
refresh
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -330,7 +330,7 @@
start
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -363,7 +363,7 @@
stop
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua @@ -396,7 +396,7 @@
window
Source - Source/WindowSigils.spoon/init.lua + Source/WindowSigils.spoon/init.lua diff --git a/docs/docs.json b/docs/docs.json index bc416b24..dec75b62 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1178,68 +1178,171 @@ { "def": "BonjourLauncher.recipes.AFP", "desc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.", - "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nAppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }\n", + "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nNotes:\n * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "87", + "lineno": "79", "name": "AFP", + "notes": [ + " * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.canvas.new{ h = 128, w = 128 }:appendElements(", + " { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },", + " { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }", + " ):imageFromCanvas(),", + " label = \"AFP\",", + " type = \"_afpovertcp._tcp.\",", + " text = \"%name%\",", + " subText = \"afp://%hostname%:%port%\",", + " url = \"afp://%hostname%:%port%\",", + " }" + ], "signature": "BonjourLauncher.recipes.AFP", - "stripped_doc": "AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SMB", "desc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.", - "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nSMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, Samba advertises this by default if Avahi is installed.", + "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nNotes:\n * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n * On Linux servers, Samba advertises this by default if Avahi is installed.", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "59", + "lineno": "54", "name": "SMB", "notes": [ + " * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromName(\"NSNetwork\"),", + " label = \"SMB\",", + " type = \"_smb._tcp.\",", + " text = \"%name%\",", + " subText = \"smb://%hostname%:%port%\",", + " url = \"smb://%hostname%:%port%\",", + " }", " * On Linux servers, Samba advertises this by default if Avahi is installed." ], "signature": "BonjourLauncher.recipes.SMB", - "stripped_doc": "SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SSH", "desc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nSSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~\n", + "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nNotes:\n * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", "lineno": "18", "name": "SSH", "notes": [ - " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:" + " * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),", + " label = \"SSH\",", + " type = \"_ssh._tcp.\",", + " text = \"%name%\",", + " subText = \"%hostname%:%port% (%address4%/%address6%)\",", + " url = \"ssh://%hostname%:%port%\",", + " }", + " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _ssh._tcp", + " 22", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.SSH", - "stripped_doc": "SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nScreen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n\nNotes:\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "119", + "lineno": "109", "name": "VNC", "notes": [ - " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations." + " * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\",", + " }", + " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.", + " * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.", + " * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.VNC", - "stripped_doc": "Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nThis version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n\nNotes:\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "164", + "lineno": "147", "name": "VNC_RealVNC_Alternate", "notes": [ - " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service." + " * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below", + " cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below", + " fn = function(svc, choice)", + " local tr = svc:txtRecord()", + " if tr and tr.RealVNC then", + " hs.execute(choice.cmd)", + " else", + " hs.urlevent.openURL(choice.url)", + " end", + " end,", + " }", + " * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.", + " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.", + " * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.", + " * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " RealVNC=True", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", - "stripped_doc": "This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" } ], @@ -1249,68 +1352,171 @@ { "def": "BonjourLauncher.recipes.AFP", "desc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.", - "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nAppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }\n", + "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nNotes:\n * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "87", + "lineno": "79", "name": "AFP", + "notes": [ + " * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.canvas.new{ h = 128, w = 128 }:appendElements(", + " { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },", + " { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }", + " ):imageFromCanvas(),", + " label = \"AFP\",", + " type = \"_afpovertcp._tcp.\",", + " text = \"%name%\",", + " subText = \"afp://%hostname%:%port%\",", + " url = \"afp://%hostname%:%port%\",", + " }" + ], "signature": "BonjourLauncher.recipes.AFP", - "stripped_doc": "AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SMB", "desc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.", - "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nSMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, Samba advertises this by default if Avahi is installed.", + "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nNotes:\n * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n * On Linux servers, Samba advertises this by default if Avahi is installed.", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "59", + "lineno": "54", "name": "SMB", "notes": [ + " * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromName(\"NSNetwork\"),", + " label = \"SMB\",", + " type = \"_smb._tcp.\",", + " text = \"%name%\",", + " subText = \"smb://%hostname%:%port%\",", + " url = \"smb://%hostname%:%port%\",", + " }", " * On Linux servers, Samba advertises this by default if Avahi is installed." ], "signature": "BonjourLauncher.recipes.SMB", - "stripped_doc": "SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SSH", "desc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nSSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~\n", + "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nNotes:\n * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", "lineno": "18", "name": "SSH", "notes": [ - " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:" + " * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),", + " label = \"SSH\",", + " type = \"_ssh._tcp.\",", + " text = \"%name%\",", + " subText = \"%hostname%:%port% (%address4%/%address6%)\",", + " url = \"ssh://%hostname%:%port%\",", + " }", + " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _ssh._tcp", + " 22", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.SSH", - "stripped_doc": "SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nScreen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n\nNotes:\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "119", + "lineno": "109", "name": "VNC", "notes": [ - " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations." + " * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\",", + " }", + " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.", + " * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.", + " * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.VNC", - "stripped_doc": "Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nThis version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n\nNotes:\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "164", + "lineno": "147", "name": "VNC_RealVNC_Alternate", "notes": [ - " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service." + " * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below", + " cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below", + " fn = function(svc, choice)", + " local tr = svc:txtRecord()", + " if tr and tr.RealVNC then", + " hs.execute(choice.cmd)", + " else", + " hs.urlevent.openURL(choice.url)", + " end", + " end,", + " }", + " * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.", + " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.", + " * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.", + " * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " RealVNC=True", + " ", + " ", + " ~~~" ], "signature": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", - "stripped_doc": "This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" } ], @@ -1965,7 +2171,7 @@ "doc": "Binds hotkeys for ClipboardTool\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * show_clipboard - Display the clipboard history chooser\n * toggle_clipboard - Show/hide the clipboard history chooser", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "469", + "lineno": "472", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -1982,7 +2188,7 @@ "doc": "If the pasteboard has changed, we add the current item to our history and update the counter\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "372", + "lineno": "375", "name": "checkAndStorePasteboard", "notes": [], "parameters": [ @@ -1999,7 +2205,7 @@ "doc": "Clears the clipboard and history\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "169", + "lineno": "172", "name": "clearAll", "notes": [], "parameters": [ @@ -2016,7 +2222,7 @@ "doc": "Clears the last added to the history\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "182", + "lineno": "185", "name": "clearLastItem", "notes": [], "parameters": [ @@ -2033,7 +2239,7 @@ "doc": "Add the given string to the history\n\nParameters:\n * item - string to add to the clipboard history\n\nReturns:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "210", + "lineno": "213", "name": "pasteboardToClipboard", "notes": [], "parameters": [ @@ -2052,7 +2258,7 @@ "doc": "Verify whether the pasteboard contents matches one of the values in `ClipboardTool.ignoredIdentifiers`\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "332", + "lineno": "335", "name": "shouldBeStored", "notes": [], "parameters": [ @@ -2069,7 +2275,7 @@ "doc": "Display the current clipboard list in a chooser\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "439", + "lineno": "442", "name": "showClipboard", "notes": [], "parameters": [ @@ -2086,7 +2292,7 @@ "doc": "Start the clipboard history collector\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "416", + "lineno": "419", "name": "start", "notes": [], "parameters": [ @@ -2103,7 +2309,7 @@ "doc": "Show/hide the clipboard list, depending on its current state\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "455", + "lineno": "458", "name": "toggleClipboard", "notes": [], "parameters": [ @@ -2120,7 +2326,7 @@ "doc": "Toggle the value of `ClipboardTool.paste_on_select`\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "124", + "lineno": "127", "name": "togglePasteOnSelect", "notes": [], "parameters": [ @@ -2138,7 +2344,7 @@ "desc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "87", + "lineno": "90", "name": "deduplicate", "signature": "ClipboardTool.deduplicate", "stripped_doc": "", @@ -2179,13 +2385,27 @@ }, { "def": "ClipboardTool.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", "file": "Source/ClipboardTool.spoon/init.lua", "lineno": "63", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], "signature": "ClipboardTool.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -2226,7 +2446,7 @@ "desc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "doc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "97", + "lineno": "100", "name": "menubar_title", "signature": "ClipboardTool.menubar_title", "stripped_doc": "", @@ -2259,7 +2479,7 @@ "desc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "92", + "lineno": "95", "name": "show_in_menubar", "signature": "ClipboardTool.show_in_menubar", "stripped_doc": "", @@ -2275,7 +2495,7 @@ "doc": "Binds hotkeys for ClipboardTool\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * show_clipboard - Display the clipboard history chooser\n * toggle_clipboard - Show/hide the clipboard history chooser", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "469", + "lineno": "472", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -2292,7 +2512,7 @@ "doc": "If the pasteboard has changed, we add the current item to our history and update the counter\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "372", + "lineno": "375", "name": "checkAndStorePasteboard", "notes": [], "parameters": [ @@ -2309,7 +2529,7 @@ "doc": "Clears the clipboard and history\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "169", + "lineno": "172", "name": "clearAll", "notes": [], "parameters": [ @@ -2326,7 +2546,7 @@ "doc": "Clears the last added to the history\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "182", + "lineno": "185", "name": "clearLastItem", "notes": [], "parameters": [ @@ -2342,7 +2562,7 @@ "desc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "87", + "lineno": "90", "name": "deduplicate", "signature": "ClipboardTool.deduplicate", "stripped_doc": "", @@ -2383,13 +2603,27 @@ }, { "def": "ClipboardTool.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", "file": "Source/ClipboardTool.spoon/init.lua", "lineno": "63", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], "signature": "ClipboardTool.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -2430,7 +2664,7 @@ "desc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "doc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "97", + "lineno": "100", "name": "menubar_title", "signature": "ClipboardTool.menubar_title", "stripped_doc": "", @@ -2453,7 +2687,7 @@ "doc": "Add the given string to the history\n\nParameters:\n * item - string to add to the clipboard history\n\nReturns:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "210", + "lineno": "213", "name": "pasteboardToClipboard", "notes": [], "parameters": [ @@ -2472,7 +2706,7 @@ "doc": "Verify whether the pasteboard contents matches one of the values in `ClipboardTool.ignoredIdentifiers`\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "332", + "lineno": "335", "name": "shouldBeStored", "notes": [], "parameters": [ @@ -2499,7 +2733,7 @@ "desc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "92", + "lineno": "95", "name": "show_in_menubar", "signature": "ClipboardTool.show_in_menubar", "stripped_doc": "", @@ -2511,7 +2745,7 @@ "doc": "Display the current clipboard list in a chooser\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "439", + "lineno": "442", "name": "showClipboard", "notes": [], "parameters": [ @@ -2528,7 +2762,7 @@ "doc": "Start the clipboard history collector\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "416", + "lineno": "419", "name": "start", "notes": [], "parameters": [ @@ -2545,7 +2779,7 @@ "doc": "Show/hide the clipboard list, depending on its current state\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "455", + "lineno": "458", "name": "toggleClipboard", "notes": [], "parameters": [ @@ -2562,7 +2796,7 @@ "doc": "Toggle the value of `ClipboardTool.paste_on_select`\n\nParameters:\n * None", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "124", + "lineno": "127", "name": "togglePasteOnSelect", "notes": [], "parameters": [ @@ -2966,18 +3200,20 @@ { "def": "Commander.addCommand(commandTable)", "desc": "Add a command to Commander.commandTable", - "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable\n key is name of command, value is the function.\n\nNote:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.\n\nNotes:\n * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "128", + "lineno": "124", "name": "addCommand", - "notes": [], + "notes": [ + " * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing." + ], "parameters": [ " * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function." ], "returns": [], "signature": "Commander.addCommand(commandTable)", - "stripped_doc": "Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "stripped_doc": "", "type": "Function" }, { @@ -2986,7 +3222,7 @@ "doc": "This function simply set Commander.commandTable to {}, then the next time commander chooser is called it will generate the table again.\n\nParameters:\n * None", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "143", + "lineno": "137", "name": "resetCommandTable", "notes": [], "parameters": [ @@ -3003,7 +3239,7 @@ "doc": "This function shows the command chooser. Bind this to a hotkey to use commander.\n\nParameters:\n * None", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "68", + "lineno": "64", "name": "show", "notes": [], "parameters": [ @@ -3020,45 +3256,51 @@ { "def": "Commander.commandTable", "desc": "This is the table which stores all the commands", - "doc": "This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "doc": "This is the table which stores all the commands\n\nNotes:\n * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.", "file": "Source/Commander.spoon/init.lua", - "lineno": "32", + "lineno": "33", "name": "commandTable", + "notes": [ + " * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it." + ], "signature": "Commander.commandTable", - "stripped_doc": "Each key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceLayout", - "desc": "If you want to switch to a layout when enabled chooser,", - "doc": "If you want to switch to a layout when enabled chooser,\nset this to name of that layout", + "desc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", "file": "Source/Commander.spoon/init.lua", - "lineno": "56", + "lineno": "54", "name": "forceLayout", "signature": "Commander.forceLayout", - "stripped_doc": "set this to name of that layout", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceMethod", - "desc": "If you want to switch to a method when enabled chooser,", - "doc": "If you want to switch to a method when enabled chooser,\nset this to name of that method", + "desc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc": "If you want to switch to a method when enabled chooser, set this to name of that method", "file": "Source/Commander.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "forceMethod", "signature": "Commander.forceMethod", - "stripped_doc": "set this to name of that method", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.ignoredCommandList", - "desc": "This list contains all the ignored function names,", - "doc": "This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.\n\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "desc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.", + "doc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.\n\nNotes:\n * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.", "file": "Source/Commander.spoon/init.lua", - "lineno": "40", + "lineno": "41", "name": "ignoredCommandList", + "notes": [ + " * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc." + ], "signature": "Commander.ignoredCommandList", - "stripped_doc": "any function matches the name inside this list will not\nbe added to Commander.commandTable.\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "stripped_doc": "", "type": "Variable" } ], @@ -3068,62 +3310,70 @@ { "def": "Commander.addCommand(commandTable)", "desc": "Add a command to Commander.commandTable", - "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable\n key is name of command, value is the function.\n\nNote:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.\n\nNotes:\n * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "128", + "lineno": "124", "name": "addCommand", - "notes": [], + "notes": [ + " * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing." + ], "parameters": [ " * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function." ], "returns": [], "signature": "Commander.addCommand(commandTable)", - "stripped_doc": "Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "stripped_doc": "", "type": "Function" }, { "def": "Commander.commandTable", "desc": "This is the table which stores all the commands", - "doc": "This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "doc": "This is the table which stores all the commands\n\nNotes:\n * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.", "file": "Source/Commander.spoon/init.lua", - "lineno": "32", + "lineno": "33", "name": "commandTable", + "notes": [ + " * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it." + ], "signature": "Commander.commandTable", - "stripped_doc": "Each key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceLayout", - "desc": "If you want to switch to a layout when enabled chooser,", - "doc": "If you want to switch to a layout when enabled chooser,\nset this to name of that layout", + "desc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", "file": "Source/Commander.spoon/init.lua", - "lineno": "56", + "lineno": "54", "name": "forceLayout", "signature": "Commander.forceLayout", - "stripped_doc": "set this to name of that layout", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceMethod", - "desc": "If you want to switch to a method when enabled chooser,", - "doc": "If you want to switch to a method when enabled chooser,\nset this to name of that method", + "desc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc": "If you want to switch to a method when enabled chooser, set this to name of that method", "file": "Source/Commander.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "forceMethod", "signature": "Commander.forceMethod", - "stripped_doc": "set this to name of that method", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.ignoredCommandList", - "desc": "This list contains all the ignored function names,", - "doc": "This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.\n\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "desc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.", + "doc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.\n\nNotes:\n * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.", "file": "Source/Commander.spoon/init.lua", - "lineno": "40", + "lineno": "41", "name": "ignoredCommandList", + "notes": [ + " * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc." + ], "signature": "Commander.ignoredCommandList", - "stripped_doc": "any function matches the name inside this list will not\nbe added to Commander.commandTable.\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "stripped_doc": "", "type": "Variable" }, { @@ -3132,7 +3382,7 @@ "doc": "This function simply set Commander.commandTable to {}, then the next time commander chooser is called it will generate the table again.\n\nParameters:\n * None", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "143", + "lineno": "137", "name": "resetCommandTable", "notes": [], "parameters": [ @@ -3149,7 +3399,7 @@ "doc": "This function shows the command chooser. Bind this to a hotkey to use commander.\n\nParameters:\n * None", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "68", + "lineno": "64", "name": "show", "notes": [], "parameters": [ @@ -3538,14 +3788,15 @@ { "def": "EjectMenu:bindHotkeys(mapping)", "desc": "Binds hotkeys for EjectMenu", - "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", + "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "220", + "lineno": "215", "name": "bindHotkeys", "notes": [], "parameters": [ - " * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes." + " * mapping - A table containing hotkey objifier/key details for the following items:", + " * ejectAll - eject all volumes." ], "returns": [], "signature": "EjectMenu:bindHotkeys(mapping)", @@ -3558,7 +3809,7 @@ "doc": "Eject all volumes\n\nParameters:\n * persistent_notifs: a boolean indicating whether notifications (if shown) should be persistent.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "126", + "lineno": "123", "name": "ejectVolumes", "notes": [], "parameters": [ @@ -3575,7 +3826,7 @@ "doc": "Determine if a volume should be ejected.\n\nParameters:\n * path - the mount path of the volume.\n * info - a table containing a data structure as returned by `hs.fs.volume.allVolumes()`.\n\nReturns:\n * A boolean indicating whether the volume should be ejected.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "71", + "lineno": "70", "name": "shouldEject", "notes": [], "parameters": [ @@ -3595,7 +3846,7 @@ "doc": "Start the watchers for power events and screen changes, to trigger volume ejection.\n\nParameters:\n * None", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "247", + "lineno": "241", "name": "start", "notes": [], "parameters": [ @@ -3612,7 +3863,7 @@ "doc": "Stop the watchers\n\nParameters:\n * None", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "289", + "lineno": "283", "name": "stop", "notes": [], "parameters": [ @@ -3626,19 +3877,17 @@ { "def": "EjectMenu:volumesToEject()", "desc": "Return table of volumes to be ejected when \"Eject All\" is invoked.", - "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by\n `hs.fs.volume.allVolumes()` but containing only those volumes\n for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", + "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "86", + "lineno": "85", "name": "volumesToEject", "notes": [], "parameters": [ " * None" ], "returns": [ - " * A table in the same format as returned by", - " `hs.fs.volume.allVolumes()` but containing only those volumes", - " for which `EjectMenu:shouldEject()` returns `true`.", + " * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.", " * An integer indicating how many volumes are in the table." ], "signature": "EjectMenu:volumesToEject()", @@ -3649,13 +3898,17 @@ "Variable": [ { "def": "EjectMenu.eject_on_lid_close", - "desc": "Boolean, whether to eject volumes when the laptop lid is closed", - "doc": "Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "desc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.", + "doc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.\n\nNotes:\n * There is no \"lid close\" event, so we detect when the internal display gets disabled.\n * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`", "file": "Source/EjectMenu.spoon/init.lua", "lineno": "48", "name": "eject_on_lid_close", + "notes": [ + " * There is no \"lid close\" event, so we detect when the internal display gets disabled.", + " * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`" + ], "signature": "EjectMenu.eject_on_lid_close", - "stripped_doc": "with an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "stripped_doc": "", "type": "Variable" }, { @@ -3704,13 +3957,16 @@ }, { "def": "EjectMenu.other_eject_events", - "desc": "List of additional system events on which the volumes should be ejected. The", - "doc": "List of additional system events on which the volumes should be ejected. The\nvalues must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "desc": "List of additional system events on which the volumes should be ejected.", + "doc": "List of additional system events on which the volumes should be ejected.\n\nNotes:\n * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "63", + "lineno": "62", "name": "other_eject_events", + "notes": [ + " * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list" + ], "signature": "EjectMenu.other_eject_events", - "stripped_doc": "values must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "stripped_doc": "", "type": "Variable" }, { @@ -3718,7 +3974,7 @@ "desc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "doc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "58", + "lineno": "57", "name": "show_in_menubar", "signature": "EjectMenu.show_in_menubar", "stripped_doc": "", @@ -3731,14 +3987,15 @@ { "def": "EjectMenu:bindHotkeys(mapping)", "desc": "Binds hotkeys for EjectMenu", - "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", + "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "220", + "lineno": "215", "name": "bindHotkeys", "notes": [], "parameters": [ - " * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes." + " * mapping - A table containing hotkey objifier/key details for the following items:", + " * ejectAll - eject all volumes." ], "returns": [], "signature": "EjectMenu:bindHotkeys(mapping)", @@ -3747,13 +4004,17 @@ }, { "def": "EjectMenu.eject_on_lid_close", - "desc": "Boolean, whether to eject volumes when the laptop lid is closed", - "doc": "Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "desc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.", + "doc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.\n\nNotes:\n * There is no \"lid close\" event, so we detect when the internal display gets disabled.\n * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`", "file": "Source/EjectMenu.spoon/init.lua", "lineno": "48", "name": "eject_on_lid_close", + "notes": [ + " * There is no \"lid close\" event, so we detect when the internal display gets disabled.", + " * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`" + ], "signature": "EjectMenu.eject_on_lid_close", - "stripped_doc": "with an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "stripped_doc": "", "type": "Variable" }, { @@ -3773,7 +4034,7 @@ "doc": "Eject all volumes\n\nParameters:\n * persistent_notifs: a boolean indicating whether notifications (if shown) should be persistent.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "126", + "lineno": "123", "name": "ejectVolumes", "notes": [], "parameters": [ @@ -3819,13 +4080,16 @@ }, { "def": "EjectMenu.other_eject_events", - "desc": "List of additional system events on which the volumes should be ejected. The", - "doc": "List of additional system events on which the volumes should be ejected. The\nvalues must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "desc": "List of additional system events on which the volumes should be ejected.", + "doc": "List of additional system events on which the volumes should be ejected.\n\nNotes:\n * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "63", + "lineno": "62", "name": "other_eject_events", + "notes": [ + " * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list" + ], "signature": "EjectMenu.other_eject_events", - "stripped_doc": "values must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "stripped_doc": "", "type": "Variable" }, { @@ -3834,7 +4098,7 @@ "doc": "Determine if a volume should be ejected.\n\nParameters:\n * path - the mount path of the volume.\n * info - a table containing a data structure as returned by `hs.fs.volume.allVolumes()`.\n\nReturns:\n * A boolean indicating whether the volume should be ejected.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "71", + "lineno": "70", "name": "shouldEject", "notes": [], "parameters": [ @@ -3853,7 +4117,7 @@ "desc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "doc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "58", + "lineno": "57", "name": "show_in_menubar", "signature": "EjectMenu.show_in_menubar", "stripped_doc": "", @@ -3865,7 +4129,7 @@ "doc": "Start the watchers for power events and screen changes, to trigger volume ejection.\n\nParameters:\n * None", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "247", + "lineno": "241", "name": "start", "notes": [], "parameters": [ @@ -3882,7 +4146,7 @@ "doc": "Stop the watchers\n\nParameters:\n * None", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "289", + "lineno": "283", "name": "stop", "notes": [], "parameters": [ @@ -3896,19 +4160,17 @@ { "def": "EjectMenu:volumesToEject()", "desc": "Return table of volumes to be ejected when \"Eject All\" is invoked.", - "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by\n `hs.fs.volume.allVolumes()` but containing only those volumes\n for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", + "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "86", + "lineno": "85", "name": "volumesToEject", "notes": [], "parameters": [ " * None" ], "returns": [ - " * A table in the same format as returned by", - " `hs.fs.volume.allVolumes()` but containing only those volumes", - " for which `EjectMenu:shouldEject()` returns `true`.", + " * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.", " * An integer indicating how many volumes are in the table." ], "signature": "EjectMenu:volumesToEject()", @@ -4951,7 +5213,7 @@ "doc": "Callback function to use as an audio device watcher, to pause/unpause the application on headphones plugged/unplugged\n\nParameters:\n * dev_uid - The audio device\n * event_name - The event name", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "92", + "lineno": "97", "name": "audiodevwatch", "notes": [], "parameters": [ @@ -4969,7 +5231,7 @@ "doc": "Generate the most common set of application control definition.\n\nParameters:\n * app - name of the application, with its correct letter casing (i.e. \"iTunes\"). The name as provided will be used to find the running application, and its lowercase version will be used to find the corresponding `hs.*` module.\n\nReturns:\n * A table in the correct format for `HeadphoneAutoPause.controlfns`, using the lower-case value of `app` as the module name (for example, if app = \"iTunes\", the module loaded will be `hs.itunes`, and assuming the functions `isPlaying()`, `play()` and `pause()` exist in that module.", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "47", + "lineno": "51", "name": "defaultControlFns", "notes": [], "parameters": [ @@ -4988,7 +5250,7 @@ "doc": "Start headphone detection on all audio devices that support it\n\nParameters:\n * None", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "132", + "lineno": "137", "name": "start", "notes": [], "parameters": [ @@ -5005,7 +5267,7 @@ "doc": "Stop headphone detection\n\nParameters:\n * None", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "152", + "lineno": "157", "name": "stop", "notes": [], "parameters": [ @@ -5021,34 +5283,56 @@ { "def": "HeadphoneAutoPause.autoResume", "desc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.", - "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nDefault value: `true`", + "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nNotes:\n * Default value: `true`", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "40", + "lineno": "43", "name": "autoResume", + "notes": [ + " * Default value: `true`" + ], "signature": "HeadphoneAutoPause.autoResume", - "stripped_doc": "Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.control", - "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", - "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.", + "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.\n\nNotes:\n * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", "file": "Source/HeadphoneAutoPause.spoon/init.lua", "lineno": "22", "name": "control", + "notes": [ + " * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", + "```", + "{", + " itunes = true,", + " spotify = true,", + " deezer = true,", + " vox = false -- Vox has built-in headphone detection support", + "}", + "```" + ], "signature": "HeadphoneAutoPause.control", - "stripped_doc": "```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.controlfns", "desc": "Table containing control functions for each application to control.", - "doc": "Table containing control functions for each application to control.\nThe keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "doc": "Table containing control functions for each application to control.\n\nNotes:\n * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "64", + "lineno": "68", "name": "controlfns", + "notes": [ + " * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:", + " * `appname` - application name (case-sensitive, as the application appears to the system)", + " * `isPlaying` - function that returns a true value if the application is playing", + " * `play` - function that starts playback in the application", + " * `pause` - function that pauses playback in the application", + " * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively." + ], "signature": "HeadphoneAutoPause.controlfns", - "stripped_doc": "The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "stripped_doc": "", "type": "Variable" }, { @@ -5072,7 +5356,7 @@ "doc": "Callback function to use as an audio device watcher, to pause/unpause the application on headphones plugged/unplugged\n\nParameters:\n * dev_uid - The audio device\n * event_name - The event name", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "92", + "lineno": "97", "name": "audiodevwatch", "notes": [], "parameters": [ @@ -5087,34 +5371,56 @@ { "def": "HeadphoneAutoPause.autoResume", "desc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.", - "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nDefault value: `true`", + "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nNotes:\n * Default value: `true`", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "40", + "lineno": "43", "name": "autoResume", + "notes": [ + " * Default value: `true`" + ], "signature": "HeadphoneAutoPause.autoResume", - "stripped_doc": "Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.control", - "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", - "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.", + "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.\n\nNotes:\n * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", "file": "Source/HeadphoneAutoPause.spoon/init.lua", "lineno": "22", "name": "control", + "notes": [ + " * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", + "```", + "{", + " itunes = true,", + " spotify = true,", + " deezer = true,", + " vox = false -- Vox has built-in headphone detection support", + "}", + "```" + ], "signature": "HeadphoneAutoPause.control", - "stripped_doc": "```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.controlfns", "desc": "Table containing control functions for each application to control.", - "doc": "Table containing control functions for each application to control.\nThe keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "doc": "Table containing control functions for each application to control.\n\nNotes:\n * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "64", + "lineno": "68", "name": "controlfns", + "notes": [ + " * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:", + " * `appname` - application name (case-sensitive, as the application appears to the system)", + " * `isPlaying` - function that returns a true value if the application is playing", + " * `play` - function that starts playback in the application", + " * `pause` - function that pauses playback in the application", + " * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively." + ], "signature": "HeadphoneAutoPause.controlfns", - "stripped_doc": "The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "stripped_doc": "", "type": "Variable" }, { @@ -5123,7 +5429,7 @@ "doc": "Generate the most common set of application control definition.\n\nParameters:\n * app - name of the application, with its correct letter casing (i.e. \"iTunes\"). The name as provided will be used to find the running application, and its lowercase version will be used to find the corresponding `hs.*` module.\n\nReturns:\n * A table in the correct format for `HeadphoneAutoPause.controlfns`, using the lower-case value of `app` as the module name (for example, if app = \"iTunes\", the module loaded will be `hs.itunes`, and assuming the functions `isPlaying()`, `play()` and `pause()` exist in that module.", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "47", + "lineno": "51", "name": "defaultControlFns", "notes": [], "parameters": [ @@ -5153,7 +5459,7 @@ "doc": "Start headphone detection on all audio devices that support it\n\nParameters:\n * None", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "132", + "lineno": "137", "name": "start", "notes": [], "parameters": [ @@ -5170,7 +5476,7 @@ "doc": "Stop headphone detection\n\nParameters:\n * None", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "152", + "lineno": "157", "name": "stop", "notes": [], "parameters": [ @@ -6402,7 +6708,7 @@ "doc": "Check and display (if needed) the status of all the books in `watch_books`\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "313", + "lineno": "281", "name": "displayAllBookStatus", "notes": [], "parameters": [ @@ -6416,10 +6722,10 @@ { "def": "Leanpub:displayBookStatus(book)", "desc": "Display a notification with the current build status of a book.", - "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to\n check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part\n of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the\n book, as an `hs.image` object. If this field is not specified\n but `fetch_leanpub_covers` is true (the default value), this\n method attempts to fetch the book cover from Leanpub. If the\n cover can be retrieved, it gets stored in the icon field so\n it doesn't get fetched every time. You can disable cover\n fetching for individual books by setting this field\n explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an\n error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", + "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "166", + "lineno": "144", "name": "displayBookStatus", "notes": [ "* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book)." @@ -6428,8 +6734,7 @@ " * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`" ], "returns": [ - " * A Lua table containing the status (may be empty), nil if an", - " error occurred" + " * A Lua table containing the status (may be empty), nil if an error occurred" ], "signature": "Leanpub:displayBookStatus(book)", "stripped_doc": "", @@ -6441,7 +6746,7 @@ "doc": "Fetch the cover of a book.\n\nParameters:\n * book - table containing the book information. The icon gets\n stored in its `icon` field when it can be fetched.\n\nReturns:\n * No return value\n\nSide effects:\n * Stores the icon in the book data structure", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "272", + "lineno": "240", "name": "fetchBookCover", "notes": [], "parameters": [ @@ -6457,10 +6762,10 @@ { "def": "Leanpub:getBookStatus(slug, callback)", "desc": "Asynchronously get the status of a book given its slug.", - "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is\n the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed\n when the data is received. This function will be passed a\n single argument, a table containing the fields returned by the\n Leanpub API. If the book is not being built at the moment, an\n empty table is passed. If an error occurs, the value passed\n will be `nil`. Samples of the return values can be found at\n https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", + "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be `nil`. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "122", + "lineno": "107", "name": "getBookStatus", "notes": [], "parameters": [ @@ -6480,7 +6785,7 @@ "doc": "Start periodic check for book status, checking every check_interval seconds.\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "327", + "lineno": "295", "name": "start", "notes": [], "parameters": [ @@ -6497,7 +6802,7 @@ "doc": "Stops periodic check for book status, if enabled.\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "340", + "lineno": "308", "name": "stop", "notes": [], "parameters": [ @@ -6512,101 +6817,128 @@ "Variable": [ { "def": "Leanpub.api_key", - "desc": "String containing the key to use for Leanpub API requests. Get it", - "doc": "String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "desc": "String containing the key to use for Leanpub API requests.", + "doc": "String containing the key to use for Leanpub API requests.\n\nNotes:\n * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "56", + "lineno": "43", "name": "api_key", + "notes": [ + " * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default." + ], "signature": "Leanpub.api_key", - "stripped_doc": "from your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.books_sync_to_dropbox", - "desc": "Boolean that specifies whether all your books are being synced to", - "doc": "Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "desc": "Boolean that specifies whether all your books are being synced to Dropbox.", + "doc": "Boolean that specifies whether all your books are being synced to Dropbox.\n\nNotes:\n * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.\n * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "46", + "lineno": "34", "name": "books_sync_to_dropbox", + "notes": [ + " * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.", + " * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`." + ], "signature": "Leanpub.books_sync_to_dropbox", - "stripped_doc": "Dropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.check_interval", - "desc": "Integer containing the interval (in seconds) at which the book", - "doc": "Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.", + "desc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "63", + "lineno": "51", "name": "check_interval", "signature": "Leanpub.check_interval", - "stripped_doc": "status is checked. Default 5.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_path", - "desc": "String containing the base Dropbox path to which the books are", - "doc": "String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "desc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.", + "doc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.\n\nNotes:\n * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.\n * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "84", + "lineno": "72", "name": "dropbox_path", + "notes": [ + " * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.", + " * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults." + ], "signature": "Leanpub.dropbox_path", - "stripped_doc": "synced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_type", - "desc": "String containing the name of the Dropbox account type to use for", - "doc": "String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "desc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.", + "doc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.\n\nNotes:\n * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.\n * Default value: \"personal\".", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "96", + "lineno": "81", "name": "dropbox_type", + "notes": [ + " * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.", + " * Default value: \"personal\"." + ], "signature": "Leanpub.dropbox_type", - "stripped_doc": "determining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.fetch_leanpub_covers", - "desc": "Boolean indicating whether we should try to fetch book covers from", - "doc": "Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: `true`.", + "desc": "Boolean indicating whether we should try to fetch book covers from Leanpub.", + "doc": "Boolean indicating whether we should try to fetch book covers from Leanpub.\n\nNotes:\n * Default value: `true`.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "69", + "lineno": "56", "name": "fetch_leanpub_covers", + "notes": [ + " * Default value: `true`." + ], "signature": "Leanpub.fetch_leanpub_covers", - "stripped_doc": "Leanpub. Default value: `true`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.logger", - "desc": "Logger object used within the Spoon. Can be accessed to set the", - "doc": "Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.", + "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/Leanpub.spoon/init.lua", "lineno": "18", "name": "logger", "signature": "Leanpub.logger", - "stripped_doc": "default log level for the messages coming from the Spoon.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.persistent_notification", - "desc": "Table specifying the Leanpub status for which notifications should", - "doc": "Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "desc": "Table specifying the Leanpub status for which notifications should not disappear automatically.", + "doc": "Table specifying the Leanpub status for which notifications should not disappear automatically.\n\nNotes:\n * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "75", + "lineno": "64", "name": "persistent_notification", + "notes": [ + " * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages." + ], "signature": "Leanpub.persistent_notification", - "stripped_doc": "not disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.watch_books", - "desc": "List of books to watch (by default an empty list). Each element of", - "doc": "List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "desc": "List of books to watch (by default an empty list).", + "doc": "List of books to watch (by default an empty list).\n\nNotes:\n * Each element of the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.\n * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "24", + "lineno": "23", "name": "watch_books", + "notes": [ + " * Each element of the list must be a table containing the following keys:", + " * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.", + " * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.", + " * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`" + ], "signature": "Leanpub.watch_books", - "stripped_doc": "the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "stripped_doc": "", "type": "Variable" } ], @@ -6615,35 +6947,42 @@ "items": [ { "def": "Leanpub.api_key", - "desc": "String containing the key to use for Leanpub API requests. Get it", - "doc": "String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "desc": "String containing the key to use for Leanpub API requests.", + "doc": "String containing the key to use for Leanpub API requests.\n\nNotes:\n * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "56", + "lineno": "43", "name": "api_key", + "notes": [ + " * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default." + ], "signature": "Leanpub.api_key", - "stripped_doc": "from your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.books_sync_to_dropbox", - "desc": "Boolean that specifies whether all your books are being synced to", - "doc": "Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "desc": "Boolean that specifies whether all your books are being synced to Dropbox.", + "doc": "Boolean that specifies whether all your books are being synced to Dropbox.\n\nNotes:\n * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.\n * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "46", + "lineno": "34", "name": "books_sync_to_dropbox", + "notes": [ + " * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.", + " * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`." + ], "signature": "Leanpub.books_sync_to_dropbox", - "stripped_doc": "Dropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.check_interval", - "desc": "Integer containing the interval (in seconds) at which the book", - "doc": "Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.", + "desc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "63", + "lineno": "51", "name": "check_interval", "signature": "Leanpub.check_interval", - "stripped_doc": "status is checked. Default 5.", + "stripped_doc": "", "type": "Variable" }, { @@ -6652,7 +6991,7 @@ "doc": "Check and display (if needed) the status of all the books in `watch_books`\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "313", + "lineno": "281", "name": "displayAllBookStatus", "notes": [], "parameters": [ @@ -6666,10 +7005,10 @@ { "def": "Leanpub:displayBookStatus(book)", "desc": "Display a notification with the current build status of a book.", - "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to\n check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part\n of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the\n book, as an `hs.image` object. If this field is not specified\n but `fetch_leanpub_covers` is true (the default value), this\n method attempts to fetch the book cover from Leanpub. If the\n cover can be retrieved, it gets stored in the icon field so\n it doesn't get fetched every time. You can disable cover\n fetching for individual books by setting this field\n explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an\n error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", + "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "166", + "lineno": "144", "name": "displayBookStatus", "notes": [ "* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book)." @@ -6678,8 +7017,7 @@ " * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`" ], "returns": [ - " * A Lua table containing the status (may be empty), nil if an", - " error occurred" + " * A Lua table containing the status (may be empty), nil if an error occurred" ], "signature": "Leanpub:displayBookStatus(book)", "stripped_doc": "", @@ -6687,35 +7025,46 @@ }, { "def": "Leanpub.dropbox_path", - "desc": "String containing the base Dropbox path to which the books are", - "doc": "String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "desc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.", + "doc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.\n\nNotes:\n * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.\n * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "84", + "lineno": "72", "name": "dropbox_path", + "notes": [ + " * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.", + " * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults." + ], "signature": "Leanpub.dropbox_path", - "stripped_doc": "synced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_type", - "desc": "String containing the name of the Dropbox account type to use for", - "doc": "String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "desc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.", + "doc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.\n\nNotes:\n * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.\n * Default value: \"personal\".", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "96", + "lineno": "81", "name": "dropbox_type", + "notes": [ + " * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.", + " * Default value: \"personal\"." + ], "signature": "Leanpub.dropbox_type", - "stripped_doc": "determining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.fetch_leanpub_covers", - "desc": "Boolean indicating whether we should try to fetch book covers from", - "doc": "Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: `true`.", + "desc": "Boolean indicating whether we should try to fetch book covers from Leanpub.", + "doc": "Boolean indicating whether we should try to fetch book covers from Leanpub.\n\nNotes:\n * Default value: `true`.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "69", + "lineno": "56", "name": "fetch_leanpub_covers", - "signature": "Leanpub.fetch_leanpub_covers", - "stripped_doc": "Leanpub. Default value: `true`.", + "notes": [ + " * Default value: `true`." + ], + "signature": "Leanpub.fetch_leanpub_covers", + "stripped_doc": "", "type": "Variable" }, { @@ -6724,7 +7073,7 @@ "doc": "Fetch the cover of a book.\n\nParameters:\n * book - table containing the book information. The icon gets\n stored in its `icon` field when it can be fetched.\n\nReturns:\n * No return value\n\nSide effects:\n * Stores the icon in the book data structure", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "272", + "lineno": "240", "name": "fetchBookCover", "notes": [], "parameters": [ @@ -6740,10 +7089,10 @@ { "def": "Leanpub:getBookStatus(slug, callback)", "desc": "Asynchronously get the status of a book given its slug.", - "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is\n the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed\n when the data is received. This function will be passed a\n single argument, a table containing the fields returned by the\n Leanpub API. If the book is not being built at the moment, an\n empty table is passed. If an error occurs, the value passed\n will be `nil`. Samples of the return values can be found at\n https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", + "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be `nil`. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "122", + "lineno": "107", "name": "getBookStatus", "notes": [], "parameters": [ @@ -6759,24 +7108,27 @@ }, { "def": "Leanpub.logger", - "desc": "Logger object used within the Spoon. Can be accessed to set the", - "doc": "Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.", + "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/Leanpub.spoon/init.lua", "lineno": "18", "name": "logger", "signature": "Leanpub.logger", - "stripped_doc": "default log level for the messages coming from the Spoon.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.persistent_notification", - "desc": "Table specifying the Leanpub status for which notifications should", - "doc": "Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "desc": "Table specifying the Leanpub status for which notifications should not disappear automatically.", + "doc": "Table specifying the Leanpub status for which notifications should not disappear automatically.\n\nNotes:\n * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages.", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "75", + "lineno": "64", "name": "persistent_notification", + "notes": [ + " * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages." + ], "signature": "Leanpub.persistent_notification", - "stripped_doc": "not disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "stripped_doc": "", "type": "Variable" }, { @@ -6785,7 +7137,7 @@ "doc": "Start periodic check for book status, checking every check_interval seconds.\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "327", + "lineno": "295", "name": "start", "notes": [], "parameters": [ @@ -6802,7 +7154,7 @@ "doc": "Stops periodic check for book status, if enabled.\n\nParameters:\n * None", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "340", + "lineno": "308", "name": "stop", "notes": [], "parameters": [ @@ -6815,13 +7167,19 @@ }, { "def": "Leanpub.watch_books", - "desc": "List of books to watch (by default an empty list). Each element of", - "doc": "List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "desc": "List of books to watch (by default an empty list).", + "doc": "List of books to watch (by default an empty list).\n\nNotes:\n * Each element of the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.\n * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "24", + "lineno": "23", "name": "watch_books", + "notes": [ + " * Each element of the list must be a table containing the following keys:", + " * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.", + " * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.", + " * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`" + ], "signature": "Leanpub.watch_books", - "stripped_doc": "the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "stripped_doc": "", "type": "Variable" } ], @@ -6841,18 +7199,27 @@ { "def": "LookupSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for LookupSelection", - "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nSample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nNotes:\n * Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", "examples": [], "file": "Source/LookupSelection.spoon/init.lua", "lineno": "93", "name": "bindHotkeys", - "notes": [], + "notes": [ + " * Sample value for `mapping`:", + "```", + " {", + " lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },", + " neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },", + " hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },", + " }", + "```" + ], "parameters": [ " * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help" ], "returns": [], "signature": "LookupSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -6894,18 +7261,27 @@ { "def": "LookupSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for LookupSelection", - "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nSample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nNotes:\n * Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", "examples": [], "file": "Source/LookupSelection.spoon/init.lua", "lineno": "93", "name": "bindHotkeys", - "notes": [], + "notes": [ + " * Sample value for `mapping`:", + "```", + " {", + " lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },", + " neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },", + " hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },", + " }", + "```" + ], "parameters": [ " * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help" ], "returns": [], "signature": "LookupSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -6958,7 +7334,7 @@ "doc": "Draw the indicators corresponding to the given layout name\n\nParameters:\n * src - name of the layout to draw. If the given element exists in `MenubarFlag.colors`, it will be drawn. If it does not exist, then the indicators will be removed from the screen.\n\nReturns:\n * The MenubarFlag object", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "123", + "lineno": "118", "name": "drawIndicators", "notes": [], "parameters": [ @@ -6977,7 +7353,7 @@ "doc": "Draw indicators for the current keyboard method or layout\n\nParameters:\n * None\n\nReturns:\n * The MenubarFlag object", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "180", + "lineno": "175", "name": "getLayoutAndDrawindicators", "notes": [], "parameters": [ @@ -6996,7 +7372,7 @@ "doc": "Start the keyboard layout watcher to draw the menubar indicators.\n\nParameters:\n * None", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "193", + "lineno": "188", "name": "start", "notes": [], "parameters": [ @@ -7013,7 +7389,7 @@ "doc": "Remove indicators and stop the keyboard layout watcher\n\nParameters:\n * None", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "213", + "lineno": "208", "name": "stop", "notes": [], "parameters": [ @@ -7040,12 +7416,41 @@ { "def": "MenubarFlag.colors", "desc": "Table that contains the configuration of indicator colors", - "doc": "Table that contains the configuration of indicator colors\n\nThe table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\n\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "doc": "Table that contains the configuration of indicator colors\n\nNotes:\n * The table below indicates the colors to use for a given keyboard layout.\n * The index is the name of the layout as it appears in the input source menu.\n * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.\n * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.\n * Indicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\n * Contributions of indicator specs are welcome!", "file": "Source/MenubarFlag.spoon/init.lua", "lineno": "42", "name": "colors", + "notes": [ + " * The table below indicates the colors to use for a given keyboard layout.", + " * The index is the name of the layout as it appears in the input source menu.", + " * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.", + " * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.", + " * Indicator specs can be static flag-like:", + "```", + " Spanish = {col.green, col.white, col.red},", + " German = {col.black, col.red, col.yellow},", + "```", + "or complex, programmatically-generated:", + "```", + "[\"U.S.\"] = (", + " function() res={}", + " for i = 0,10,1 do", + " table.insert(res, col.blue)", + " table.insert(res, col.white)", + " table.insert(res, col.red)", + " end", + " return res", + " end)()", + "```", + "or solid colors:", + "```", + " Spanish = {col.red},", + " German = {col.yellow},", + "```", + " * Contributions of indicator specs are welcome!" + ], "signature": "MenubarFlag.colors", - "stripped_doc": "The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "stripped_doc": "", "type": "Variable" }, { @@ -7084,12 +7489,16 @@ { "def": "MenubarFlag.timerFreq", "desc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.", - "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nSometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nNotes:\n * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.\n * The timer can be disabled by setting this parameter to 0.", "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "84", + "lineno": "80", "name": "timerFreq", + "notes": [ + " * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.", + " * The timer can be disabled by setting this parameter to 0." + ], "signature": "MenubarFlag.timerFreq", - "stripped_doc": "Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "stripped_doc": "", "type": "Variable" } ], @@ -7110,12 +7519,41 @@ { "def": "MenubarFlag.colors", "desc": "Table that contains the configuration of indicator colors", - "doc": "Table that contains the configuration of indicator colors\n\nThe table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\n\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "doc": "Table that contains the configuration of indicator colors\n\nNotes:\n * The table below indicates the colors to use for a given keyboard layout.\n * The index is the name of the layout as it appears in the input source menu.\n * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.\n * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.\n * Indicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\n * Contributions of indicator specs are welcome!", "file": "Source/MenubarFlag.spoon/init.lua", "lineno": "42", "name": "colors", + "notes": [ + " * The table below indicates the colors to use for a given keyboard layout.", + " * The index is the name of the layout as it appears in the input source menu.", + " * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.", + " * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.", + " * Indicator specs can be static flag-like:", + "```", + " Spanish = {col.green, col.white, col.red},", + " German = {col.black, col.red, col.yellow},", + "```", + "or complex, programmatically-generated:", + "```", + "[\"U.S.\"] = (", + " function() res={}", + " for i = 0,10,1 do", + " table.insert(res, col.blue)", + " table.insert(res, col.white)", + " table.insert(res, col.red)", + " end", + " return res", + " end)()", + "```", + "or solid colors:", + "```", + " Spanish = {col.red},", + " German = {col.yellow},", + "```", + " * Contributions of indicator specs are welcome!" + ], "signature": "MenubarFlag.colors", - "stripped_doc": "The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "stripped_doc": "", "type": "Variable" }, { @@ -7124,7 +7562,7 @@ "doc": "Draw the indicators corresponding to the given layout name\n\nParameters:\n * src - name of the layout to draw. If the given element exists in `MenubarFlag.colors`, it will be drawn. If it does not exist, then the indicators will be removed from the screen.\n\nReturns:\n * The MenubarFlag object", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "123", + "lineno": "118", "name": "drawIndicators", "notes": [], "parameters": [ @@ -7143,7 +7581,7 @@ "doc": "Draw indicators for the current keyboard method or layout\n\nParameters:\n * None\n\nReturns:\n * The MenubarFlag object", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "180", + "lineno": "175", "name": "getLayoutAndDrawindicators", "notes": [], "parameters": [ @@ -7195,7 +7633,7 @@ "doc": "Start the keyboard layout watcher to draw the menubar indicators.\n\nParameters:\n * None", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "193", + "lineno": "188", "name": "start", "notes": [], "parameters": [ @@ -7212,7 +7650,7 @@ "doc": "Remove indicators and stop the keyboard layout watcher\n\nParameters:\n * None", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "213", + "lineno": "208", "name": "stop", "notes": [], "parameters": [ @@ -7226,12 +7664,16 @@ { "def": "MenubarFlag.timerFreq", "desc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.", - "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nSometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nNotes:\n * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.\n * The timer can be disabled by setting this parameter to 0.", "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "84", + "lineno": "80", "name": "timerFreq", + "notes": [ + " * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.", + " * The timer can be disabled by setting this parameter to 0." + ], "signature": "MenubarFlag.timerFreq", - "stripped_doc": "Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "stripped_doc": "", "type": "Variable" } ], @@ -7340,10 +7782,22 @@ { "def": "MiroWindowsManager:bindHotkeys()", "desc": "Binds hotkeys for Miro's Windows Manager", - "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nA configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", - "examples": [], + "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nExamples:\n * A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "examples": [ + " * A configuration example can be:", + "```", + "local hyper = {\"ctrl\", \"alt\", \"cmd\"}", + "spoon.MiroWindowsManager:bindHotkeys({", + " up = {hyper, \"up\"},", + " right = {hyper, \"right\"},", + " down = {hyper, \"down\"},", + " left = {hyper, \"left\"},", + " fullscreen = {hyper, \"f\"}", + "})", + "```" + ], "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "141", + "lineno": "144", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -7351,42 +7805,50 @@ ], "returns": [], "signature": "MiroWindowsManager:bindHotkeys()", - "stripped_doc": "A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "stripped_doc": "", "type": "Method" } ], "Variable": [ { "def": "MiroWindowsManager.fullScreenSizes", - "desc": "The sizes that the window can have in full-screen. ", - "doc": "The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "desc": "The sizes that the window can have in full-screen.", + "doc": "The sizes that the window can have in full-screen.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "44", + "lineno": "46", "name": "fullScreenSizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size" + ], "signature": "MiroWindowsManager.fullScreenSizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.GRID", - "desc": "The screen's size using `hs.grid.setGrid()`", - "doc": "The screen's size using `hs.grid.setGrid()`\nThis parameter is used at the spoon's `:init()`", + "desc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "51", + "lineno": "55", "name": "GRID", "signature": "MiroWindowsManager.GRID", - "stripped_doc": "This parameter is used at the spoon's `:init()`", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.sizes", - "desc": "The sizes that the window can have. ", - "doc": "The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "desc": "The sizes that the window can have.", + "doc": "The sizes that the window can have.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", "file": "Source/MiroWindowsManager.spoon/init.lua", "lineno": "37", "name": "sizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size" + ], "signature": "MiroWindowsManager.sizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "stripped_doc": "", "type": "Variable" } ], @@ -7396,10 +7858,22 @@ { "def": "MiroWindowsManager:bindHotkeys()", "desc": "Binds hotkeys for Miro's Windows Manager", - "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nA configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", - "examples": [], + "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nExamples:\n * A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "examples": [ + " * A configuration example can be:", + "```", + "local hyper = {\"ctrl\", \"alt\", \"cmd\"}", + "spoon.MiroWindowsManager:bindHotkeys({", + " up = {hyper, \"up\"},", + " right = {hyper, \"right\"},", + " down = {hyper, \"down\"},", + " left = {hyper, \"left\"},", + " fullscreen = {hyper, \"f\"}", + "})", + "```" + ], "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "141", + "lineno": "144", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -7407,40 +7881,48 @@ ], "returns": [], "signature": "MiroWindowsManager:bindHotkeys()", - "stripped_doc": "A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "stripped_doc": "", "type": "Method" }, { "def": "MiroWindowsManager.fullScreenSizes", - "desc": "The sizes that the window can have in full-screen. ", - "doc": "The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "desc": "The sizes that the window can have in full-screen.", + "doc": "The sizes that the window can have in full-screen.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "44", + "lineno": "46", "name": "fullScreenSizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size" + ], "signature": "MiroWindowsManager.fullScreenSizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.GRID", - "desc": "The screen's size using `hs.grid.setGrid()`", - "doc": "The screen's size using `hs.grid.setGrid()`\nThis parameter is used at the spoon's `:init()`", + "desc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "51", + "lineno": "55", "name": "GRID", "signature": "MiroWindowsManager.GRID", - "stripped_doc": "This parameter is used at the spoon's `:init()`", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.sizes", - "desc": "The sizes that the window can have. ", - "doc": "The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "desc": "The sizes that the window can have.", + "doc": "The sizes that the window can have.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", "file": "Source/MiroWindowsManager.spoon/init.lua", "lineno": "37", "name": "sizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size" + ], "signature": "MiroWindowsManager.sizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "stripped_doc": "", "type": "Variable" } ], @@ -7658,7 +8140,7 @@ "doc": "Binds hotkeys for MountedVolumes\n\nParameters:\n * `mapping` - A table containing hotkey modifier/key details for one or more of the following commands:\n * \"show\" - Show the volume list\n * \"hide\" - Hide the volume list\n * \"toggle\" - If the volume list is visible then hide it; otherwise show the list.\n\nReturns:\n * None\n\nNotes:\n * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:\n * `command` - is one of the commands listed above\n * `modifiers` - is a table containing keyboard modifiers, as specified in `hs.hotkey.bind()`\n * `key` - is a string containing the name of a keyboard key, as specified in `hs.hotkey.bind()`", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "306", + "lineno": "311", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -7682,7 +8164,7 @@ "doc": "Hide the volumes panel on the background and stop watching for volume changes\n\nParameters:\n * None\n\nReturns:\n * The MountedVolumes object", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "285", + "lineno": "290", "name": "hide", "notes": [], "parameters": [ @@ -7701,7 +8183,7 @@ "doc": "Display the volumes panel on the background and update it as volumes are mounted and unmounted.\n\nParameters:\n * None\n\nReturns:\n * The MountedVolumes object\n\nNotes:\n * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed.", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "263", + "lineno": "268", "name": "show", "notes": [ " * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed." @@ -7723,7 +8205,7 @@ "desc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`", "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "249", + "lineno": "254", "name": "backgroundBorder", "signature": "MountedVolumes.backgroundBorder", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7734,7 +8216,7 @@ "desc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`", "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "242", + "lineno": "247", "name": "backgroundColor", "signature": "MountedVolumes.backgroundColor", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7743,12 +8225,15 @@ { "def": "MountedVolumes.capacityColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "205", + "lineno": "206", "name": "capacityColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.capacityColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -7756,7 +8241,7 @@ "desc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.", "doc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "235", + "lineno": "240", "name": "checkInterval", "signature": "MountedVolumes.checkInterval", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7767,7 +8252,7 @@ "desc": "A number, default 5, specifying how rounded the corners of the volume list background should be.", "doc": "A number, default 5, specifying how rounded the corners of the volume list background should be.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "256", + "lineno": "261", "name": "cornerRadius", "signature": "MountedVolumes.cornerRadius", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7776,56 +8261,78 @@ { "def": "MountedVolumes.enableEjectButton", "desc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.", - "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "198", "name": "enableEjectButton", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.enableEjectButton", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.freeColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "212", + "lineno": "214", "name": "freeColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.freeColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.growsDownwards", "desc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.", - "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\n\nNotes:\n * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "227", + "lineno": "231", "name": "growsDownwards", + "notes": [ + " * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.growsDownwards", - "stripped_doc": "Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.location", "desc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.", - "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\nSee also `MountedValues.growsDownwards`.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\n\nNotes:\n * See also `MountedValues.growsDownwards`.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "219", + "lineno": "222", "name": "location", + "notes": [ + " * See also `MountedValues.growsDownwards`.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.location", - "stripped_doc": "See also `MountedValues.growsDownwards`.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.textStyle", "desc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:", - "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\n {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\nNotes:\n * {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "181", "name": "textStyle", + "notes": [ + " * {", + " font = { name = \"Menlo\", size = 10 },", + " color = { alpha = 1.0 },", + " paragraphStyle = { alignment = \"center\" },", + " }", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.textStyle", - "stripped_doc": " {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -7848,7 +8355,7 @@ "desc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`", "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "249", + "lineno": "254", "name": "backgroundBorder", "signature": "MountedVolumes.backgroundBorder", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7859,7 +8366,7 @@ "desc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`", "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "242", + "lineno": "247", "name": "backgroundColor", "signature": "MountedVolumes.backgroundColor", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7871,7 +8378,7 @@ "doc": "Binds hotkeys for MountedVolumes\n\nParameters:\n * `mapping` - A table containing hotkey modifier/key details for one or more of the following commands:\n * \"show\" - Show the volume list\n * \"hide\" - Hide the volume list\n * \"toggle\" - If the volume list is visible then hide it; otherwise show the list.\n\nReturns:\n * None\n\nNotes:\n * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:\n * `command` - is one of the commands listed above\n * `modifiers` - is a table containing keyboard modifiers, as specified in `hs.hotkey.bind()`\n * `key` - is a string containing the name of a keyboard key, as specified in `hs.hotkey.bind()`", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "306", + "lineno": "311", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -7892,12 +8399,15 @@ { "def": "MountedVolumes.capacityColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "205", + "lineno": "206", "name": "capacityColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.capacityColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -7905,7 +8415,7 @@ "desc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.", "doc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "235", + "lineno": "240", "name": "checkInterval", "signature": "MountedVolumes.checkInterval", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7916,7 +8426,7 @@ "desc": "A number, default 5, specifying how rounded the corners of the volume list background should be.", "doc": "A number, default 5, specifying how rounded the corners of the volume list background should be.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "256", + "lineno": "261", "name": "cornerRadius", "signature": "MountedVolumes.cornerRadius", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -7925,34 +8435,44 @@ { "def": "MountedVolumes.enableEjectButton", "desc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.", - "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "198", "name": "enableEjectButton", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.enableEjectButton", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.freeColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "212", + "lineno": "214", "name": "freeColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.freeColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.growsDownwards", "desc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.", - "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\n\nNotes:\n * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "227", + "lineno": "231", "name": "growsDownwards", + "notes": [ + " * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.growsDownwards", - "stripped_doc": "Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -7961,7 +8481,7 @@ "doc": "Hide the volumes panel on the background and stop watching for volume changes\n\nParameters:\n * None\n\nReturns:\n * The MountedVolumes object", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "285", + "lineno": "290", "name": "hide", "notes": [], "parameters": [ @@ -7977,12 +8497,16 @@ { "def": "MountedVolumes.location", "desc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.", - "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\nSee also `MountedValues.growsDownwards`.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\n\nNotes:\n * See also `MountedValues.growsDownwards`.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "219", + "lineno": "222", "name": "location", + "notes": [ + " * See also `MountedValues.growsDownwards`.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.location", - "stripped_doc": "See also `MountedValues.growsDownwards`.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -7991,7 +8515,7 @@ "doc": "Display the volumes panel on the background and update it as volumes are mounted and unmounted.\n\nParameters:\n * None\n\nReturns:\n * The MountedVolumes object\n\nNotes:\n * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed.", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "263", + "lineno": "268", "name": "show", "notes": [ " * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed." @@ -8009,12 +8533,20 @@ { "def": "MountedVolumes.textStyle", "desc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:", - "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\n {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\nNotes:\n * {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "181", "name": "textStyle", + "notes": [ + " * {", + " font = { name = \"Menlo\", size = 10 },", + " color = { alpha = 1.0 },", + " paragraphStyle = { alignment = \"center\" },", + " }", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], "signature": "MountedVolumes.textStyle", - "stripped_doc": " {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -8452,7 +8984,7 @@ "doc": "Binds hotkeys for PasswordGenerator\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * copy - Generate password and copy to clipboard\n * paste - Generate password and paste", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -8466,35 +8998,39 @@ { "def": "PasswordGenerator:copyPassword()", "desc": "Generates a password and copies to clipboard", - "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\n Returns:\n * The generated password", + "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\nReturns:\n * The generated password", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "172", + "lineno": "178", "name": "copyPassword", "notes": [], "parameters": [ " * None" ], - "returns": [], + "returns": [ + " * The generated password" + ], "signature": "PasswordGenerator:copyPassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { "def": "PasswordGenerator:pastePassword()", "desc": "Generates a password and types it", - "doc": "Generates a password and types it\n\nParameters:\n * None\n\n Returns:\n * The generated password", + "doc": "Generates a password and types it\n\nParameters:\n * None\n\nReturns:\n * The generated password", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "187", + "lineno": "193", "name": "pastePassword", "notes": [], "parameters": [ " * None" ], - "returns": [], + "returns": [ + " * The generated password" + ], "signature": "PasswordGenerator:pastePassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" } ], @@ -8546,34 +9082,45 @@ { "def": "PasswordGenerator.word_leet", "desc": "Which word number will have its word `733t` transformed.", - "doc": "Which word number will have its word `733t` transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "doc": "Which word number will have its word `733t` transformed.\n\nNotes:\n * Useful to ensure the word will at least have a one numeric value.\n * Defaults to 0", "file": "Source/PasswordGenerator.spoon/init.lua", "lineno": "123", "name": "word_leet", + "notes": [ + " * Useful to ensure the word will at least have a one numeric value.", + " * Defaults to 0" + ], "signature": "PasswordGenerator.word_leet", - "stripped_doc": "Useful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_separators", "desc": "String of separators to use between words.", - "doc": "String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "doc": "String of separators to use between words.\n\nNotes:\n * If multiple characters one will be chosen by random.\n * Used by xkcd. Default is \" _-,$\"", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "130", + "lineno": "132", "name": "word_separators", + "notes": [ + " * If multiple characters one will be chosen by random.", + " * Used by xkcd. Default is \" _-,$\"" + ], "signature": "PasswordGenerator.word_separators", - "stripped_doc": "If multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_uppercase", "desc": "Number of words to uppercase the first letter.", - "doc": "Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.", + "doc": "Number of words to uppercase the first letter.\n\nNotes:\n * Used by xkcd. Default is 1.", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "137", + "lineno": "141", "name": "word_uppercase", + "notes": [ + " * Used by xkcd. Default is 1." + ], "signature": "PasswordGenerator.word_uppercase", - "stripped_doc": "Used by xkcd. Default is 1.", + "stripped_doc": "", "type": "Variable" } ], @@ -8586,7 +9133,7 @@ "doc": "Binds hotkeys for PasswordGenerator\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * copy - Generate password and copy to clipboard\n * paste - Generate password and paste", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -8600,18 +9147,20 @@ { "def": "PasswordGenerator:copyPassword()", "desc": "Generates a password and copies to clipboard", - "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\n Returns:\n * The generated password", + "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\nReturns:\n * The generated password", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "172", + "lineno": "178", "name": "copyPassword", "notes": [], "parameters": [ " * None" ], - "returns": [], + "returns": [ + " * The generated password" + ], "signature": "PasswordGenerator:copyPassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { @@ -8650,18 +9199,20 @@ { "def": "PasswordGenerator:pastePassword()", "desc": "Generates a password and types it", - "doc": "Generates a password and types it\n\nParameters:\n * None\n\n Returns:\n * The generated password", + "doc": "Generates a password and types it\n\nParameters:\n * None\n\nReturns:\n * The generated password", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "187", + "lineno": "193", "name": "pastePassword", "notes": [], "parameters": [ " * None" ], - "returns": [], + "returns": [ + " * The generated password" + ], "signature": "PasswordGenerator:pastePassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { @@ -8678,34 +9229,45 @@ { "def": "PasswordGenerator.word_leet", "desc": "Which word number will have its word `733t` transformed.", - "doc": "Which word number will have its word `733t` transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "doc": "Which word number will have its word `733t` transformed.\n\nNotes:\n * Useful to ensure the word will at least have a one numeric value.\n * Defaults to 0", "file": "Source/PasswordGenerator.spoon/init.lua", "lineno": "123", "name": "word_leet", + "notes": [ + " * Useful to ensure the word will at least have a one numeric value.", + " * Defaults to 0" + ], "signature": "PasswordGenerator.word_leet", - "stripped_doc": "Useful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_separators", "desc": "String of separators to use between words.", - "doc": "String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "doc": "String of separators to use between words.\n\nNotes:\n * If multiple characters one will be chosen by random.\n * Used by xkcd. Default is \" _-,$\"", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "130", + "lineno": "132", "name": "word_separators", + "notes": [ + " * If multiple characters one will be chosen by random.", + " * Used by xkcd. Default is \" _-,$\"" + ], "signature": "PasswordGenerator.word_separators", - "stripped_doc": "If multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_uppercase", "desc": "Number of words to uppercase the first letter.", - "doc": "Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.", + "doc": "Number of words to uppercase the first letter.\n\nNotes:\n * Used by xkcd. Default is 1.", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "137", + "lineno": "141", "name": "word_uppercase", + "notes": [ + " * Used by xkcd. Default is 1." + ], "signature": "PasswordGenerator.word_uppercase", - "stripped_doc": "Used by xkcd. Default is 1.", + "stripped_doc": "", "type": "Variable" } ], @@ -8728,7 +9290,7 @@ "doc": "Binds hotkeys for Pastebin\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * paste - paste to Pastebin", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "364", + "lineno": "368", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -8745,7 +9307,7 @@ "doc": "Pastes an item to Pastebin using the Pastebin api\n\nParameters:\n * private - Integer specifying whether the paste should be public, private, or unlisted. Defaults to obj.private (0=public)\n * expire - String specifying the TTL for the paste. Defaults to obj.expire ('N'=never). Valid values are listed on obj.expire\n * format - String specifying the appropriate Pastebin format enum. Default is obj.format ('text'). Valid values are listed on obj.format", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "314", + "lineno": "318", "name": "paste", "notes": [], "parameters": [ @@ -8785,23 +9347,291 @@ { "def": "Pastebin.expire", "desc": "String indicating how long until the paste expires. Default is 'N' (Never)", - "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\n\nNotes:\n * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\n * N\n * 10M\n * 1H\n * 1D\n * 1W\n * 2W\n * 1M\n * 6M\n * 1Y", "file": "Source/Pastebin.spoon/init.lua", "lineno": "34", "name": "expire", + "notes": [ + " * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))", + " * N", + " * 10M", + " * 1H", + " * 1D", + " * 1W", + " * 2W", + " * 1M", + " * 6M", + " * 1Y" + ], "signature": "Pastebin.expire", - "stripped_doc": "Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "stripped_doc": "", "type": "Variable" }, { "def": "Pastebin.format", "desc": "String indicating the format of the paste. Default is 'text' (plain text). ", - "doc": "String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "doc": "String indicating the format of the paste. Default is 'text' (plain text). \n\nNotes:\n * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n * '4cs'\n * '6502acme'\n * '6502kickass'\n * '6502tasm'\n * 'abap'\n * 'actionscript'\n * 'actionscript3'\n * 'ada'\n * 'aimms'\n * 'algol68'\n * 'apache'\n * 'applescript'\n * 'apt_sources'\n * 'arm'\n * 'asm'\n * 'asp'\n * 'asymptote'\n * 'autoconf'\n * 'autohotkey'\n * 'autoit'\n * 'avisynth'\n * 'awk'\n * 'bascomavr'\n * 'bash'\n * 'basic4gl'\n * 'dos'\n * 'bibtex'\n * 'blitzbasic'\n * 'b3d'\n * 'bmx'\n * 'bnf'\n * 'boo'\n * 'bf'\n * 'c'\n * 'c_winapi'\n * 'c_mac'\n * 'cil'\n * 'csharp'\n * 'cpp'\n * 'cpp-winapi'\n * 'cpp-qt'\n * 'c_loadrunner'\n * 'caddcl'\n * 'cadlisp'\n * 'ceylon'\n * 'cfdg'\n * 'chaiscript'\n * 'chapel'\n * 'clojure'\n * 'klonec'\n * 'klonecpp'\n * 'cmake'\n * 'cobol'\n * 'coffeescript'\n * 'cfm'\n * 'css'\n * 'cuesheet'\n * 'd'\n * 'dart'\n * 'dcl'\n * 'dcpu16'\n * 'dcs'\n * 'delphi'\n * 'oxygene'\n * 'diff'\n * 'div'\n * 'dot'\n * 'e'\n * 'ezt'\n * 'ecmascript'\n * 'eiffel'\n * 'email'\n * 'epc'\n * 'erlang'\n * 'euphoria'\n * 'fsharp'\n * 'falcon'\n * 'filemaker'\n * 'fo'\n * 'f1'\n * 'fortran'\n * 'freebasic'\n * 'freeswitch'\n * 'gambas'\n * 'gml'\n * 'gdb'\n * 'genero'\n * 'genie'\n * 'gettext'\n * 'go'\n * 'groovy'\n * 'gwbasic'\n * 'haskell'\n * 'haxe'\n * 'hicest'\n * 'hq9plus'\n * 'html4strict'\n * 'html5'\n * 'icon'\n * 'idl'\n * 'ini'\n * 'inno'\n * 'intercal'\n * 'io'\n * 'ispfpanel'\n * 'j'\n * 'java'\n * 'java5'\n * 'javascript'\n * 'jcl'\n * 'jquery'\n * 'json'\n * 'julia'\n * 'kixtart'\n * 'kotlin'\n * 'latex'\n * 'ldif'\n * 'lb'\n * 'lsl2'\n * 'lisp'\n * 'llvm'\n * 'locobasic'\n * 'logtalk'\n * 'lolcode'\n * 'lotusformulas'\n * 'lotusscript'\n * 'lscript'\n * 'lua'\n * 'm68k'\n * 'magiksf'\n * 'make'\n * 'mapbasic'\n * 'markdown'\n * 'matlab'\n * 'mirc'\n * 'mmix'\n * 'modula2'\n * 'modula3'\n * '68000devpac'\n * 'mpasm'\n * 'mxml'\n * 'mysql'\n * 'nagios'\n * 'netrexx'\n * 'newlisp'\n * 'nginx'\n * 'nim'\n * 'text'\n * 'nsis'\n * 'oberon2'\n * 'objeck'\n * 'objc'\n * 'ocaml-brief'\n * 'ocaml'\n * 'octave'\n * 'oorexx'\n * 'pf'\n * 'glsl'\n * 'oobas'\n * 'oracle11'\n * 'oracle8'\n * 'oz'\n * 'parasail'\n * 'parigp'\n * 'pascal'\n * 'pawn'\n * 'pcre'\n * 'per'\n * 'perl'\n * 'perl6'\n * 'php'\n * 'php-brief'\n * 'pic16'\n * 'pike'\n * 'pixelbender'\n * 'pli'\n * 'plsql'\n * 'postgresql'\n * 'postscript'\n * 'povray'\n * 'powerbuilder'\n * 'powershell'\n * 'proftpd'\n * 'progress'\n * 'prolog'\n * 'properties'\n * 'providex'\n * 'puppet'\n * 'purebasic'\n * 'pycon'\n * 'python'\n * 'pys60'\n * 'q'\n * 'qbasic'\n * 'qml'\n * 'rsplus'\n * 'racket'\n * 'rails'\n * 'rbs'\n * 'rebol'\n * 'reg'\n * 'rexx'\n * 'robots'\n * 'rpmspec'\n * 'ruby'\n * 'gnuplot'\n * 'rust'\n * 'sas'\n * 'scala'\n * 'scheme'\n * 'scilab'\n * 'scl'\n * 'sdlbasic'\n * 'smalltalk'\n * 'smarty'\n * 'spark'\n * 'sparql'\n * 'sqf'\n * 'sql'\n * 'standardml'\n * 'stonescript'\n * 'sclang'\n * 'swift'\n * 'systemverilog'\n * 'tsql'\n * 'tcl'\n * 'teraterm'\n * 'thinbasic'\n * 'typoscript'\n * 'unicon'\n * 'uscript'\n * 'upc'\n * 'urbi'\n * 'vala'\n * 'vbnet'\n * 'vbscript'\n * 'vedit'\n * 'verilog'\n * 'vhdl'\n * 'vim'\n * 'visualprolog'\n * 'vb'\n * 'visualfoxpro'\n * 'whitespace'\n * 'whois'\n * 'winbatch'\n * 'xbasic'\n * 'xml'\n * 'xorg_conf'\n * 'xpp'\n * 'yaml'\n * 'z80'\n * 'zxbasic'", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "50", + "lineno": "52", "name": "format", + "notes": [ + " * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): ", + " * '4cs'", + " * '6502acme'", + " * '6502kickass'", + " * '6502tasm'", + " * 'abap'", + " * 'actionscript'", + " * 'actionscript3'", + " * 'ada'", + " * 'aimms'", + " * 'algol68'", + " * 'apache'", + " * 'applescript'", + " * 'apt_sources'", + " * 'arm'", + " * 'asm'", + " * 'asp'", + " * 'asymptote'", + " * 'autoconf'", + " * 'autohotkey'", + " * 'autoit'", + " * 'avisynth'", + " * 'awk'", + " * 'bascomavr'", + " * 'bash'", + " * 'basic4gl'", + " * 'dos'", + " * 'bibtex'", + " * 'blitzbasic'", + " * 'b3d'", + " * 'bmx'", + " * 'bnf'", + " * 'boo'", + " * 'bf'", + " * 'c'", + " * 'c_winapi'", + " * 'c_mac'", + " * 'cil'", + " * 'csharp'", + " * 'cpp'", + " * 'cpp-winapi'", + " * 'cpp-qt'", + " * 'c_loadrunner'", + " * 'caddcl'", + " * 'cadlisp'", + " * 'ceylon'", + " * 'cfdg'", + " * 'chaiscript'", + " * 'chapel'", + " * 'clojure'", + " * 'klonec'", + " * 'klonecpp'", + " * 'cmake'", + " * 'cobol'", + " * 'coffeescript'", + " * 'cfm'", + " * 'css'", + " * 'cuesheet'", + " * 'd'", + " * 'dart'", + " * 'dcl'", + " * 'dcpu16'", + " * 'dcs'", + " * 'delphi'", + " * 'oxygene'", + " * 'diff'", + " * 'div'", + " * 'dot'", + " * 'e'", + " * 'ezt'", + " * 'ecmascript'", + " * 'eiffel'", + " * 'email'", + " * 'epc'", + " * 'erlang'", + " * 'euphoria'", + " * 'fsharp'", + " * 'falcon'", + " * 'filemaker'", + " * 'fo'", + " * 'f1'", + " * 'fortran'", + " * 'freebasic'", + " * 'freeswitch'", + " * 'gambas'", + " * 'gml'", + " * 'gdb'", + " * 'genero'", + " * 'genie'", + " * 'gettext'", + " * 'go'", + " * 'groovy'", + " * 'gwbasic'", + " * 'haskell'", + " * 'haxe'", + " * 'hicest'", + " * 'hq9plus'", + " * 'html4strict'", + " * 'html5'", + " * 'icon'", + " * 'idl'", + " * 'ini'", + " * 'inno'", + " * 'intercal'", + " * 'io'", + " * 'ispfpanel'", + " * 'j'", + " * 'java'", + " * 'java5'", + " * 'javascript'", + " * 'jcl'", + " * 'jquery'", + " * 'json'", + " * 'julia'", + " * 'kixtart'", + " * 'kotlin'", + " * 'latex'", + " * 'ldif'", + " * 'lb'", + " * 'lsl2'", + " * 'lisp'", + " * 'llvm'", + " * 'locobasic'", + " * 'logtalk'", + " * 'lolcode'", + " * 'lotusformulas'", + " * 'lotusscript'", + " * 'lscript'", + " * 'lua'", + " * 'm68k'", + " * 'magiksf'", + " * 'make'", + " * 'mapbasic'", + " * 'markdown'", + " * 'matlab'", + " * 'mirc'", + " * 'mmix'", + " * 'modula2'", + " * 'modula3'", + " * '68000devpac'", + " * 'mpasm'", + " * 'mxml'", + " * 'mysql'", + " * 'nagios'", + " * 'netrexx'", + " * 'newlisp'", + " * 'nginx'", + " * 'nim'", + " * 'text'", + " * 'nsis'", + " * 'oberon2'", + " * 'objeck'", + " * 'objc'", + " * 'ocaml-brief'", + " * 'ocaml'", + " * 'octave'", + " * 'oorexx'", + " * 'pf'", + " * 'glsl'", + " * 'oobas'", + " * 'oracle11'", + " * 'oracle8'", + " * 'oz'", + " * 'parasail'", + " * 'parigp'", + " * 'pascal'", + " * 'pawn'", + " * 'pcre'", + " * 'per'", + " * 'perl'", + " * 'perl6'", + " * 'php'", + " * 'php-brief'", + " * 'pic16'", + " * 'pike'", + " * 'pixelbender'", + " * 'pli'", + " * 'plsql'", + " * 'postgresql'", + " * 'postscript'", + " * 'povray'", + " * 'powerbuilder'", + " * 'powershell'", + " * 'proftpd'", + " * 'progress'", + " * 'prolog'", + " * 'properties'", + " * 'providex'", + " * 'puppet'", + " * 'purebasic'", + " * 'pycon'", + " * 'python'", + " * 'pys60'", + " * 'q'", + " * 'qbasic'", + " * 'qml'", + " * 'rsplus'", + " * 'racket'", + " * 'rails'", + " * 'rbs'", + " * 'rebol'", + " * 'reg'", + " * 'rexx'", + " * 'robots'", + " * 'rpmspec'", + " * 'ruby'", + " * 'gnuplot'", + " * 'rust'", + " * 'sas'", + " * 'scala'", + " * 'scheme'", + " * 'scilab'", + " * 'scl'", + " * 'sdlbasic'", + " * 'smalltalk'", + " * 'smarty'", + " * 'spark'", + " * 'sparql'", + " * 'sqf'", + " * 'sql'", + " * 'standardml'", + " * 'stonescript'", + " * 'sclang'", + " * 'swift'", + " * 'systemverilog'", + " * 'tsql'", + " * 'tcl'", + " * 'teraterm'", + " * 'thinbasic'", + " * 'typoscript'", + " * 'unicon'", + " * 'uscript'", + " * 'upc'", + " * 'urbi'", + " * 'vala'", + " * 'vbnet'", + " * 'vbscript'", + " * 'vedit'", + " * 'verilog'", + " * 'vhdl'", + " * 'vim'", + " * 'visualprolog'", + " * 'vb'", + " * 'visualfoxpro'", + " * 'whitespace'", + " * 'whois'", + " * 'winbatch'", + " * 'xbasic'", + " * 'xml'", + " * 'xorg_conf'", + " * 'xpp'", + " * 'yaml'", + " * 'z80'", + " * 'zxbasic'" + ], "signature": "Pastebin.format", - "stripped_doc": "Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "stripped_doc": "", "type": "Variable" }, { @@ -8809,7 +9639,7 @@ "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "309", + "lineno": "313", "name": "logger", "signature": "Pastebin.logger", "stripped_doc": "", @@ -8858,7 +9688,7 @@ "doc": "Binds hotkeys for Pastebin\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * paste - paste to Pastebin", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "364", + "lineno": "368", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -8872,23 +9702,291 @@ { "def": "Pastebin.expire", "desc": "String indicating how long until the paste expires. Default is 'N' (Never)", - "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\n\nNotes:\n * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\n * N\n * 10M\n * 1H\n * 1D\n * 1W\n * 2W\n * 1M\n * 6M\n * 1Y", "file": "Source/Pastebin.spoon/init.lua", "lineno": "34", "name": "expire", + "notes": [ + " * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))", + " * N", + " * 10M", + " * 1H", + " * 1D", + " * 1W", + " * 2W", + " * 1M", + " * 6M", + " * 1Y" + ], "signature": "Pastebin.expire", - "stripped_doc": "Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "stripped_doc": "", "type": "Variable" }, { "def": "Pastebin.format", "desc": "String indicating the format of the paste. Default is 'text' (plain text). ", - "doc": "String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "doc": "String indicating the format of the paste. Default is 'text' (plain text). \n\nNotes:\n * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n * '4cs'\n * '6502acme'\n * '6502kickass'\n * '6502tasm'\n * 'abap'\n * 'actionscript'\n * 'actionscript3'\n * 'ada'\n * 'aimms'\n * 'algol68'\n * 'apache'\n * 'applescript'\n * 'apt_sources'\n * 'arm'\n * 'asm'\n * 'asp'\n * 'asymptote'\n * 'autoconf'\n * 'autohotkey'\n * 'autoit'\n * 'avisynth'\n * 'awk'\n * 'bascomavr'\n * 'bash'\n * 'basic4gl'\n * 'dos'\n * 'bibtex'\n * 'blitzbasic'\n * 'b3d'\n * 'bmx'\n * 'bnf'\n * 'boo'\n * 'bf'\n * 'c'\n * 'c_winapi'\n * 'c_mac'\n * 'cil'\n * 'csharp'\n * 'cpp'\n * 'cpp-winapi'\n * 'cpp-qt'\n * 'c_loadrunner'\n * 'caddcl'\n * 'cadlisp'\n * 'ceylon'\n * 'cfdg'\n * 'chaiscript'\n * 'chapel'\n * 'clojure'\n * 'klonec'\n * 'klonecpp'\n * 'cmake'\n * 'cobol'\n * 'coffeescript'\n * 'cfm'\n * 'css'\n * 'cuesheet'\n * 'd'\n * 'dart'\n * 'dcl'\n * 'dcpu16'\n * 'dcs'\n * 'delphi'\n * 'oxygene'\n * 'diff'\n * 'div'\n * 'dot'\n * 'e'\n * 'ezt'\n * 'ecmascript'\n * 'eiffel'\n * 'email'\n * 'epc'\n * 'erlang'\n * 'euphoria'\n * 'fsharp'\n * 'falcon'\n * 'filemaker'\n * 'fo'\n * 'f1'\n * 'fortran'\n * 'freebasic'\n * 'freeswitch'\n * 'gambas'\n * 'gml'\n * 'gdb'\n * 'genero'\n * 'genie'\n * 'gettext'\n * 'go'\n * 'groovy'\n * 'gwbasic'\n * 'haskell'\n * 'haxe'\n * 'hicest'\n * 'hq9plus'\n * 'html4strict'\n * 'html5'\n * 'icon'\n * 'idl'\n * 'ini'\n * 'inno'\n * 'intercal'\n * 'io'\n * 'ispfpanel'\n * 'j'\n * 'java'\n * 'java5'\n * 'javascript'\n * 'jcl'\n * 'jquery'\n * 'json'\n * 'julia'\n * 'kixtart'\n * 'kotlin'\n * 'latex'\n * 'ldif'\n * 'lb'\n * 'lsl2'\n * 'lisp'\n * 'llvm'\n * 'locobasic'\n * 'logtalk'\n * 'lolcode'\n * 'lotusformulas'\n * 'lotusscript'\n * 'lscript'\n * 'lua'\n * 'm68k'\n * 'magiksf'\n * 'make'\n * 'mapbasic'\n * 'markdown'\n * 'matlab'\n * 'mirc'\n * 'mmix'\n * 'modula2'\n * 'modula3'\n * '68000devpac'\n * 'mpasm'\n * 'mxml'\n * 'mysql'\n * 'nagios'\n * 'netrexx'\n * 'newlisp'\n * 'nginx'\n * 'nim'\n * 'text'\n * 'nsis'\n * 'oberon2'\n * 'objeck'\n * 'objc'\n * 'ocaml-brief'\n * 'ocaml'\n * 'octave'\n * 'oorexx'\n * 'pf'\n * 'glsl'\n * 'oobas'\n * 'oracle11'\n * 'oracle8'\n * 'oz'\n * 'parasail'\n * 'parigp'\n * 'pascal'\n * 'pawn'\n * 'pcre'\n * 'per'\n * 'perl'\n * 'perl6'\n * 'php'\n * 'php-brief'\n * 'pic16'\n * 'pike'\n * 'pixelbender'\n * 'pli'\n * 'plsql'\n * 'postgresql'\n * 'postscript'\n * 'povray'\n * 'powerbuilder'\n * 'powershell'\n * 'proftpd'\n * 'progress'\n * 'prolog'\n * 'properties'\n * 'providex'\n * 'puppet'\n * 'purebasic'\n * 'pycon'\n * 'python'\n * 'pys60'\n * 'q'\n * 'qbasic'\n * 'qml'\n * 'rsplus'\n * 'racket'\n * 'rails'\n * 'rbs'\n * 'rebol'\n * 'reg'\n * 'rexx'\n * 'robots'\n * 'rpmspec'\n * 'ruby'\n * 'gnuplot'\n * 'rust'\n * 'sas'\n * 'scala'\n * 'scheme'\n * 'scilab'\n * 'scl'\n * 'sdlbasic'\n * 'smalltalk'\n * 'smarty'\n * 'spark'\n * 'sparql'\n * 'sqf'\n * 'sql'\n * 'standardml'\n * 'stonescript'\n * 'sclang'\n * 'swift'\n * 'systemverilog'\n * 'tsql'\n * 'tcl'\n * 'teraterm'\n * 'thinbasic'\n * 'typoscript'\n * 'unicon'\n * 'uscript'\n * 'upc'\n * 'urbi'\n * 'vala'\n * 'vbnet'\n * 'vbscript'\n * 'vedit'\n * 'verilog'\n * 'vhdl'\n * 'vim'\n * 'visualprolog'\n * 'vb'\n * 'visualfoxpro'\n * 'whitespace'\n * 'whois'\n * 'winbatch'\n * 'xbasic'\n * 'xml'\n * 'xorg_conf'\n * 'xpp'\n * 'yaml'\n * 'z80'\n * 'zxbasic'", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "50", + "lineno": "52", "name": "format", + "notes": [ + " * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): ", + " * '4cs'", + " * '6502acme'", + " * '6502kickass'", + " * '6502tasm'", + " * 'abap'", + " * 'actionscript'", + " * 'actionscript3'", + " * 'ada'", + " * 'aimms'", + " * 'algol68'", + " * 'apache'", + " * 'applescript'", + " * 'apt_sources'", + " * 'arm'", + " * 'asm'", + " * 'asp'", + " * 'asymptote'", + " * 'autoconf'", + " * 'autohotkey'", + " * 'autoit'", + " * 'avisynth'", + " * 'awk'", + " * 'bascomavr'", + " * 'bash'", + " * 'basic4gl'", + " * 'dos'", + " * 'bibtex'", + " * 'blitzbasic'", + " * 'b3d'", + " * 'bmx'", + " * 'bnf'", + " * 'boo'", + " * 'bf'", + " * 'c'", + " * 'c_winapi'", + " * 'c_mac'", + " * 'cil'", + " * 'csharp'", + " * 'cpp'", + " * 'cpp-winapi'", + " * 'cpp-qt'", + " * 'c_loadrunner'", + " * 'caddcl'", + " * 'cadlisp'", + " * 'ceylon'", + " * 'cfdg'", + " * 'chaiscript'", + " * 'chapel'", + " * 'clojure'", + " * 'klonec'", + " * 'klonecpp'", + " * 'cmake'", + " * 'cobol'", + " * 'coffeescript'", + " * 'cfm'", + " * 'css'", + " * 'cuesheet'", + " * 'd'", + " * 'dart'", + " * 'dcl'", + " * 'dcpu16'", + " * 'dcs'", + " * 'delphi'", + " * 'oxygene'", + " * 'diff'", + " * 'div'", + " * 'dot'", + " * 'e'", + " * 'ezt'", + " * 'ecmascript'", + " * 'eiffel'", + " * 'email'", + " * 'epc'", + " * 'erlang'", + " * 'euphoria'", + " * 'fsharp'", + " * 'falcon'", + " * 'filemaker'", + " * 'fo'", + " * 'f1'", + " * 'fortran'", + " * 'freebasic'", + " * 'freeswitch'", + " * 'gambas'", + " * 'gml'", + " * 'gdb'", + " * 'genero'", + " * 'genie'", + " * 'gettext'", + " * 'go'", + " * 'groovy'", + " * 'gwbasic'", + " * 'haskell'", + " * 'haxe'", + " * 'hicest'", + " * 'hq9plus'", + " * 'html4strict'", + " * 'html5'", + " * 'icon'", + " * 'idl'", + " * 'ini'", + " * 'inno'", + " * 'intercal'", + " * 'io'", + " * 'ispfpanel'", + " * 'j'", + " * 'java'", + " * 'java5'", + " * 'javascript'", + " * 'jcl'", + " * 'jquery'", + " * 'json'", + " * 'julia'", + " * 'kixtart'", + " * 'kotlin'", + " * 'latex'", + " * 'ldif'", + " * 'lb'", + " * 'lsl2'", + " * 'lisp'", + " * 'llvm'", + " * 'locobasic'", + " * 'logtalk'", + " * 'lolcode'", + " * 'lotusformulas'", + " * 'lotusscript'", + " * 'lscript'", + " * 'lua'", + " * 'm68k'", + " * 'magiksf'", + " * 'make'", + " * 'mapbasic'", + " * 'markdown'", + " * 'matlab'", + " * 'mirc'", + " * 'mmix'", + " * 'modula2'", + " * 'modula3'", + " * '68000devpac'", + " * 'mpasm'", + " * 'mxml'", + " * 'mysql'", + " * 'nagios'", + " * 'netrexx'", + " * 'newlisp'", + " * 'nginx'", + " * 'nim'", + " * 'text'", + " * 'nsis'", + " * 'oberon2'", + " * 'objeck'", + " * 'objc'", + " * 'ocaml-brief'", + " * 'ocaml'", + " * 'octave'", + " * 'oorexx'", + " * 'pf'", + " * 'glsl'", + " * 'oobas'", + " * 'oracle11'", + " * 'oracle8'", + " * 'oz'", + " * 'parasail'", + " * 'parigp'", + " * 'pascal'", + " * 'pawn'", + " * 'pcre'", + " * 'per'", + " * 'perl'", + " * 'perl6'", + " * 'php'", + " * 'php-brief'", + " * 'pic16'", + " * 'pike'", + " * 'pixelbender'", + " * 'pli'", + " * 'plsql'", + " * 'postgresql'", + " * 'postscript'", + " * 'povray'", + " * 'powerbuilder'", + " * 'powershell'", + " * 'proftpd'", + " * 'progress'", + " * 'prolog'", + " * 'properties'", + " * 'providex'", + " * 'puppet'", + " * 'purebasic'", + " * 'pycon'", + " * 'python'", + " * 'pys60'", + " * 'q'", + " * 'qbasic'", + " * 'qml'", + " * 'rsplus'", + " * 'racket'", + " * 'rails'", + " * 'rbs'", + " * 'rebol'", + " * 'reg'", + " * 'rexx'", + " * 'robots'", + " * 'rpmspec'", + " * 'ruby'", + " * 'gnuplot'", + " * 'rust'", + " * 'sas'", + " * 'scala'", + " * 'scheme'", + " * 'scilab'", + " * 'scl'", + " * 'sdlbasic'", + " * 'smalltalk'", + " * 'smarty'", + " * 'spark'", + " * 'sparql'", + " * 'sqf'", + " * 'sql'", + " * 'standardml'", + " * 'stonescript'", + " * 'sclang'", + " * 'swift'", + " * 'systemverilog'", + " * 'tsql'", + " * 'tcl'", + " * 'teraterm'", + " * 'thinbasic'", + " * 'typoscript'", + " * 'unicon'", + " * 'uscript'", + " * 'upc'", + " * 'urbi'", + " * 'vala'", + " * 'vbnet'", + " * 'vbscript'", + " * 'vedit'", + " * 'verilog'", + " * 'vhdl'", + " * 'vim'", + " * 'visualprolog'", + " * 'vb'", + " * 'visualfoxpro'", + " * 'whitespace'", + " * 'whois'", + " * 'winbatch'", + " * 'xbasic'", + " * 'xml'", + " * 'xorg_conf'", + " * 'xpp'", + " * 'yaml'", + " * 'z80'", + " * 'zxbasic'" + ], "signature": "Pastebin.format", - "stripped_doc": "Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "stripped_doc": "", "type": "Variable" }, { @@ -8896,7 +9994,7 @@ "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "309", + "lineno": "313", "name": "logger", "signature": "Pastebin.logger", "stripped_doc": "", @@ -8908,7 +10006,7 @@ "doc": "Pastes an item to Pastebin using the Pastebin api\n\nParameters:\n * private - Integer specifying whether the paste should be public, private, or unlisted. Defaults to obj.private (0=public)\n * expire - String specifying the TTL for the paste. Defaults to obj.expire ('N'=never). Valid values are listed on obj.expire\n * format - String specifying the appropriate Pastebin format enum. Default is obj.format ('text'). Valid values are listed on obj.format", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "314", + "lineno": "318", "name": "paste", "notes": [], "parameters": [ @@ -8952,7 +10050,7 @@ "doc": "Binds hotkey mappings for this spoon.\n\nParameters:\n * mapping (Table) - A table with keys who's names correspond to methods of this spoon, and values that represent hotkey mappings. For example:\n * `{ toggle = { {\"cmd\", \"option\", \"ctrl\" }, \"h\" }`\n\nReturns:\n * Self", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "214", + "lineno": "216", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -8971,7 +10069,7 @@ "doc": "Tries to connect to the personal hotspot named in `PersonalHotspot.hotspotName`. If `PersonalHotspot.hotspotName` is `nil`, the first hotspot in the Wi-Fi menu will be selected, and `PersonalHotspot.hotspotName` will be assigned to the name of that hotspot. Once connected to the hotspot, the applications specified in `PersonalHotspot.appsToKill` are killed.\n\nParameters:\n * None\n\nReturns:\n * Self\n\nNotes:\n * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds.", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "137", + "lineno": "139", "name": "connect", "notes": [ " * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds." @@ -8992,7 +10090,7 @@ "doc": "If currently connected to the personal hotspot named in `PersonalHotspot.hotspotName`, this method will disconnect from that hotspot and open the applications specified in `PersonalHostspot.appsToKill`.\n\nParameters:\n * None\n\nReturns:\n * Self", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "170", + "lineno": "172", "name": "disconnect", "notes": [], "parameters": [ @@ -9011,7 +10109,7 @@ "doc": "Toggles personal hotspot connection.\n\nParameters:\n * None\n\nReturns:\n * Self\n\nNotes:\n * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`.", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "192", + "lineno": "194", "name": "toggle", "notes": [ " * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`." @@ -9031,23 +10129,31 @@ { "def": "PersonalHotspot.appsToKill (List)", "desc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.", - "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nEach string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nNotes:\n * Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", "file": "Source/PersonalHotspot.spoon/init.lua", "lineno": "116", "name": "appsToKill", + "notes": [ + " * Each string should be either:", + " * a bundle ID string as per `hs.application:bundleID()`, or", + " * an application name string as per `hs.application:name()`." + ], "signature": "PersonalHotspot.appsToKill (List)", - "stripped_doc": "Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "stripped_doc": "", "type": "Variable" }, { "def": "PersonalHotspot.hotspotName (String)", "desc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".", - "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nYou can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nNotes:\n * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "125", + "lineno": "126", "name": "hotspotName", + "notes": [ + " * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading." + ], "signature": "PersonalHotspot.hotspotName (String)", - "stripped_doc": "You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "stripped_doc": "", "type": "Variable" }, { @@ -9055,7 +10161,7 @@ "desc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "doc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "132", + "lineno": "134", "name": "timeout", "signature": "PersonalHotspot.timeout (Number)", "stripped_doc": "", @@ -9068,12 +10174,17 @@ { "def": "PersonalHotspot.appsToKill (List)", "desc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.", - "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nEach string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nNotes:\n * Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", "file": "Source/PersonalHotspot.spoon/init.lua", "lineno": "116", "name": "appsToKill", + "notes": [ + " * Each string should be either:", + " * a bundle ID string as per `hs.application:bundleID()`, or", + " * an application name string as per `hs.application:name()`." + ], "signature": "PersonalHotspot.appsToKill (List)", - "stripped_doc": "Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "stripped_doc": "", "type": "Variable" }, { @@ -9082,7 +10193,7 @@ "doc": "Binds hotkey mappings for this spoon.\n\nParameters:\n * mapping (Table) - A table with keys who's names correspond to methods of this spoon, and values that represent hotkey mappings. For example:\n * `{ toggle = { {\"cmd\", \"option\", \"ctrl\" }, \"h\" }`\n\nReturns:\n * Self", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "214", + "lineno": "216", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -9101,7 +10212,7 @@ "doc": "Tries to connect to the personal hotspot named in `PersonalHotspot.hotspotName`. If `PersonalHotspot.hotspotName` is `nil`, the first hotspot in the Wi-Fi menu will be selected, and `PersonalHotspot.hotspotName` will be assigned to the name of that hotspot. Once connected to the hotspot, the applications specified in `PersonalHotspot.appsToKill` are killed.\n\nParameters:\n * None\n\nReturns:\n * Self\n\nNotes:\n * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds.", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "137", + "lineno": "139", "name": "connect", "notes": [ " * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds." @@ -9122,7 +10233,7 @@ "doc": "If currently connected to the personal hotspot named in `PersonalHotspot.hotspotName`, this method will disconnect from that hotspot and open the applications specified in `PersonalHostspot.appsToKill`.\n\nParameters:\n * None\n\nReturns:\n * Self", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "170", + "lineno": "172", "name": "disconnect", "notes": [], "parameters": [ @@ -9138,12 +10249,15 @@ { "def": "PersonalHotspot.hotspotName (String)", "desc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".", - "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nYou can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nNotes:\n * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "125", + "lineno": "126", "name": "hotspotName", + "notes": [ + " * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading." + ], "signature": "PersonalHotspot.hotspotName (String)", - "stripped_doc": "You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "stripped_doc": "", "type": "Variable" }, { @@ -9151,7 +10265,7 @@ "desc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "doc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "132", + "lineno": "134", "name": "timeout", "signature": "PersonalHotspot.timeout (Number)", "stripped_doc": "", @@ -9163,7 +10277,7 @@ "doc": "Toggles personal hotspot connection.\n\nParameters:\n * None\n\nReturns:\n * Self\n\nNotes:\n * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`.", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "192", + "lineno": "194", "name": "toggle", "notes": [ " * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`." @@ -9195,8 +10309,19 @@ { "def": "PopupTranslateSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for PopupTranslateSelection", - "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nSample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", - "examples": [], + "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nExamples:\n * Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "examples": [ + " * Sample value for `mapping`:", + "```", + " {", + " translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },", + " translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " }", + "```" + ], "file": "Source/PopupTranslateSelection.spoon/init.lua", "lineno": "112", "name": "bindHotkeys", @@ -9206,7 +10331,7 @@ ], "returns": [], "signature": "PopupTranslateSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -9303,8 +10428,19 @@ { "def": "PopupTranslateSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for PopupTranslateSelection", - "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nSample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", - "examples": [], + "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nExamples:\n * Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "examples": [ + " * Sample value for `mapping`:", + "```", + " {", + " translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },", + " translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " }", + "```" + ], "file": "Source/PopupTranslateSelection.spoon/init.lua", "lineno": "112", "name": "bindHotkeys", @@ -9314,7 +10450,7 @@ ], "returns": [], "signature": "PopupTranslateSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -9422,7 +10558,7 @@ "doc": "Starts menu and key watcher\n\nParameters:\n * None", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "130", + "lineno": "134", "name": "init", "notes": [], "parameters": [ @@ -9439,7 +10575,7 @@ "doc": "Stops PushToTalk\n\nParameters:\n * None", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "150", + "lineno": "154", "name": "stop", "notes": [], "parameters": [ @@ -9456,7 +10592,7 @@ "doc": "Cycle states in order\n\nParameters:\n * states - A array of states to toggle. For example: `{'push-to-talk', 'release-to-talk'}`", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "162", + "lineno": "166", "name": "toggleStates", "notes": [], "parameters": [ @@ -9472,23 +10608,29 @@ { "def": "PushToTalk.app_switcher", "desc": "Takes mapping from application name to mic state.", - "doc": "Takes mapping from application name to mic state.\nFor example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "doc": "Takes mapping from application name to mic state.\n\nNotes:\n * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", "file": "Source/PushToTalk.spoon/init.lua", "lineno": "35", "name": "app_switcher", + "notes": [ + " * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts." + ], "signature": "PushToTalk.app_switcher", - "stripped_doc": "For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "stripped_doc": "", "type": "Variable" }, { "def": "PushToTalk.detect_on_start", "desc": "Check running applications when starting PushToTalk.", - "doc": "Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "doc": "Check running applications when starting PushToTalk.\n\nNotes:\n * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "41", + "lineno": "43", "name": "detect_on_start", + "notes": [ + " * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters." + ], "signature": "PushToTalk.detect_on_start", - "stripped_doc": "Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "stripped_doc": "", "type": "Variable" } ], @@ -9498,23 +10640,29 @@ { "def": "PushToTalk.app_switcher", "desc": "Takes mapping from application name to mic state.", - "doc": "Takes mapping from application name to mic state.\nFor example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "doc": "Takes mapping from application name to mic state.\n\nNotes:\n * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", "file": "Source/PushToTalk.spoon/init.lua", "lineno": "35", "name": "app_switcher", + "notes": [ + " * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts." + ], "signature": "PushToTalk.app_switcher", - "stripped_doc": "For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "stripped_doc": "", "type": "Variable" }, { "def": "PushToTalk.detect_on_start", "desc": "Check running applications when starting PushToTalk.", - "doc": "Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "doc": "Check running applications when starting PushToTalk.\n\nNotes:\n * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "41", + "lineno": "43", "name": "detect_on_start", + "notes": [ + " * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters." + ], "signature": "PushToTalk.detect_on_start", - "stripped_doc": "Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "stripped_doc": "", "type": "Variable" }, { @@ -9523,7 +10671,7 @@ "doc": "Starts menu and key watcher\n\nParameters:\n * None", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "130", + "lineno": "134", "name": "init", "notes": [], "parameters": [ @@ -9540,7 +10688,7 @@ "doc": "Stops PushToTalk\n\nParameters:\n * None", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "150", + "lineno": "154", "name": "stop", "notes": [], "parameters": [ @@ -9557,7 +10705,7 @@ "doc": "Cycle states in order\n\nParameters:\n * states - A array of states to toggle. For example: `{'push-to-talk', 'release-to-talk'}`", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "162", + "lineno": "166", "name": "toggleStates", "notes": [], "parameters": [ @@ -9585,12 +10733,20 @@ { "def": "RecursiveBinder.recursiveBind(keymap)", "desc": "Bind sequential keys by a nested keymap.", - "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNote:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\n\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNotes:\n * Spec of keymap:\n * Every key is of format {{modifers}, key, (optional) description}\n * The first two element is what you usually pass into a hs.hotkey.bind() function.\n * Each value of key can be in two form:\n 1. A function. Then pressing the key invokes the function\n 2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "225", + "lineno": "229", "name": "recursiveBind", - "notes": [], + "notes": [ + " * Spec of keymap:", + " * Every key is of format {{modifers}, key, (optional) description}", + " * The first two element is what you usually pass into a hs.hotkey.bind() function.", + " * Each value of key can be in two form:", + " 1. A function. Then pressing the key invokes the function", + " 2. A table. Then pressing the key bring to another layer of keybindings.", + " And the table have the same format of top table: keys to keys, value to table or function" + ], "parameters": [ " * keymap - A table that specifies the mapping." ], @@ -9598,7 +10754,7 @@ " * A function to start. Bind it to a initial key binding." ], "signature": "RecursiveBinder.recursiveBind(keymap)", - "stripped_doc": "Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "stripped_doc": "", "type": "Method" }, { @@ -9607,7 +10763,7 @@ "doc": "this function simply return a table with empty modifiers also it translates capital letters to normal letter with shift modifer\n\nParameters:\n * key - a letter\n * name - the description to pass to the keys binding function\n\nReturns:\n * a table of modifiers and keys and names, ready to be used in keymap\n to pass to RecursiveBinder.recursiveBind()", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "133", + "lineno": "137", "name": "singleKey", "notes": [], "parameters": [ @@ -9660,23 +10816,37 @@ { "def": "RecursiveBinder.helperFormat", "desc": "format of helper, the helper is just a hs.alert", - "doc": "format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "doc": "format of helper, the helper is just a hs.alert\n\nNotes:\n * default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", "file": "Source/RecursiveBinder.spoon/init.lua", "lineno": "35", "name": "helperFormat", + "notes": [ + " * default to {atScreenEdge=2,", + " strokeColor={ white = 0, alpha = 2 },", + " textFont='SF Mono'", + " textSize=20}" + ], "signature": "RecursiveBinder.helperFormat", - "stripped_doc": "default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.helperModifierMapping()", "desc": "The mapping used to display modifiers on helper.", - "doc": "The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "doc": "The mapping used to display modifiers on helper.\n\nNotes:\n * Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "52", + "lineno": "54", "name": "helperModifierMapping", + "notes": [ + " * Default to {", + " command = '⌘',", + " control = '⌃',", + " option = '⌥',", + " shift = '⇧',", + "}" + ], "signature": "RecursiveBinder.helperModifierMapping()", - "stripped_doc": "Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "stripped_doc": "", "type": "Variable" }, { @@ -9684,7 +10854,7 @@ "desc": "whether to show helper, can be true of false", "doc": "whether to show helper, can be true of false", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "47", + "lineno": "49", "name": "showBindHelper", "signature": "RecursiveBinder.showBindHelper()", "stripped_doc": "", @@ -9730,34 +10900,56 @@ { "def": "RecursiveBinder.helperFormat", "desc": "format of helper, the helper is just a hs.alert", - "doc": "format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "doc": "format of helper, the helper is just a hs.alert\n\nNotes:\n * default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", "file": "Source/RecursiveBinder.spoon/init.lua", "lineno": "35", "name": "helperFormat", + "notes": [ + " * default to {atScreenEdge=2,", + " strokeColor={ white = 0, alpha = 2 },", + " textFont='SF Mono'", + " textSize=20}" + ], "signature": "RecursiveBinder.helperFormat", - "stripped_doc": "default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.helperModifierMapping()", "desc": "The mapping used to display modifiers on helper.", - "doc": "The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "doc": "The mapping used to display modifiers on helper.\n\nNotes:\n * Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "52", + "lineno": "54", "name": "helperModifierMapping", + "notes": [ + " * Default to {", + " command = '⌘',", + " control = '⌃',", + " option = '⌥',", + " shift = '⇧',", + "}" + ], "signature": "RecursiveBinder.helperModifierMapping()", - "stripped_doc": "Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.recursiveBind(keymap)", "desc": "Bind sequential keys by a nested keymap.", - "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNote:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\n\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNotes:\n * Spec of keymap:\n * Every key is of format {{modifers}, key, (optional) description}\n * The first two element is what you usually pass into a hs.hotkey.bind() function.\n * Each value of key can be in two form:\n 1. A function. Then pressing the key invokes the function\n 2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "225", + "lineno": "229", "name": "recursiveBind", - "notes": [], + "notes": [ + " * Spec of keymap:", + " * Every key is of format {{modifers}, key, (optional) description}", + " * The first two element is what you usually pass into a hs.hotkey.bind() function.", + " * Each value of key can be in two form:", + " 1. A function. Then pressing the key invokes the function", + " 2. A table. Then pressing the key bring to another layer of keybindings.", + " And the table have the same format of top table: keys to keys, value to table or function" + ], "parameters": [ " * keymap - A table that specifies the mapping." ], @@ -9765,7 +10957,7 @@ " * A function to start. Bind it to a initial key binding." ], "signature": "RecursiveBinder.recursiveBind(keymap)", - "stripped_doc": "Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "stripped_doc": "", "type": "Method" }, { @@ -9773,7 +10965,7 @@ "desc": "whether to show helper, can be true of false", "doc": "whether to show helper, can be true of false", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "47", + "lineno": "49", "name": "showBindHelper", "signature": "RecursiveBinder.showBindHelper()", "stripped_doc": "", @@ -9785,7 +10977,7 @@ "doc": "this function simply return a table with empty modifiers also it translates capital letters to normal letter with shift modifer\n\nParameters:\n * key - a letter\n * name - the description to pass to the keys binding function\n\nReturns:\n * a table of modifiers and keys and names, ready to be used in keymap\n to pass to RecursiveBinder.recursiveBind()", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "133", + "lineno": "137", "name": "singleKey", "notes": [], "parameters": [ @@ -10100,7 +11292,7 @@ "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": "154", + "lineno": "156", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -10119,7 +11311,7 @@ "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": "91", + "lineno": "93", "name": "loadPluginFromFile", "notes": [ " * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins", @@ -10143,7 +11335,7 @@ "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": "119", + "lineno": "121", "name": "loadPlugins", "notes": [ " * The plugins live inside the Seal.spoon directory", @@ -10166,7 +11358,7 @@ "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": "72", + "lineno": "74", "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." @@ -10187,7 +11379,7 @@ "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": "47", + "lineno": "49", "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." @@ -10208,7 +11400,7 @@ "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": "231", + "lineno": "233", "name": "show", "notes": [ " * This may be useful if you wish to show Seal in response to something other than its hotkey" @@ -10229,7 +11421,7 @@ "doc": "Starts Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "187", + "lineno": "189", "name": "start", "notes": [], "parameters": [ @@ -10248,7 +11440,7 @@ "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": "207", + "lineno": "209", "name": "stop", "notes": [ " * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)" @@ -10269,7 +11461,7 @@ "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": "249", + "lineno": "251", "name": "toggle", "notes": [], "parameters": [ @@ -10289,7 +11481,7 @@ "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": "42", + "lineno": "44", "name": "plugin_search_paths", "signature": "Seal.plugin_search_paths", "stripped_doc": "", @@ -10298,12 +11490,15 @@ { "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.\nDefaults to 0.02s (20ms).", + "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": "36", "name": "queryChangedTimerDuration", + "notes": [ + " * Defaults to 0.02s (20ms)." + ], "signature": "Seal.queryChangedTimerDuration", - "stripped_doc": "Defaults to 0.02s (20ms).", + "stripped_doc": "", "type": "Variable" } ], @@ -10316,7 +11511,7 @@ "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": "154", + "lineno": "156", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -10335,7 +11530,7 @@ "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": "91", + "lineno": "93", "name": "loadPluginFromFile", "notes": [ " * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins", @@ -10359,7 +11554,7 @@ "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": "119", + "lineno": "121", "name": "loadPlugins", "notes": [ " * The plugins live inside the Seal.spoon directory", @@ -10381,7 +11576,7 @@ "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": "42", + "lineno": "44", "name": "plugin_search_paths", "signature": "Seal.plugin_search_paths", "stripped_doc": "", @@ -10390,12 +11585,15 @@ { "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.\nDefaults to 0.02s (20ms).", + "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": "36", "name": "queryChangedTimerDuration", + "notes": [ + " * Defaults to 0.02s (20ms)." + ], "signature": "Seal.queryChangedTimerDuration", - "stripped_doc": "Defaults to 0.02s (20ms).", + "stripped_doc": "", "type": "Variable" }, { @@ -10404,7 +11602,7 @@ "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": "72", + "lineno": "74", "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." @@ -10425,7 +11623,7 @@ "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": "47", + "lineno": "49", "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." @@ -10446,7 +11644,7 @@ "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": "231", + "lineno": "233", "name": "show", "notes": [ " * This may be useful if you wish to show Seal in response to something other than its hotkey" @@ -10467,7 +11665,7 @@ "doc": "Starts Seal\n\nParameters:\n * None\n\nReturns:\n * The Seal object", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "187", + "lineno": "189", "name": "start", "notes": [], "parameters": [ @@ -10486,7 +11684,7 @@ "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": "207", + "lineno": "209", "name": "stop", "notes": [ " * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)" @@ -10507,7 +11705,7 @@ "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": "249", + "lineno": "251", "name": "toggle", "notes": [], "parameters": [ @@ -10948,12 +12146,52 @@ { "def": "Seal.plugins.useractions.actions", "desc": "", - "doc": "\nA 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 * 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\nExample 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 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```", + "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 * 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 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.", + " * 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),", + " 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": "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 * 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.\nExample 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 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```", + "stripped_doc": "", "type": "Variable" }, { @@ -10974,12 +12212,52 @@ { "def": "Seal.plugins.useractions.actions", "desc": "", - "doc": "\nA 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 * 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\nExample 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 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```", + "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 * 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 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.", + " * 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),", + " 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": "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 * 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.\nExample 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 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```", + "stripped_doc": "", "type": "Variable" }, { @@ -11066,12 +12344,44 @@ { "def": "SendToOmniFocus.actions", "desc": "Table containing application handlers for sending the current item to OmniFocus.", - "doc": "Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\n\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "doc": "Table containing application handlers for sending the current item to OmniFocus.\n\nNotes:\n * Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\n * New handlers can be registered using `SendToOmniFocus:registerApplication()`\n * Default value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", "file": "Source/SendToOmniFocus.spoon/init.lua", "lineno": "65", "name": "actions", + "notes": [ + " * Each entry's key is the application name, and its value is another table with the following keys:", + " * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".", + " * One of the following, invoked to do the actual filing:", + " * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.", + " * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.", + " * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.", + " * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).", + " * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.", + " * New handlers can be registered using `SendToOmniFocus:registerApplication()`", + " * Default value:", + "```", + " {", + " [\"Microsoft Outlook\"] = {", + " as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " },", + " Evernote = {", + " as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),", + " itemname = \"note\"", + " },", + " [\"Google Chrome\"] = {", + " apptype = \"chromeapp\",", + " itemname = \"tab\"", + " },", + " Mail = {", + " as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " }", + " }", + "```" + ], "signature": "SendToOmniFocus.actions", - "stripped_doc": "Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -11114,12 +12424,44 @@ { "def": "SendToOmniFocus.actions", "desc": "Table containing application handlers for sending the current item to OmniFocus.", - "doc": "Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\n\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "doc": "Table containing application handlers for sending the current item to OmniFocus.\n\nNotes:\n * Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\n * New handlers can be registered using `SendToOmniFocus:registerApplication()`\n * Default value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", "file": "Source/SendToOmniFocus.spoon/init.lua", "lineno": "65", "name": "actions", + "notes": [ + " * Each entry's key is the application name, and its value is another table with the following keys:", + " * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".", + " * One of the following, invoked to do the actual filing:", + " * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.", + " * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.", + " * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.", + " * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).", + " * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.", + " * New handlers can be registered using `SendToOmniFocus:registerApplication()`", + " * Default value:", + "```", + " {", + " [\"Microsoft Outlook\"] = {", + " as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " },", + " Evernote = {", + " as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),", + " itemname = \"note\"", + " },", + " [\"Google Chrome\"] = {", + " apptype = \"chromeapp\",", + " itemname = \"tab\"", + " },", + " Mail = {", + " as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " }", + " }", + "```" + ], "signature": "SendToOmniFocus.actions", - "stripped_doc": "Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -11228,7 +12570,7 @@ "doc": "Turns shade on/off\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "221", + "lineno": "220", "name": "toggleShade", "notes": [], "parameters": [ @@ -11246,14 +12588,16 @@ { "def": "Shade:bindHotkeys(map)", "desc": "Binds hotkeys for Shade", - "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", - "examples": [], + "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\n\nExamples:\n * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", + "examples": [ + " * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + ], "file": "Source/Shade.spoon/init.lua", - "lineno": "253", + "lineno": "252", "name": "bindHotkeys", "notes": [], "parameters": [ - " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic" ], "returns": [ " * None" @@ -11268,7 +12612,7 @@ "doc": "Sets up the Spoon\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "122", + "lineno": "121", "name": "init", "notes": [], "parameters": [ @@ -11287,7 +12631,7 @@ "doc": "Turn the shade on, darkening the screen\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "177", + "lineno": "176", "name": "start", "notes": [], "parameters": [ @@ -11306,7 +12650,7 @@ "doc": "Turn the shade off, brightening the screen\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "203", + "lineno": "202", "name": "stop", "notes": [], "parameters": [ @@ -11326,7 +12670,7 @@ "desc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "doc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "file": "Source/Shade.spoon/init.lua", - "lineno": "113", + "lineno": "112", "name": "shadeIsOn", "signature": "Shade.shadeIsOn", "stripped_doc": "", @@ -11334,13 +12678,13 @@ }, { "def": "Shade.shadeTransparency", - "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely", - "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.", + "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", "file": "Source/Shade.spoon/init.lua", "lineno": "86", "name": "shadeTransparency", "signature": "Shade.shadeTransparency", - "stripped_doc": "transparent to 1.0 (completely opaque). Default is 0.5.", + "stripped_doc": "", "type": "Variable" } ], @@ -11350,14 +12694,16 @@ { "def": "Shade:bindHotkeys(map)", "desc": "Binds hotkeys for Shade", - "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", - "examples": [], + "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\n\nExamples:\n * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", + "examples": [ + " * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + ], "file": "Source/Shade.spoon/init.lua", - "lineno": "253", + "lineno": "252", "name": "bindHotkeys", "notes": [], "parameters": [ - " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic" ], "returns": [ " * None" @@ -11372,7 +12718,7 @@ "doc": "Sets up the Spoon\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "122", + "lineno": "121", "name": "init", "notes": [], "parameters": [ @@ -11390,7 +12736,7 @@ "desc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "doc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "file": "Source/Shade.spoon/init.lua", - "lineno": "113", + "lineno": "112", "name": "shadeIsOn", "signature": "Shade.shadeIsOn", "stripped_doc": "", @@ -11398,13 +12744,13 @@ }, { "def": "Shade.shadeTransparency", - "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely", - "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.", + "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", "file": "Source/Shade.spoon/init.lua", "lineno": "86", "name": "shadeTransparency", "signature": "Shade.shadeTransparency", - "stripped_doc": "transparent to 1.0 (completely opaque). Default is 0.5.", + "stripped_doc": "", "type": "Variable" }, { @@ -11413,7 +12759,7 @@ "doc": "Turn the shade on, darkening the screen\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "177", + "lineno": "176", "name": "start", "notes": [], "parameters": [ @@ -11432,7 +12778,7 @@ "doc": "Turn the shade off, brightening the screen\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "203", + "lineno": "202", "name": "stop", "notes": [], "parameters": [ @@ -11451,7 +12797,7 @@ "doc": "Turns shade on/off\n\nParameters:\n * None\n\nReturns:\n * None", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "221", + "lineno": "220", "name": "toggleShade", "notes": [], "parameters": [ @@ -11484,7 +12830,7 @@ "doc": "Binds hotkeys for SleepCorners\n\nParameters:\n * `mapping` - A table containing hotkey modifier/key details for one or more of the following commands:\n * \"start\" - start monitoring the defined corners\n * \"stop\" - stop monitoring the defined corners\n * \"toggle\" - toggles monitoring on or off\n * \"show\" - shows the current corners for 3 seconds as a reminder of their assigned locations\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:\n * `command` - is one of the commands listed above\n * `modifiers` - is a table containing keyboard modifiers, as specified in `hs.hotkey.bind()`\n * `key` - is a string containing the name of a keyboard key, as specified in `hs.hotkey.bind()`", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "634", + "lineno": "632", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -11508,7 +12854,7 @@ "doc": "Returns whether or not the sleep corners are currently active\n\nParameters:\n * None\n\nReturns:\n * `true` if the sleep corners are currently active or `false` if they are not\n\nNotes:\n * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).\n * If you want to check to see if SleepCorners has been started and that at least one of the corners is assigned to a corner, you should use something like `SleepCorners:isActive() and (SleepCorners.sleepNowCorner ~= \"*\" or SleepCorners.neverSleepCorner ~= \"*\")`", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "460", + "lineno": "458", "name": "isActive", "notes": [ " * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).", @@ -11530,7 +12876,7 @@ "doc": "Temporarily show the SleepCorner feedback images in their current locations as a reminder of their positions on the screen.\n\nParameters:\n * `duration` - an optional number, default 3, specifying the number of seconds the feedback images should be displayed. If you specify `false` and the feedback images are currently being shown, the timer will be cur short and the images will be removed immediately.\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started).", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "582", + "lineno": "580", "name": "show", "notes": [ " * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started)." @@ -11551,7 +12897,7 @@ "doc": "Starts monitoring the defined sleep corners to allow triggering or preventing the system display sleep state.\n\nParameters:\n * None\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * has no effect if SleepCorners has already been started", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "480", + "lineno": "478", "name": "start", "notes": [ " * has no effect if SleepCorners has already been started" @@ -11572,7 +12918,7 @@ "doc": "Stop monitoring the defined sleep corners.\n\nParameters:\n * None\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * has no effect if SleepCorners has already been stopped\n * if SleepCorners was active, this method will return the display idle sleep setting back to its previous state and reset the never sleep lock if it has been triggered.", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "510", + "lineno": "508", "name": "stop", "notes": [ " * has no effect if SleepCorners has already been stopped", @@ -11594,7 +12940,7 @@ "doc": "Toggles or sets whether or not SleepCorners is currently monitoring the defined screen corners for managing the system display's sleep state and displays an alert indicating the new state of the SleepCorners spoon.\n\nParameters:\n * `state` - an optional boolean which specifies specifically whether SleepCorners should be started if it isn't already running (true) or stopped if it currently is running (false)\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.\n * `SleepCorners:toggle(true)` is equivalent to [SleepCorners:start()](#start) with the addition of displaying an alert specifying that SleepCorners is active.\n * `SleepCorners:toggle(false)` is equivalent to [SleepCorners:stop()](#stop) with the addition of displaying an alert specifying that SleepCorners has been deactivated.", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "546", + "lineno": "544", "name": "toggle", "notes": [ " * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.", @@ -11627,23 +12973,36 @@ { "def": "SleepCorners.immediateSleepModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nThis variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", "file": "Source/SleepCorners.spoon/init.lua", "lineno": "120", "name": "immediateSleepModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect." + ], "signature": "SleepCorners.immediateSleepModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "stripped_doc": "", "type": "Variable" }, { "def": "SleepCorners.immediateSleepShouldLock", "desc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.", - "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nWhen this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "144", + "lineno": "143", "name": "immediateSleepShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], "signature": "SleepCorners.immediateSleepShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -11660,12 +13019,21 @@ { "def": "SleepCorners.neverSleepLockModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nThis variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "153", + "lineno": "152", "name": "neverSleepLockModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered." + ], "signature": "SleepCorners.neverSleepLockModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "stripped_doc": "", "type": "Variable" }, { @@ -11704,12 +13072,16 @@ { "def": "SleepCorners.sleepNowShouldLock", "desc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.", - "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nWhen this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "135", + "lineno": "134", "name": "sleepNowShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], "signature": "SleepCorners.sleepNowShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -11744,7 +13116,7 @@ "doc": "Binds hotkeys for SleepCorners\n\nParameters:\n * `mapping` - A table containing hotkey modifier/key details for one or more of the following commands:\n * \"start\" - start monitoring the defined corners\n * \"stop\" - stop monitoring the defined corners\n * \"toggle\" - toggles monitoring on or off\n * \"show\" - shows the current corners for 3 seconds as a reminder of their assigned locations\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:\n * `command` - is one of the commands listed above\n * `modifiers` - is a table containing keyboard modifiers, as specified in `hs.hotkey.bind()`\n * `key` - is a string containing the name of a keyboard key, as specified in `hs.hotkey.bind()`", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "634", + "lineno": "632", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -11776,23 +13148,36 @@ { "def": "SleepCorners.immediateSleepModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nThis variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", "file": "Source/SleepCorners.spoon/init.lua", "lineno": "120", "name": "immediateSleepModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect." + ], "signature": "SleepCorners.immediateSleepModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "stripped_doc": "", "type": "Variable" }, { "def": "SleepCorners.immediateSleepShouldLock", "desc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.", - "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nWhen this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "144", + "lineno": "143", "name": "immediateSleepShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], "signature": "SleepCorners.immediateSleepShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -11801,7 +13186,7 @@ "doc": "Returns whether or not the sleep corners are currently active\n\nParameters:\n * None\n\nReturns:\n * `true` if the sleep corners are currently active or `false` if they are not\n\nNotes:\n * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).\n * If you want to check to see if SleepCorners has been started and that at least one of the corners is assigned to a corner, you should use something like `SleepCorners:isActive() and (SleepCorners.sleepNowCorner ~= \"*\" or SleepCorners.neverSleepCorner ~= \"*\")`", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "460", + "lineno": "458", "name": "isActive", "notes": [ " * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).", @@ -11831,12 +13216,21 @@ { "def": "SleepCorners.neverSleepLockModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nThis variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "153", + "lineno": "152", "name": "neverSleepLockModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered." + ], "signature": "SleepCorners.neverSleepLockModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "stripped_doc": "", "type": "Variable" }, { @@ -11856,7 +13250,7 @@ "doc": "Temporarily show the SleepCorner feedback images in their current locations as a reminder of their positions on the screen.\n\nParameters:\n * `duration` - an optional number, default 3, specifying the number of seconds the feedback images should be displayed. If you specify `false` and the feedback images are currently being shown, the timer will be cur short and the images will be removed immediately.\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started).", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "582", + "lineno": "580", "name": "show", "notes": [ " * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started)." @@ -11896,12 +13290,16 @@ { "def": "SleepCorners.sleepNowShouldLock", "desc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.", - "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nWhen this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "135", + "lineno": "134", "name": "sleepNowShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], "signature": "SleepCorners.sleepNowShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -11921,7 +13319,7 @@ "doc": "Starts monitoring the defined sleep corners to allow triggering or preventing the system display sleep state.\n\nParameters:\n * None\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * has no effect if SleepCorners has already been started", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "480", + "lineno": "478", "name": "start", "notes": [ " * has no effect if SleepCorners has already been started" @@ -11942,7 +13340,7 @@ "doc": "Stop monitoring the defined sleep corners.\n\nParameters:\n * None\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * has no effect if SleepCorners has already been stopped\n * if SleepCorners was active, this method will return the display idle sleep setting back to its previous state and reset the never sleep lock if it has been triggered.", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "510", + "lineno": "508", "name": "stop", "notes": [ " * has no effect if SleepCorners has already been stopped", @@ -11964,7 +13362,7 @@ "doc": "Toggles or sets whether or not SleepCorners is currently monitoring the defined screen corners for managing the system display's sleep state and displays an alert indicating the new state of the SleepCorners spoon.\n\nParameters:\n * `state` - an optional boolean which specifies specifically whether SleepCorners should be started if it isn't already running (true) or stopped if it currently is running (false)\n\nReturns:\n * the SleepCorners spoon object\n\nNotes:\n * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.\n * `SleepCorners:toggle(true)` is equivalent to [SleepCorners:start()](#start) with the addition of displaying an alert specifying that SleepCorners is active.\n * `SleepCorners:toggle(false)` is equivalent to [SleepCorners:stop()](#stop) with the addition of displaying an alert specifying that SleepCorners has been deactivated.", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "546", + "lineno": "544", "name": "toggle", "notes": [ " * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.", @@ -12065,7 +13463,7 @@ "doc": "Declaratively install, load and configure a Spoon\n\nParameters:\n * name - the name of the Spoon to install (without the `.spoon` extension). If the Spoon is already installed, it will be loaded using `hs.loadSpoon()`. If it is not installed, it will be installed using `SpoonInstall:asyncInstallSpoonFromRepo()` and then loaded.\n * arg - if provided, can be used to specify the configuration of the Spoon. The following keys are recognized (all are optional):\n * repo - repository from where the Spoon should be installed if not present in the system, as defined in `SpoonInstall.repos`. Defaults to `\"default\"`.\n * config - a table containing variables to be stored in the Spoon object to configure it. For example, `config = { answer = 42 }` will result in `spoon..answer` being set to 42.\n * hotkeys - a table containing hotkey bindings. If provided, will be passed as-is to the Spoon's `bindHotkeys()` method. The special string `\"default\"` can be given to use the Spoons `defaultHotkeys` variable, if it exists.\n * fn - a function which will be called with the freshly-loaded Spoon object as its first argument.\n * loglevel - if the Spoon has a variable called `logger`, its `setLogLevel()` method will be called with this value.\n * start - if `true`, call the Spoon's `start()` method after configuring everything else.\n * disable - if `true`, do nothing. Easier than commenting it out when you want to temporarily disable a spoon.\n\nReturns:\n * None", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "388", + "lineno": "387", "name": "andUse", "notes": [], "parameters": [ @@ -12085,7 +13483,7 @@ "doc": "Asynchronously install a Spoon from a registered repository\n\nParameters:\n * name - Name of the Spoon to install.\n * repo - Name of the repository to use. Defaults to `\"default\"`\n * callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:\n * urlparts - Result of calling `hs.http.urlParts` on the URL of the Spoon zip file\n * success - boolean indicating whether the installation was successful\n\nReturns:\n * `true` if the installation was correctly initiated (i.e. the repo and spoon name were correct), `false` otherwise.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "349", + "lineno": "348", "name": "asyncInstallSpoonFromRepo", "notes": [], "parameters": [ @@ -12106,7 +13504,7 @@ "doc": "Asynchronously download a Spoon zip file and install it.\n\nParameters:\n * url - URL of the zip file to install.\n * callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:\n * urlparts - Result of calling `hs.http.urlParts` on the URL of the Spoon zip file\n * success - boolean indicating whether the installation was successful\n\nReturns:\n * `true` if the installation was correctly initiated (i.e. the URL is valid), `false` otherwise", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "286", + "lineno": "285", "name": "asyncInstallSpoonFromZipURL", "notes": [], "parameters": [ @@ -12126,7 +13524,7 @@ "doc": "Asynchronously fetch the information about the contents of all Spoon repositories registered in `SpoonInstall.repos`\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "160", + "lineno": "159", "name": "asyncUpdateAllRepos", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -12147,7 +13545,7 @@ "doc": "Asynchronously fetch the information about the contents of a Spoon repository\n\nParameters:\n * repo - name of the repository to update. Defaults to `\"default\"`.\n * callback - if given, a function to be called after the update finishes (also if it fails). The function will receive the following arguments:\n * repo - name of the repository\n * success - boolean indicating whether the update succeeded\n\nReturns:\n * `true` if the update was correctly initiated (i.e. the repo name is valid), `nil` otherwise\n\nNotes:\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "112", + "lineno": "111", "name": "asyncUpdateRepo", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -12169,7 +13567,7 @@ "doc": "Synchronously install a Spoon from a registered repository\n\nParameters:\n * name = Name of the Spoon to install.\n * repo - Name of the repository to use. Defaults to `\"default\"`\n\nReturns:\n * `true` if the installation was successful, `nil` otherwise.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "370", + "lineno": "369", "name": "installSpoonFromRepo", "notes": [], "parameters": [ @@ -12189,7 +13587,7 @@ "doc": "Synchronously download a Spoon zip file and install it.\n\nParameters:\n * url - URL of the zip file to install.\n\nReturns:\n * `true` if the installation was successful, `nil` otherwise", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "310", + "lineno": "309", "name": "installSpoonFromZipURL", "notes": [], "parameters": [ @@ -12208,7 +13606,7 @@ "doc": "Return a sorted list of registered Spoon repositories\n\nParameters:\n * None\n\nReturns:\n * Table containing a list of strings with the repository identifiers", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "197", + "lineno": "196", "name": "repolist", "notes": [], "parameters": [ @@ -12227,7 +13625,7 @@ "doc": "Search repositories for a pattern\n\nParameters:\n * pat - Lua pattern that will be matched against the name and description of each spoon in the registered repositories. All text is converted to lowercase before searching it, so you can use all-lowercase in your pattern.\n\nReturns:\n * Table containing a list of matching entries. Each entry is a table with the following keys:\n * name - Spoon name\n * desc - description of the spoon\n * repo - identifier in the repository where the match was found", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "214", + "lineno": "213", "name": "search", "notes": [], "parameters": [ @@ -12249,7 +13647,7 @@ "doc": "Synchronously fetch the information about the contents of all Spoon repositories registered in `SpoonInstall.repos`\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "178", + "lineno": "177", "name": "updateAllRepos", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.", @@ -12271,7 +13669,7 @@ "doc": "Synchronously fetch the information about the contents of a Spoon repository\n\nParameters:\n * repo - name of the repository to update. Defaults to `\"default\"`.\n\nReturns:\n * `true` if the update was successful, `nil` otherwise\n\nNotes:\n * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "137", + "lineno": "136", "name": "updateRepo", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.", @@ -12302,24 +13700,43 @@ }, { "def": "SpoonInstall.repos", - "desc": "Table containing the list of available Spoon repositories. The key", - "doc": "Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "desc": "Table containing the list of available Spoon repositories.", + "doc": "Table containing the list of available Spoon repositories.\n\nNotes:\n * The key of each entry is an identifier for the repository, and its value is a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n * Default value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "22", "name": "repos", + "notes": [ + " * The key of each entry is an identifier for the repository, and its value is a table with the following entries:", + " * desc - Human-readable description for the repository", + " * branch - Active git branch for the Spoon files", + " * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.", + " * Default value:", + "```", + "{", + " default = {", + " url = \"https://github.com/Hammerspoon/Spoons\",", + " desc = \"Main Hammerspoon Spoon repository\",", + " branch = \"master\",", + " }", + "}", + "```" + ], "signature": "SpoonInstall.repos", - "stripped_doc": "of each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "SpoonInstall.use_syncinstall", "desc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.", - "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nKeep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nNotes:\n * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "49", "name": "use_syncinstall", + "notes": [ + " * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate." + ], "signature": "SpoonInstall.use_syncinstall", - "stripped_doc": "Keep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "stripped_doc": "", "type": "Variable" } ], @@ -12332,7 +13749,7 @@ "doc": "Declaratively install, load and configure a Spoon\n\nParameters:\n * name - the name of the Spoon to install (without the `.spoon` extension). If the Spoon is already installed, it will be loaded using `hs.loadSpoon()`. If it is not installed, it will be installed using `SpoonInstall:asyncInstallSpoonFromRepo()` and then loaded.\n * arg - if provided, can be used to specify the configuration of the Spoon. The following keys are recognized (all are optional):\n * repo - repository from where the Spoon should be installed if not present in the system, as defined in `SpoonInstall.repos`. Defaults to `\"default\"`.\n * config - a table containing variables to be stored in the Spoon object to configure it. For example, `config = { answer = 42 }` will result in `spoon..answer` being set to 42.\n * hotkeys - a table containing hotkey bindings. If provided, will be passed as-is to the Spoon's `bindHotkeys()` method. The special string `\"default\"` can be given to use the Spoons `defaultHotkeys` variable, if it exists.\n * fn - a function which will be called with the freshly-loaded Spoon object as its first argument.\n * loglevel - if the Spoon has a variable called `logger`, its `setLogLevel()` method will be called with this value.\n * start - if `true`, call the Spoon's `start()` method after configuring everything else.\n * disable - if `true`, do nothing. Easier than commenting it out when you want to temporarily disable a spoon.\n\nReturns:\n * None", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "388", + "lineno": "387", "name": "andUse", "notes": [], "parameters": [ @@ -12352,7 +13769,7 @@ "doc": "Asynchronously install a Spoon from a registered repository\n\nParameters:\n * name - Name of the Spoon to install.\n * repo - Name of the repository to use. Defaults to `\"default\"`\n * callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:\n * urlparts - Result of calling `hs.http.urlParts` on the URL of the Spoon zip file\n * success - boolean indicating whether the installation was successful\n\nReturns:\n * `true` if the installation was correctly initiated (i.e. the repo and spoon name were correct), `false` otherwise.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "349", + "lineno": "348", "name": "asyncInstallSpoonFromRepo", "notes": [], "parameters": [ @@ -12373,7 +13790,7 @@ "doc": "Asynchronously download a Spoon zip file and install it.\n\nParameters:\n * url - URL of the zip file to install.\n * callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:\n * urlparts - Result of calling `hs.http.urlParts` on the URL of the Spoon zip file\n * success - boolean indicating whether the installation was successful\n\nReturns:\n * `true` if the installation was correctly initiated (i.e. the URL is valid), `false` otherwise", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "286", + "lineno": "285", "name": "asyncInstallSpoonFromZipURL", "notes": [], "parameters": [ @@ -12393,7 +13810,7 @@ "doc": "Asynchronously fetch the information about the contents of all Spoon repositories registered in `SpoonInstall.repos`\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "160", + "lineno": "159", "name": "asyncUpdateAllRepos", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -12414,7 +13831,7 @@ "doc": "Asynchronously fetch the information about the contents of a Spoon repository\n\nParameters:\n * repo - name of the repository to update. Defaults to `\"default\"`.\n * callback - if given, a function to be called after the update finishes (also if it fails). The function will receive the following arguments:\n * repo - name of the repository\n * success - boolean indicating whether the update succeeded\n\nReturns:\n * `true` if the update was correctly initiated (i.e. the repo name is valid), `nil` otherwise\n\nNotes:\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "112", + "lineno": "111", "name": "asyncUpdateRepo", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -12436,7 +13853,7 @@ "doc": "Synchronously install a Spoon from a registered repository\n\nParameters:\n * name = Name of the Spoon to install.\n * repo - Name of the repository to use. Defaults to `\"default\"`\n\nReturns:\n * `true` if the installation was successful, `nil` otherwise.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "370", + "lineno": "369", "name": "installSpoonFromRepo", "notes": [], "parameters": [ @@ -12456,7 +13873,7 @@ "doc": "Synchronously download a Spoon zip file and install it.\n\nParameters:\n * url - URL of the zip file to install.\n\nReturns:\n * `true` if the installation was successful, `nil` otherwise", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "310", + "lineno": "309", "name": "installSpoonFromZipURL", "notes": [], "parameters": [ @@ -12486,7 +13903,7 @@ "doc": "Return a sorted list of registered Spoon repositories\n\nParameters:\n * None\n\nReturns:\n * Table containing a list of strings with the repository identifiers", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "197", + "lineno": "196", "name": "repolist", "notes": [], "parameters": [ @@ -12501,13 +13918,29 @@ }, { "def": "SpoonInstall.repos", - "desc": "Table containing the list of available Spoon repositories. The key", - "doc": "Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "desc": "Table containing the list of available Spoon repositories.", + "doc": "Table containing the list of available Spoon repositories.\n\nNotes:\n * The key of each entry is an identifier for the repository, and its value is a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n * Default value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "22", "name": "repos", + "notes": [ + " * The key of each entry is an identifier for the repository, and its value is a table with the following entries:", + " * desc - Human-readable description for the repository", + " * branch - Active git branch for the Spoon files", + " * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.", + " * Default value:", + "```", + "{", + " default = {", + " url = \"https://github.com/Hammerspoon/Spoons\",", + " desc = \"Main Hammerspoon Spoon repository\",", + " branch = \"master\",", + " }", + "}", + "```" + ], "signature": "SpoonInstall.repos", - "stripped_doc": "of each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -12516,7 +13949,7 @@ "doc": "Search repositories for a pattern\n\nParameters:\n * pat - Lua pattern that will be matched against the name and description of each spoon in the registered repositories. All text is converted to lowercase before searching it, so you can use all-lowercase in your pattern.\n\nReturns:\n * Table containing a list of matching entries. Each entry is a table with the following keys:\n * name - Spoon name\n * desc - description of the spoon\n * repo - identifier in the repository where the match was found", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "214", + "lineno": "213", "name": "search", "notes": [], "parameters": [ @@ -12538,7 +13971,7 @@ "doc": "Synchronously fetch the information about the contents of all Spoon repositories registered in `SpoonInstall.repos`\n\nParameters:\n * None\n\nReturns:\n * None\n\nNotes:\n * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "178", + "lineno": "177", "name": "updateAllRepos", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.", @@ -12560,7 +13993,7 @@ "doc": "Synchronously fetch the information about the contents of a Spoon repository\n\nParameters:\n * repo - name of the repository to update. Defaults to `\"default\"`.\n\nReturns:\n * `true` if the update was successful, `nil` otherwise\n\nNotes:\n * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.\n * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "137", + "lineno": "136", "name": "updateRepo", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.", @@ -12579,12 +14012,15 @@ { "def": "SpoonInstall.use_syncinstall", "desc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.", - "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nKeep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nNotes:\n * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "49", "name": "use_syncinstall", + "notes": [ + " * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate." + ], "signature": "SpoonInstall.use_syncinstall", - "stripped_doc": "Keep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "stripped_doc": "", "type": "Variable" } ], @@ -12607,7 +14043,7 @@ "doc": "Binds hotkeys for TextClipboardHistory\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * show_clipboard - Display the clipboard history chooser\n * toggle_clipboard - Show/hide the clipboard history chooser", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "331", + "lineno": "337", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -12624,7 +14060,7 @@ "doc": "If the pasteboard has changed, we add the current item to our history and update the counter\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "252", + "lineno": "258", "name": "checkAndStorePasteboard", "notes": [], "parameters": [ @@ -12641,7 +14077,7 @@ "doc": "Clears the clipboard and history\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "clearAll", "notes": [], "parameters": [ @@ -12658,7 +14094,7 @@ "doc": "Clears the last added to the history\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "156", + "lineno": "162", "name": "clearLastItem", "notes": [], "parameters": [ @@ -12675,7 +14111,7 @@ "doc": "Add the given string to the history\n\nParameters:\n * item - string to add to the clipboard history\n\nReturns:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "184", + "lineno": "190", "name": "pasteboardToClipboard", "notes": [], "parameters": [ @@ -12694,7 +14130,7 @@ "doc": "Verify whether the pasteboard contents matches one of the values in `TextClipboardHistory.ignoredIdentifiers`\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "226", + "lineno": "232", "name": "shouldBeStored", "notes": [], "parameters": [ @@ -12711,7 +14147,7 @@ "doc": "Display the current clipboard list in a chooser\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "301", + "lineno": "307", "name": "showClipboard", "notes": [], "parameters": [ @@ -12728,7 +14164,7 @@ "doc": "Start the clipboard history collector\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "279", + "lineno": "285", "name": "start", "notes": [], "parameters": [ @@ -12745,7 +14181,7 @@ "doc": "Show/hide the clipboard list, depending on its current state\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "317", + "lineno": "323", "name": "toggleClipboard", "notes": [], "parameters": [ @@ -12762,7 +14198,7 @@ "doc": "Toggle the value of `TextClipboardHistory.paste_on_select`\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "108", + "lineno": "114", "name": "togglePasteOnSelect", "notes": [], "parameters": [ @@ -12780,7 +14216,7 @@ "desc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "71", + "lineno": "74", "name": "deduplicate", "signature": "TextClipboardHistory.deduplicate", "stripped_doc": "", @@ -12821,13 +14257,27 @@ }, { "def": "TextClipboardHistory.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", "file": "Source/TextClipboardHistory.spoon/init.lua", "lineno": "47", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], "signature": "TextClipboardHistory.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -12843,11 +14293,14 @@ }, { "def": "TextClipboardHistory.menubar_title", - "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", + "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.", + "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.\n\nNotes:\n * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "81", + "lineno": "84", "name": "menubar_title", + "notes": [ + " * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)" + ], "signature": "TextClipboardHistory.menubar_title", "stripped_doc": "", "type": "Variable" @@ -12868,7 +14321,7 @@ "desc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "76", + "lineno": "79", "name": "show_in_menubar", "signature": "TextClipboardHistory.show_in_menubar", "stripped_doc": "", @@ -12884,7 +14337,7 @@ "doc": "Binds hotkeys for TextClipboardHistory\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * show_clipboard - Display the clipboard history chooser\n * toggle_clipboard - Show/hide the clipboard history chooser", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "331", + "lineno": "337", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -12901,7 +14354,7 @@ "doc": "If the pasteboard has changed, we add the current item to our history and update the counter\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "252", + "lineno": "258", "name": "checkAndStorePasteboard", "notes": [], "parameters": [ @@ -12918,7 +14371,7 @@ "doc": "Clears the clipboard and history\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "clearAll", "notes": [], "parameters": [ @@ -12935,7 +14388,7 @@ "doc": "Clears the last added to the history\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "156", + "lineno": "162", "name": "clearLastItem", "notes": [], "parameters": [ @@ -12951,7 +14404,7 @@ "desc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "71", + "lineno": "74", "name": "deduplicate", "signature": "TextClipboardHistory.deduplicate", "stripped_doc": "", @@ -12992,13 +14445,27 @@ }, { "def": "TextClipboardHistory.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", "file": "Source/TextClipboardHistory.spoon/init.lua", "lineno": "47", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], "signature": "TextClipboardHistory.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -13014,11 +14481,14 @@ }, { "def": "TextClipboardHistory.menubar_title", - "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", + "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.", + "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.\n\nNotes:\n * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "81", + "lineno": "84", "name": "menubar_title", + "notes": [ + " * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)" + ], "signature": "TextClipboardHistory.menubar_title", "stripped_doc": "", "type": "Variable" @@ -13040,7 +14510,7 @@ "doc": "Add the given string to the history\n\nParameters:\n * item - string to add to the clipboard history\n\nReturns:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "184", + "lineno": "190", "name": "pasteboardToClipboard", "notes": [], "parameters": [ @@ -13059,7 +14529,7 @@ "doc": "Verify whether the pasteboard contents matches one of the values in `TextClipboardHistory.ignoredIdentifiers`\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "226", + "lineno": "232", "name": "shouldBeStored", "notes": [], "parameters": [ @@ -13075,7 +14545,7 @@ "desc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "76", + "lineno": "79", "name": "show_in_menubar", "signature": "TextClipboardHistory.show_in_menubar", "stripped_doc": "", @@ -13087,7 +14557,7 @@ "doc": "Display the current clipboard list in a chooser\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "301", + "lineno": "307", "name": "showClipboard", "notes": [], "parameters": [ @@ -13104,7 +14574,7 @@ "doc": "Start the clipboard history collector\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "279", + "lineno": "285", "name": "start", "notes": [], "parameters": [ @@ -13121,7 +14591,7 @@ "doc": "Show/hide the clipboard list, depending on its current state\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "317", + "lineno": "323", "name": "toggleClipboard", "notes": [], "parameters": [ @@ -13138,7 +14608,7 @@ "doc": "Toggle the value of `TextClipboardHistory.paste_on_select`\n\nParameters:\n * None", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "108", + "lineno": "114", "name": "togglePasteOnSelect", "notes": [], "parameters": [ @@ -13186,7 +14656,7 @@ "doc": "Update the indicator and menu according to the current backup status.\n\nParameters:\n * None", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "97", + "lineno": "95", "name": "refresh", "notes": [], "parameters": [ @@ -13203,7 +14673,7 @@ "doc": "Starts the indicator\n\nParameters:\n * None\n\nReturns:\n * The TimeMachineProgress object", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "205", + "lineno": "203", "name": "start", "notes": [], "parameters": [ @@ -13222,7 +14692,7 @@ "doc": "Stops the indicator\n\nParameters:\n * None\n\nReturns:\n * The TimeMachineProgress object", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "223", + "lineno": "221", "name": "stop", "notes": [], "parameters": [ @@ -13239,13 +14709,14 @@ "Variable": [ { "def": "TimeMachineProgress.backupIcon", - "desc": "", - "doc": "\nImage to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "desc": "Image to use for the menubar icon.", + "doc": "Image to use for the menubar icon.\n\nNotes:", "file": "Source/TimeMachineProgress.spoon/init.lua", "lineno": "31", "name": "backupIcon", + "notes": [], "signature": "TimeMachineProgress.backupIcon", - "stripped_doc": "Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "stripped_doc": "", "type": "Variable" }, { @@ -13276,13 +14747,14 @@ "items": [ { "def": "TimeMachineProgress.backupIcon", - "desc": "", - "doc": "\nImage to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "desc": "Image to use for the menubar icon.", + "doc": "Image to use for the menubar icon.\n\nNotes:", "file": "Source/TimeMachineProgress.spoon/init.lua", "lineno": "31", "name": "backupIcon", + "notes": [], "signature": "TimeMachineProgress.backupIcon", - "stripped_doc": "Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "stripped_doc": "", "type": "Variable" }, { @@ -13302,7 +14774,7 @@ "doc": "Update the indicator and menu according to the current backup status.\n\nParameters:\n * None", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "97", + "lineno": "95", "name": "refresh", "notes": [], "parameters": [ @@ -13330,7 +14802,7 @@ "doc": "Starts the indicator\n\nParameters:\n * None\n\nReturns:\n * The TimeMachineProgress object", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "205", + "lineno": "203", "name": "start", "notes": [], "parameters": [ @@ -13349,7 +14821,7 @@ "doc": "Stops the indicator\n\nParameters:\n * None\n\nReturns:\n * The TimeMachineProgress object", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "223", + "lineno": "221", "name": "stop", "notes": [], "parameters": [ @@ -13382,7 +14854,7 @@ "doc": "Binds hotkeys for ToggleScreenRotation.\n\nParameters:\n * mapping - A table containing hotkey modifier/key details to rotate screens. Instead of fixed \"key names\", each key must be the name of a screen to rotate, or a Lua pattern - in this case the first screen to match the pattern will be rotated. The value is a table containing the hotkey modifier/key details as usual. You can use the special key `first` (or the Lua pattern `[\".*\"]`) to match the first external screen, which should be sufficient unless you have more than one external screen. Example (bind Ctrl-Cmd-Alt-F15 to rotate the first external screen):\n ```\n [\".*\"] = { {\"ctrl\", \"cmd\", \"alt\"}, \"f15\" }\n ```", "examples": [], "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "95", + "lineno": "97", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -13400,7 +14872,7 @@ "desc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "doc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "33", + "lineno": "35", "name": "rotating_angles", "signature": "ToggleScreenRotation.rotating_angles", "stripped_doc": "", @@ -13409,12 +14881,15 @@ { "def": "ToggleScreenRotation.screens_to_skip", "desc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.", - "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\n\nNotes:\n * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", "file": "Source/ToggleScreenRotation.spoon/init.lua", "lineno": "27", "name": "screens_to_skip", + "notes": [ + " * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs." + ], "signature": "ToggleScreenRotation.screens_to_skip", - "stripped_doc": "Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "stripped_doc": "", "type": "Variable" } ], @@ -13427,7 +14902,7 @@ "doc": "Binds hotkeys for ToggleScreenRotation.\n\nParameters:\n * mapping - A table containing hotkey modifier/key details to rotate screens. Instead of fixed \"key names\", each key must be the name of a screen to rotate, or a Lua pattern - in this case the first screen to match the pattern will be rotated. The value is a table containing the hotkey modifier/key details as usual. You can use the special key `first` (or the Lua pattern `[\".*\"]`) to match the first external screen, which should be sufficient unless you have more than one external screen. Example (bind Ctrl-Cmd-Alt-F15 to rotate the first external screen):\n ```\n [\".*\"] = { {\"ctrl\", \"cmd\", \"alt\"}, \"f15\" }\n ```", "examples": [], "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "95", + "lineno": "97", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -13443,7 +14918,7 @@ "desc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "doc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "33", + "lineno": "35", "name": "rotating_angles", "signature": "ToggleScreenRotation.rotating_angles", "stripped_doc": "", @@ -13452,12 +14927,15 @@ { "def": "ToggleScreenRotation.screens_to_skip", "desc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.", - "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\n\nNotes:\n * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", "file": "Source/ToggleScreenRotation.spoon/init.lua", "lineno": "27", "name": "screens_to_skip", + "notes": [ + " * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs." + ], "signature": "ToggleScreenRotation.screens_to_skip", - "stripped_doc": "Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "stripped_doc": "", "type": "Variable" } ], @@ -13958,7 +15436,7 @@ "doc": "Binds hotkeys for TurboBoost\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * hello - Say Hello", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "200", + "lineno": "197", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -13972,10 +15450,10 @@ { "def": "TurboBoost:setState(state, notify)", "desc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).", - "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled\n (load kernel extension), true if it should be enabled (unload\n kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification\n should be produced. If not given, the value of\n TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", + "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "128", + "lineno": "129", "name": "setState", "notes": [], "parameters": [ @@ -13995,7 +15473,7 @@ "doc": "Starts TurboBoost\n\nParameters:\n * None\n\nReturns:\n * The TurboBoost object", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "212", + "lineno": "209", "name": "start", "notes": [], "parameters": [ @@ -14014,7 +15492,7 @@ "doc": "Check whether Turbo Boost is enabled\n\nParameters:\n * None\n\nReturns:\n * true if TurboBoost is enabled (kernel ext not loaded), false otherwise.", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "171", + "lineno": "168", "name": "status", "notes": [], "parameters": [ @@ -14033,7 +15511,7 @@ "doc": "Stops TurboBoost\n\nParameters:\n * None\n\nReturns:\n * The TurboBoost object", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "233", + "lineno": "230", "name": "stop", "notes": [], "parameters": [ @@ -14052,7 +15530,7 @@ "doc": "Toggle TurboBoost status\n\nParameters:\n * None\n\nReturns:\n * New TurboBoost status, after the toggle", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "186", + "lineno": "183", "name": "toggle", "notes": [], "parameters": [ @@ -14069,13 +15547,16 @@ "Variable": [ { "def": "TurboBoost.check_kext_cmd", - "desc": "Command to execute to check whether the DisableTurboBoost kernel", - "doc": "Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "desc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.", + "doc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.\n\nNotes:\n * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "102", + "lineno": "100", "name": "check_kext_cmd", + "notes": [ + " * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`" + ], "signature": "TurboBoost.check_kext_cmd", - "stripped_doc": "extension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14091,24 +15572,30 @@ }, { "def": "TurboBoost.disabled_icon_path", - "desc": "Where to find the icon to use for the \"Disabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "desc": "Where to find the icon to use for the \"Disabled\" icon.", + "doc": "Where to find the icon to use for the \"Disabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "121", "name": "disabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`" + ], "signature": "TurboBoost.disabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { "def": "TurboBoost.enabled_icon_path", - "desc": "Where to find the icon to use for the \"Enabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "desc": "Where to find the icon to use for the \"Enabled\" icon.", + "doc": "Where to find the icon to use for the \"Enabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "114", + "lineno": "113", "name": "enabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`" + ], "signature": "TurboBoost.enabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14135,13 +15622,17 @@ }, { "def": "TurboBoost.load_kext_cmd", - "desc": "Command to execute to load the DisableTurboBoost kernel", - "doc": "Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "desc": "Command to execute to load the DisableTurboBoost kernel extension.", + "doc": "Command to execute to load the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "82", "name": "load_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`" + ], "signature": "TurboBoost.load_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14157,13 +15648,13 @@ }, { "def": "TurboBoost.notify", - "desc": "Boolean indicating whether notifications should be generated when", - "doc": "Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: `true`", + "desc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "108", "name": "notify", "signature": "TurboBoost.notify", - "stripped_doc": "Turbo Boost is enabled/disabled. Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { @@ -14179,13 +15670,17 @@ }, { "def": "TurboBoost.unload_kext_cmd", - "desc": "Command to execute to unload the DisableTurboBoost kernel", - "doc": "Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "desc": "Command to execute to unload the DisableTurboBoost kernel extension.", + "doc": "Command to execute to unload the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "92", + "lineno": "91", "name": "unload_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`" + ], "signature": "TurboBoost.unload_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "stripped_doc": "", "type": "Variable" } ], @@ -14198,7 +15693,7 @@ "doc": "Binds hotkeys for TurboBoost\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * hello - Say Hello", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "200", + "lineno": "197", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -14211,13 +15706,16 @@ }, { "def": "TurboBoost.check_kext_cmd", - "desc": "Command to execute to check whether the DisableTurboBoost kernel", - "doc": "Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "desc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.", + "doc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.\n\nNotes:\n * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "102", + "lineno": "100", "name": "check_kext_cmd", + "notes": [ + " * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`" + ], "signature": "TurboBoost.check_kext_cmd", - "stripped_doc": "extension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14233,24 +15731,30 @@ }, { "def": "TurboBoost.disabled_icon_path", - "desc": "Where to find the icon to use for the \"Disabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "desc": "Where to find the icon to use for the \"Disabled\" icon.", + "doc": "Where to find the icon to use for the \"Disabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "121", "name": "disabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`" + ], "signature": "TurboBoost.disabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { "def": "TurboBoost.enabled_icon_path", - "desc": "Where to find the icon to use for the \"Enabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "desc": "Where to find the icon to use for the \"Enabled\" icon.", + "doc": "Where to find the icon to use for the \"Enabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "114", + "lineno": "113", "name": "enabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`" + ], "signature": "TurboBoost.enabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14277,13 +15781,17 @@ }, { "def": "TurboBoost.load_kext_cmd", - "desc": "Command to execute to load the DisableTurboBoost kernel", - "doc": "Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "desc": "Command to execute to load the DisableTurboBoost kernel extension.", + "doc": "Command to execute to load the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "82", "name": "load_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`" + ], "signature": "TurboBoost.load_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -14299,13 +15807,13 @@ }, { "def": "TurboBoost.notify", - "desc": "Boolean indicating whether notifications should be generated when", - "doc": "Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: `true`", + "desc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "108", "name": "notify", "signature": "TurboBoost.notify", - "stripped_doc": "Turbo Boost is enabled/disabled. Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { @@ -14322,10 +15830,10 @@ { "def": "TurboBoost:setState(state, notify)", "desc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).", - "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled\n (load kernel extension), true if it should be enabled (unload\n kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification\n should be produced. If not given, the value of\n TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", + "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "128", + "lineno": "129", "name": "setState", "notes": [], "parameters": [ @@ -14345,7 +15853,7 @@ "doc": "Starts TurboBoost\n\nParameters:\n * None\n\nReturns:\n * The TurboBoost object", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "212", + "lineno": "209", "name": "start", "notes": [], "parameters": [ @@ -14364,7 +15872,7 @@ "doc": "Check whether Turbo Boost is enabled\n\nParameters:\n * None\n\nReturns:\n * true if TurboBoost is enabled (kernel ext not loaded), false otherwise.", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "171", + "lineno": "168", "name": "status", "notes": [], "parameters": [ @@ -14383,7 +15891,7 @@ "doc": "Stops TurboBoost\n\nParameters:\n * None\n\nReturns:\n * The TurboBoost object", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "233", + "lineno": "230", "name": "stop", "notes": [], "parameters": [ @@ -14402,7 +15910,7 @@ "doc": "Toggle TurboBoost status\n\nParameters:\n * None\n\nReturns:\n * New TurboBoost status, after the toggle", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "186", + "lineno": "183", "name": "toggle", "notes": [], "parameters": [ @@ -14417,13 +15925,17 @@ }, { "def": "TurboBoost.unload_kext_cmd", - "desc": "Command to execute to unload the DisableTurboBoost kernel", - "doc": "Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "desc": "Command to execute to unload the DisableTurboBoost kernel extension.", + "doc": "Command to execute to unload the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "92", + "lineno": "91", "name": "unload_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`" + ], "signature": "TurboBoost.unload_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "stripped_doc": "", "type": "Variable" } ], @@ -14446,7 +15958,7 @@ "doc": "Binds hotkeys for UniversalArchive\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `archive` - hotkey for trigger the `universalArchive()` method, to archive the current item on the current application.\n * `_` - if an application handler supports multiple destinations, you can specify hotkeys for specific destinations using this format. For example, to assign a hotkey that files the current note in Evernote to the \"MyProject\" notebook using Ctrl-Alt-Cmd-M, you would specify `Evernote_MyProject = { { \"ctrl\", \"alt\", \"cmd\" }, \"m\" }` as one of the elements of `mapping`. Keep in mind that the application name must appear exactly as the system sees it (including upper/lowercase), and that if either the application or the destination name contain spaces or other non-alphanumeric characters, you need to use the Lua table notation. For example: `[\"Evernote_Some Long Notebook Name\"] = { keybinding }`. At the moment only the Evernote handler supports multiple destinations.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "182", + "lineno": "183", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -14463,7 +15975,7 @@ "doc": "Archive current note in Evernote.\n\nParameters:\n * where - destination notebook. Defaults to the value of `UniversalArchive.evernote_archive_notebook`.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "60", + "lineno": "61", "name": "evernoteArchive", "notes": [], "parameters": [ @@ -14480,7 +15992,7 @@ "doc": "Archive current message in Mail using the built-in Archive functionality\n\nParameters:\n * none", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "84", + "lineno": "85", "name": "mailArchive", "notes": [], "parameters": [ @@ -14497,7 +16009,7 @@ "doc": "Archive current message in Outlook using one of two methods:\n\nParameters:\n * none\n\nNotes:\n * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)\n * Otherwise, the message gets manually moved to the folder specified in `UniversalArchive.outlook_archive_folder`. The folder has to appear in the Message -> Move submenu for this to work. Since this submenu only lists the last few destination folders, you have to move a message by hand the first time (or periodically if you don't archive very often).", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "120", + "lineno": "121", "name": "outlookArchive", "notes": [ " * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)", @@ -14517,7 +16029,7 @@ "doc": "Register a handler function for an application.\n\nParameters:\n * appname - string containing the name of the application. If the application already has a handler, it will be replaced with the new one.\n * fn - handler function (to remove the handler for an application, use `nil`). The function receives the following arguments:\n * self - the UniversalArchive object, so the handler can make use of all the object methods and variables.\n * where - optional \"destination\" for the archive operation. Handlers must provide a default destination when `where == nil`. Destination doesn't make sense for all applications, so the implementation of this is optional and depending on the handler.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "165", + "lineno": "166", "name": "registerApplication", "notes": [], "parameters": [ @@ -14535,7 +16047,7 @@ "doc": "Archive current message in Spark using the built-in Archive functionality\n\nParameters:\n * none", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "102", + "lineno": "103", "name": "sparkArchive", "notes": [], "parameters": [ @@ -14552,7 +16064,7 @@ "doc": "Main entry point for archiving an item.\n\nParameters:\n * None\n\nNotes:\n * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.\n * Handlers must have a \"default destination\" that gets used when no destination is provided. Not all handlers support specifying a destination. New handlers can be registered using the `registerApplication()` method.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "142", + "lineno": "143", "name": "universalArchive", "notes": [ " * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.", @@ -14592,13 +16104,18 @@ }, { "def": "UniversalArchive.evernote_delay_before_typing", - "desc": "In Evernote, archive is done by selectin \"Move note\" and then", - "doc": "In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "desc": "A short pause to make typing into Evernote more reliable", + "doc": "A short pause to make typing into Evernote more reliable\n\nNotes:\n * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.\n * This variable controls how much to wait, in seconds.\n * Do not change this unless you know what you are doing", "file": "Source/UniversalArchive.spoon/init.lua", "lineno": "51", "name": "evernote_delay_before_typing", + "notes": [ + " * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.", + " * This variable controls how much to wait, in seconds.", + " * Do not change this unless you know what you are doing" + ], "signature": "UniversalArchive.evernote_delay_before_typing", - "stripped_doc": "simulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "stripped_doc": "", "type": "Variable" }, { @@ -14644,7 +16161,7 @@ "doc": "Binds hotkeys for UniversalArchive\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `archive` - hotkey for trigger the `universalArchive()` method, to archive the current item on the current application.\n * `_` - if an application handler supports multiple destinations, you can specify hotkeys for specific destinations using this format. For example, to assign a hotkey that files the current note in Evernote to the \"MyProject\" notebook using Ctrl-Alt-Cmd-M, you would specify `Evernote_MyProject = { { \"ctrl\", \"alt\", \"cmd\" }, \"m\" }` as one of the elements of `mapping`. Keep in mind that the application name must appear exactly as the system sees it (including upper/lowercase), and that if either the application or the destination name contain spaces or other non-alphanumeric characters, you need to use the Lua table notation. For example: `[\"Evernote_Some Long Notebook Name\"] = { keybinding }`. At the moment only the Evernote handler supports multiple destinations.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "182", + "lineno": "183", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -14668,13 +16185,18 @@ }, { "def": "UniversalArchive.evernote_delay_before_typing", - "desc": "In Evernote, archive is done by selectin \"Move note\" and then", - "doc": "In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "desc": "A short pause to make typing into Evernote more reliable", + "doc": "A short pause to make typing into Evernote more reliable\n\nNotes:\n * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.\n * This variable controls how much to wait, in seconds.\n * Do not change this unless you know what you are doing", "file": "Source/UniversalArchive.spoon/init.lua", "lineno": "51", "name": "evernote_delay_before_typing", + "notes": [ + " * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.", + " * This variable controls how much to wait, in seconds.", + " * Do not change this unless you know what you are doing" + ], "signature": "UniversalArchive.evernote_delay_before_typing", - "stripped_doc": "simulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "stripped_doc": "", "type": "Variable" }, { @@ -14683,7 +16205,7 @@ "doc": "Archive current note in Evernote.\n\nParameters:\n * where - destination notebook. Defaults to the value of `UniversalArchive.evernote_archive_notebook`.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "60", + "lineno": "61", "name": "evernoteArchive", "notes": [], "parameters": [ @@ -14711,7 +16233,7 @@ "doc": "Archive current message in Mail using the built-in Archive functionality\n\nParameters:\n * none", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "84", + "lineno": "85", "name": "mailArchive", "notes": [], "parameters": [ @@ -14739,7 +16261,7 @@ "doc": "Archive current message in Outlook using one of two methods:\n\nParameters:\n * none\n\nNotes:\n * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)\n * Otherwise, the message gets manually moved to the folder specified in `UniversalArchive.outlook_archive_folder`. The folder has to appear in the Message -> Move submenu for this to work. Since this submenu only lists the last few destination folders, you have to move a message by hand the first time (or periodically if you don't archive very often).", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "120", + "lineno": "121", "name": "outlookArchive", "notes": [ " * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)", @@ -14759,7 +16281,7 @@ "doc": "Register a handler function for an application.\n\nParameters:\n * appname - string containing the name of the application. If the application already has a handler, it will be replaced with the new one.\n * fn - handler function (to remove the handler for an application, use `nil`). The function receives the following arguments:\n * self - the UniversalArchive object, so the handler can make use of all the object methods and variables.\n * where - optional \"destination\" for the archive operation. Handlers must provide a default destination when `where == nil`. Destination doesn't make sense for all applications, so the implementation of this is optional and depending on the handler.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "165", + "lineno": "166", "name": "registerApplication", "notes": [], "parameters": [ @@ -14777,7 +16299,7 @@ "doc": "Archive current message in Spark using the built-in Archive functionality\n\nParameters:\n * none", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "102", + "lineno": "103", "name": "sparkArchive", "notes": [], "parameters": [ @@ -14794,7 +16316,7 @@ "doc": "Main entry point for archiving an item.\n\nParameters:\n * None\n\nNotes:\n * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.\n * Handlers must have a \"default destination\" that gets used when no destination is provided. Not all handlers support specifying a destination. New handlers can be registered using the `registerApplication()` method.", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "142", + "lineno": "143", "name": "universalArchive", "notes": [ " * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.", @@ -14862,7 +16384,7 @@ "doc": "Dispatch a URL to an application according to the defined `url_patterns`.\n\nParameters:\n * scheme - A string containing the URL scheme (i.e. \"http\")\n * host - A string containing the host requested (e.g. \"www.hammerspoon.org\")\n * params - A table containing the key/value pairs of all the URL parameters\n * fullURL - A string containing the full, original URL. This is the only parameter used in this implementation.\n\nNotes:\n * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "86", + "lineno": "83", "name": "dispatchURL", "notes": [ " * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)" @@ -14884,7 +16406,7 @@ "doc": "Start dispatching URLs according to the rules\n\nParameters:\n * None", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "153", + "lineno": "150", "name": "start", "notes": [], "parameters": [ @@ -14924,7 +16446,7 @@ "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "logger", "signature": "URLDispatcher.logger", "stripped_doc": "", @@ -14935,7 +16457,7 @@ "desc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "doc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "67", + "lineno": "64", "name": "set_system_handler", "signature": "URLDispatcher.set_system_handler", "stripped_doc": "", @@ -14944,12 +16466,18 @@ { "def": "URLDispatcher.url_patterns", "desc": "URL dispatch rules.", - "doc": "URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "doc": "URL dispatch rules.\n\nNotes:\n * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.\n * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.\n * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.\n * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.", "file": "Source/URLDispatcher.spoon/init.lua", "lineno": "48", "name": "url_patterns", + "notes": [ + " * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.", + " * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.", + " * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.", + " * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL." + ], "signature": "URLDispatcher.url_patterns", - "stripped_doc": "A table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "stripped_doc": "", "type": "Variable" }, { @@ -14995,7 +16523,7 @@ "doc": "Dispatch a URL to an application according to the defined `url_patterns`.\n\nParameters:\n * scheme - A string containing the URL scheme (i.e. \"http\")\n * host - A string containing the host requested (e.g. \"www.hammerspoon.org\")\n * params - A table containing the key/value pairs of all the URL parameters\n * fullURL - A string containing the full, original URL. This is the only parameter used in this implementation.\n\nNotes:\n * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "86", + "lineno": "83", "name": "dispatchURL", "notes": [ " * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)" @@ -15016,7 +16544,7 @@ "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "logger", "signature": "URLDispatcher.logger", "stripped_doc": "", @@ -15027,7 +16555,7 @@ "desc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "doc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "67", + "lineno": "64", "name": "set_system_handler", "signature": "URLDispatcher.set_system_handler", "stripped_doc": "", @@ -15039,7 +16567,7 @@ "doc": "Start dispatching URLs according to the rules\n\nParameters:\n * None", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "153", + "lineno": "150", "name": "start", "notes": [], "parameters": [ @@ -15053,12 +16581,18 @@ { "def": "URLDispatcher.url_patterns", "desc": "URL dispatch rules.", - "doc": "URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "doc": "URL dispatch rules.\n\nNotes:\n * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.\n * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.\n * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.\n * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.", "file": "Source/URLDispatcher.spoon/init.lua", "lineno": "48", "name": "url_patterns", + "notes": [ + " * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.", + " * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.", + " * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.", + " * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL." + ], "signature": "URLDispatcher.url_patterns", - "stripped_doc": "A table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "stripped_doc": "", "type": "Variable" }, { @@ -15148,12 +16682,23 @@ { "def": "USBDeviceActions.devices (Table)", "desc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).", - "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nThe value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\n\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nNotes:\n * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", "file": "Source/USBDeviceActions.spoon/init.lua", "lineno": "87", "name": "devices", + "notes": [ + " * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.", + "Example:", + "```", + "{", + " ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },", + " Planck = { fn = toggleKeyboardLayout },", + " [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }", + "}", + "```" + ], "signature": "USBDeviceActions.devices (Table)", - "stripped_doc": "The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "stripped_doc": "", "type": "Variable" } ], @@ -15163,12 +16708,23 @@ { "def": "USBDeviceActions.devices (Table)", "desc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).", - "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nThe value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\n\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nNotes:\n * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", "file": "Source/USBDeviceActions.spoon/init.lua", "lineno": "87", "name": "devices", + "notes": [ + " * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.", + "Example:", + "```", + "{", + " ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },", + " Planck = { fn = toggleKeyboardLayout },", + " [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }", + "}", + "```" + ], "signature": "USBDeviceActions.devices (Table)", - "stripped_doc": "The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -15590,7 +17146,7 @@ "doc": "Process the rules and execute any actions corresponding to the specified transition.\n\nParameters:\n * new_ssid - new SSID name\n * prev_ssid - previous SSID name. Defaults to `nil`\n * interface - interface where the transition occurred. Defaults to `nil`\n\nNotes:\n * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason.", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "54", + "lineno": "57", "name": "processTransition", "notes": [ " * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason." @@ -15611,7 +17167,7 @@ "doc": "Start the WiFi watcher\n\nParameters:\n * None\n\nReturns:\n * The WiFiTransitions spoon object", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "101", + "lineno": "104", "name": "start", "notes": [], "parameters": [ @@ -15628,13 +17184,24 @@ "Variable": [ { "def": "WiFiTransitions.actions", - "desc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", - "doc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "desc": "Table containing a list of actions to execute for SSID transitions.", + "doc": "Table containing a list of actions to execute for SSID transitions.\n\nNotes:\n * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", "file": "Source/WiFiTransitions.spoon/init.lua", "lineno": "22", "name": "actions", + "notes": [ + " * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", + " * to - if given, pattern to match against the new SSID. Defaults to match any network.", + " * from - if given, pattern to match against the previous SSID. Defaults to match any network.", + " * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:", + " * event - always \"SSIDChange\"", + " * interface - name of the interface on which the SSID changed", + " * old_ssid - previous SSID name", + " * new_ssid - new SSID name", + " * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored." + ], "signature": "WiFiTransitions.actions", - "stripped_doc": " * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "stripped_doc": "", "type": "Variable" }, { @@ -15642,7 +17209,7 @@ "desc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "doc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "35", + "lineno": "38", "name": "actOnNilTransitions", "signature": "WiFiTransitions.actOnNilTransitions", "stripped_doc": "", @@ -15665,13 +17232,24 @@ "items": [ { "def": "WiFiTransitions.actions", - "desc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", - "doc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "desc": "Table containing a list of actions to execute for SSID transitions.", + "doc": "Table containing a list of actions to execute for SSID transitions.\n\nNotes:\n * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", "file": "Source/WiFiTransitions.spoon/init.lua", "lineno": "22", "name": "actions", + "notes": [ + " * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", + " * to - if given, pattern to match against the new SSID. Defaults to match any network.", + " * from - if given, pattern to match against the previous SSID. Defaults to match any network.", + " * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:", + " * event - always \"SSIDChange\"", + " * interface - name of the interface on which the SSID changed", + " * old_ssid - previous SSID name", + " * new_ssid - new SSID name", + " * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored." + ], "signature": "WiFiTransitions.actions", - "stripped_doc": " * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "stripped_doc": "", "type": "Variable" }, { @@ -15679,7 +17257,7 @@ "desc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "doc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "35", + "lineno": "38", "name": "actOnNilTransitions", "signature": "WiFiTransitions.actOnNilTransitions", "stripped_doc": "", @@ -15702,7 +17280,7 @@ "doc": "Process the rules and execute any actions corresponding to the specified transition.\n\nParameters:\n * new_ssid - new SSID name\n * prev_ssid - previous SSID name. Defaults to `nil`\n * interface - interface where the transition occurred. Defaults to `nil`\n\nNotes:\n * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason.", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "54", + "lineno": "57", "name": "processTransition", "notes": [ " * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason." @@ -15723,7 +17301,7 @@ "doc": "Start the WiFi watcher\n\nParameters:\n * None\n\nReturns:\n * The WiFiTransitions spoon object", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "101", + "lineno": "104", "name": "start", "notes": [], "parameters": [ @@ -16035,13 +17613,39 @@ }, { "def": "WindowHalfsAndThirds.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", "file": "Source/WindowHalfsAndThirds.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },", + " right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },", + " top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },", + " bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },", + " third_left = { {\"ctrl\", \"alt\" }, \"Left\" },", + " third_right = { {\"ctrl\", \"alt\" }, \"Right\" },", + " third_up = { {\"ctrl\", \"alt\" }, \"Up\" },", + " third_down = { {\"ctrl\", \"alt\" }, \"Down\" },", + " top_left = { {\"ctrl\", \"cmd\"}, \"1\" },", + " top_right = { {\"ctrl\", \"cmd\"}, \"2\" },", + " bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },", + " bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },", + " max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },", + " max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },", + " undo = { { \"alt\", \"cmd\"}, \"z\" },", + " center = { { \"alt\", \"cmd\"}, \"c\" },", + " larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },", + " smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },", + " }", + "```" + ], "signature": "WindowHalfsAndThirds.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -16121,13 +17725,39 @@ }, { "def": "WindowHalfsAndThirds.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", "file": "Source/WindowHalfsAndThirds.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },", + " right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },", + " top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },", + " bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },", + " third_left = { {\"ctrl\", \"alt\" }, \"Left\" },", + " third_right = { {\"ctrl\", \"alt\" }, \"Right\" },", + " third_up = { {\"ctrl\", \"alt\" }, \"Up\" },", + " third_down = { {\"ctrl\", \"alt\" }, \"Down\" },", + " top_left = { {\"ctrl\", \"cmd\"}, \"1\" },", + " top_right = { {\"ctrl\", \"cmd\"}, \"2\" },", + " bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },", + " bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },", + " max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },", + " max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },", + " undo = { { \"alt\", \"cmd\"}, \"z\" },", + " center = { { \"alt\", \"cmd\"}, \"c\" },", + " larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },", + " smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },", + " }", + "```" + ], "signature": "WindowHalfsAndThirds.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -16272,7 +17902,7 @@ "doc": "Binds hotkeys for WindowScreenLeftAndRight\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * screen_left, screen_right - move the window to the left/right screen (if you have more than one monitor connected, does nothing otherwise)", "examples": [], "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", - "lineno": "87", + "lineno": "88", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -16287,24 +17917,38 @@ "Variable": [ { "def": "WindowScreenLeftAndRight.animationDuration", - "desc": "Length of the animation to use for the window movements across the", - "doc": "Length of the animation to use for the window movements across the\nscreens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "desc": "Length of the animation to use for the window movements across the screens.", + "doc": "Length of the animation to use for the window movements across the screens.\n\nNotes:\n * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.\n * Default: `nil`.", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "40", "name": "animationDuration", + "notes": [ + " * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.", + " * Default: `nil`." + ], "signature": "WindowScreenLeftAndRight.animationDuration", - "stripped_doc": "screens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "stripped_doc": "", "type": "Variable" }, { "def": "WindowScreenLeftAndRight.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },", + " screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },", + " }", + "```" + ], "signature": "WindowScreenLeftAndRight.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -16324,13 +17968,17 @@ "items": [ { "def": "WindowScreenLeftAndRight.animationDuration", - "desc": "Length of the animation to use for the window movements across the", - "doc": "Length of the animation to use for the window movements across the\nscreens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "desc": "Length of the animation to use for the window movements across the screens.", + "doc": "Length of the animation to use for the window movements across the screens.\n\nNotes:\n * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.\n * Default: `nil`.", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "40", "name": "animationDuration", + "notes": [ + " * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.", + " * Default: `nil`." + ], "signature": "WindowScreenLeftAndRight.animationDuration", - "stripped_doc": "screens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "stripped_doc": "", "type": "Variable" }, { @@ -16339,7 +17987,7 @@ "doc": "Binds hotkeys for WindowScreenLeftAndRight\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * screen_left, screen_right - move the window to the left/right screen (if you have more than one monitor connected, does nothing otherwise)", "examples": [], "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", - "lineno": "87", + "lineno": "88", "name": "bindHotkeys", "notes": [], "parameters": [ @@ -16352,13 +18000,23 @@ }, { "def": "WindowScreenLeftAndRight.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },", + " screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },", + " }", + "```" + ], "signature": "WindowScreenLeftAndRight.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { diff --git a/docs/docs_index.json b/docs/docs_index.json index 466f1d31..6ecc0e2b 100644 --- a/docs/docs_index.json +++ b/docs/docs_index.json @@ -388,7 +388,7 @@ "type": "Variable" }, { - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", "module": "ClipboardTool", "name": "ignoredIdentifiers", "type": "Variable" @@ -583,19 +583,19 @@ "type": "Variable" }, { - "desc": "If you want to switch to a layout when enabled chooser,", + "desc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", "module": "Commander", "name": "forceLayout", "type": "Variable" }, { - "desc": "If you want to switch to a method when enabled chooser,", + "desc": "If you want to switch to a method when enabled chooser, set this to name of that method", "module": "Commander", "name": "forceMethod", "type": "Variable" }, { - "desc": "This list contains all the ignored function names,", + "desc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.", "module": "Commander", "name": "ignoredCommandList", "type": "Variable" @@ -700,7 +700,7 @@ "type": "Module" }, { - "desc": "Boolean, whether to eject volumes when the laptop lid is closed", + "desc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.", "module": "EjectMenu", "name": "eject_on_lid_close", "type": "Variable" @@ -730,7 +730,7 @@ "type": "Variable" }, { - "desc": "List of additional system events on which the volumes should be ejected. The", + "desc": "List of additional system events on which the volumes should be ejected.", "module": "EjectMenu", "name": "other_eject_events", "type": "Variable" @@ -999,7 +999,7 @@ "type": "Variable" }, { - "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", + "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.", "module": "HeadphoneAutoPause", "name": "control", "type": "Variable" @@ -1279,55 +1279,55 @@ "type": "Module" }, { - "desc": "String containing the key to use for Leanpub API requests. Get it", + "desc": "String containing the key to use for Leanpub API requests.", "module": "Leanpub", "name": "api_key", "type": "Variable" }, { - "desc": "Boolean that specifies whether all your books are being synced to", + "desc": "Boolean that specifies whether all your books are being synced to Dropbox.", "module": "Leanpub", "name": "books_sync_to_dropbox", "type": "Variable" }, { - "desc": "Integer containing the interval (in seconds) at which the book", + "desc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", "module": "Leanpub", "name": "check_interval", "type": "Variable" }, { - "desc": "String containing the base Dropbox path to which the books are", + "desc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.", "module": "Leanpub", "name": "dropbox_path", "type": "Variable" }, { - "desc": "String containing the name of the Dropbox account type to use for", + "desc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.", "module": "Leanpub", "name": "dropbox_type", "type": "Variable" }, { - "desc": "Boolean indicating whether we should try to fetch book covers from", + "desc": "Boolean indicating whether we should try to fetch book covers from Leanpub.", "module": "Leanpub", "name": "fetch_leanpub_covers", "type": "Variable" }, { - "desc": "Logger object used within the Spoon. Can be accessed to set the", + "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "module": "Leanpub", "name": "logger", "type": "Variable" }, { - "desc": "Table specifying the Leanpub status for which notifications should", + "desc": "Table specifying the Leanpub status for which notifications should not disappear automatically.", "module": "Leanpub", "name": "persistent_notification", "type": "Variable" }, { - "desc": "List of books to watch (by default an empty list). Each element of", + "desc": "List of books to watch (by default an empty list).", "module": "Leanpub", "name": "watch_books", "type": "Variable" @@ -1479,19 +1479,19 @@ "type": "Module" }, { - "desc": "The sizes that the window can have in full-screen. ", + "desc": "The sizes that the window can have in full-screen.", "module": "MiroWindowsManager", "name": "fullScreenSizes", "type": "Variable" }, { - "desc": "The screen's size using `hs.grid.setGrid()`", + "desc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", "module": "MiroWindowsManager", "name": "GRID", "type": "Variable" }, { - "desc": "The sizes that the window can have. ", + "desc": "The sizes that the window can have.", "module": "MiroWindowsManager", "name": "sizes", "type": "Variable" @@ -2295,7 +2295,7 @@ "type": "Variable" }, { - "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely", + "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", "module": "Shade", "name": "shadeTransparency", "type": "Variable" @@ -2460,7 +2460,7 @@ "type": "Variable" }, { - "desc": "Table containing the list of available Spoon repositories. The key", + "desc": "Table containing the list of available Spoon repositories.", "module": "SpoonInstall", "name": "repos", "type": "Variable" @@ -2567,7 +2567,7 @@ "type": "Variable" }, { - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", "module": "TextClipboardHistory", "name": "ignoredIdentifiers", "type": "Variable" @@ -2579,7 +2579,7 @@ "type": "Variable" }, { - "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", + "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.", "module": "TextClipboardHistory", "name": "menubar_title", "type": "Variable" @@ -2667,7 +2667,7 @@ "type": "Module" }, { - "desc": "", + "desc": "Image to use for the menubar icon.", "module": "TimeMachineProgress", "name": "backupIcon", "type": "Variable" @@ -2836,7 +2836,7 @@ "type": "Module" }, { - "desc": "Command to execute to check whether the DisableTurboBoost kernel", + "desc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.", "module": "TurboBoost", "name": "check_kext_cmd", "type": "Variable" @@ -2848,13 +2848,13 @@ "type": "Variable" }, { - "desc": "Where to find the icon to use for the \"Disabled\" icon. Default value", + "desc": "Where to find the icon to use for the \"Disabled\" icon.", "module": "TurboBoost", "name": "disabled_icon_path", "type": "Variable" }, { - "desc": "Where to find the icon to use for the \"Enabled\" icon. Default value", + "desc": "Where to find the icon to use for the \"Enabled\" icon.", "module": "TurboBoost", "name": "enabled_icon_path", "type": "Variable" @@ -2872,7 +2872,7 @@ "type": "Variable" }, { - "desc": "Command to execute to load the DisableTurboBoost kernel", + "desc": "Command to execute to load the DisableTurboBoost kernel extension.", "module": "TurboBoost", "name": "load_kext_cmd", "type": "Variable" @@ -2884,7 +2884,7 @@ "type": "Variable" }, { - "desc": "Boolean indicating whether notifications should be generated when", + "desc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", "module": "TurboBoost", "name": "notify", "type": "Variable" @@ -2896,7 +2896,7 @@ "type": "Variable" }, { - "desc": "Command to execute to unload the DisableTurboBoost kernel", + "desc": "Command to execute to unload the DisableTurboBoost kernel extension.", "module": "TurboBoost", "name": "unload_kext_cmd", "type": "Variable" @@ -2955,7 +2955,7 @@ "type": "Variable" }, { - "desc": "In Evernote, archive is done by selectin \"Move note\" and then", + "desc": "A short pause to make typing into Evernote more reliable", "module": "UniversalArchive", "name": "evernote_delay_before_typing", "type": "Variable" @@ -3170,7 +3170,7 @@ "type": "Module" }, { - "desc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", + "desc": "Table containing a list of actions to execute for SSID transitions.", "module": "WiFiTransitions", "name": "actions", "type": "Variable" @@ -3240,7 +3240,7 @@ "type": "Variable" }, { - "desc": "Table containing a sample set of hotkeys that can be", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", "module": "WindowHalfsAndThirds", "name": "defaultHotkeys", "type": "Variable" @@ -3305,13 +3305,13 @@ "type": "Module" }, { - "desc": "Length of the animation to use for the window movements across the", + "desc": "Length of the animation to use for the window movements across the screens.", "module": "WindowScreenLeftAndRight", "name": "animationDuration", "type": "Variable" }, { - "desc": "Table containing a sample set of hotkeys that can be", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", "module": "WindowScreenLeftAndRight", "name": "defaultHotkeys", "type": "Variable" diff --git a/docs/templated_docs.json b/docs/templated_docs.json index 0cc676b0..d302f40b 100644 --- a/docs/templated_docs.json +++ b/docs/templated_docs.json @@ -1423,81 +1423,185 @@ "def": "BonjourLauncher.recipes.AFP", "def_gfm": "BonjourLauncher.recipes.AFP", "desc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.", - "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nAppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }\n", - "doc_gfm": "

Display computers and servers advertising AppleShare file server services advertised with the _afpovertcp._tcp. service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.

\n

AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n                  { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n                  { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n              ):imageFromCanvas(),\n    label   = \"AFP\",\n    type    = \"_afpovertcp._tcp.\",\n    text    = \"%name%\",\n    subText = \"afp://%hostname%:%port%\",\n    url     = \"afp://%hostname%:%port%\",\n}
\n", + "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nNotes:\n * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "doc_gfm": "

Display computers and servers advertising AppleShare file server services advertised with the _afpovertcp._tcp. service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.

\n

Notes:

\n
    \n
  • AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n               { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n               { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n           ):imageFromCanvas(),\n label   = \"AFP\",\n type    = \"_afpovertcp._tcp.\",\n text    = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url     = \"afp://%hostname%:%port%\",\n
    \n }
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "87", + "lineno": "79", "name": "AFP", + "notes": [ + " * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.canvas.new{ h = 128, w = 128 }:appendElements(", + " { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },", + " { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }", + " ):imageFromCanvas(),", + " label = \"AFP\",", + " type = \"_afpovertcp._tcp.\",", + " text = \"%name%\",", + " subText = \"afp://%hostname%:%port%\",", + " url = \"afp://%hostname%:%port%\",", + " }" + ], + "notes_gfm": "
    \n
  • AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n               { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n               { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n           ):imageFromCanvas(),\n label   = \"AFP\",\n type    = \"_afpovertcp._tcp.\",\n text    = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url     = \"afp://%hostname%:%port%\",\n
    \n }
  • \n
\n", "signature": "BonjourLauncher.recipes.AFP", - "stripped_doc": "AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SMB", "def_gfm": "BonjourLauncher.recipes.SMB", "desc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.", - "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nSMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, Samba advertises this by default if Avahi is installed.", - "doc_gfm": "

Display computers and servers advertising Windows or Samba file server services advertised with the _smb._tcp. service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.

\n

SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromName(\"NSNetwork\"),\n    label   = \"SMB\",\n    type    = \"_smb._tcp.\",\n    text    = \"%name%\",\n    subText = \"smb://%hostname%:%port%\",\n    url     = \"smb://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", + "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nNotes:\n * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n * On Linux servers, Samba advertises this by default if Avahi is installed.", + "doc_gfm": "

Display computers and servers advertising Windows or Samba file server services advertised with the _smb._tcp. service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.

\n

Notes:

\n
    \n
  • SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromName(\"NSNetwork\"),\n label   = \"SMB\",\n type    = \"_smb._tcp.\",\n text    = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url     = \"smb://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "59", + "lineno": "54", "name": "SMB", "notes": [ + " * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromName(\"NSNetwork\"),", + " label = \"SMB\",", + " type = \"_smb._tcp.\",", + " text = \"%name%\",", + " subText = \"smb://%hostname%:%port%\",", + " url = \"smb://%hostname%:%port%\",", + " }", " * On Linux servers, Samba advertises this by default if Avahi is installed." ], - "notes_gfm": "
    \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", + "notes_gfm": "
    \n
  • SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromName(\"NSNetwork\"),\n label   = \"SMB\",\n type    = \"_smb._tcp.\",\n text    = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url     = \"smb://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", "signature": "BonjourLauncher.recipes.SMB", - "stripped_doc": "SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SSH", "def_gfm": "BonjourLauncher.recipes.SSH", "desc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nSSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising Secure Shell services advertised with the _ssh._tcp. service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.

\n

SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n    label   = \"SSH\",\n    type    = \"_ssh._tcp.\",\n    text    = \"%name%\",\n    subText = \"%hostname%:%port% (%address4%/%address6%)\",\n    url     = \"ssh://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nNotes:\n * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising Secure Shell services advertised with the _ssh._tcp. service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label   = \"SSH\",\n type    = \"_ssh._tcp.\",\n text    = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url     = \"ssh://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", "lineno": "18", "name": "SSH", "notes": [ - " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:" - ], - "notes_gfm": "
    \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:
  • \n
\n", + " * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),", + " label = \"SSH\",", + " type = \"_ssh._tcp.\",", + " text = \"%name%\",", + " subText = \"%hostname%:%port% (%address4%/%address6%)\",", + " url = \"ssh://%hostname%:%port%\",", + " }", + " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _ssh._tcp", + " 22", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label   = \"SSH\",\n type    = \"_ssh._tcp.\",\n text    = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url     = \"ssh://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.SSH", - "stripped_doc": "SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC", "def_gfm": "BonjourLauncher.recipes.VNC", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nScreen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n\nNotes:\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n    label   = \"VNC\",\n    type    = \"_rfb._tcp.\",\n    text    = \"%name%\",\n    subText = \"vnc://%hostname%:%port%\",\n    url     = \"vnc://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.

    \n
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.

    \n
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\",\n
    \n }
  • \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "119", + "lineno": "109", "name": "VNC", "notes": [ - " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations." - ], - "notes_gfm": "
    \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
\n", + " * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\",", + " }", + " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.", + " * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.", + " * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\",\n
    \n }
  • \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.VNC", - "stripped_doc": "Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "def_gfm": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nThis version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n\nNotes:\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n    label   = \"VNC\",\n    type    = \"_rfb._tcp.\",\n    text    = \"%name%\",\n    subText = \"vnc://%hostname%:%port%\",\n    url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n    cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n    fn      = function(svc, choice)\n        local tr = svc:txtRecord()\n        if tr and tr.RealVNC then\n            hs.execute(choice.cmd)\n        else\n            hs.urlevent.openURL(choice.url)\n        end\n    end,\n}\n\n
\n

Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.

\n

Notes:

\n
    \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.

    \n
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.

    \n
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn      = function(svc, choice)\n     local tr = svc:txtRecord()\n     if tr and tr.RealVNC then\n         hs.execute(choice.cmd)\n     else\n         hs.urlevent.openURL(choice.url)\n     end\n end,\n
    \n }
  • \n
  • Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.
  • \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "164", + "lineno": "147", "name": "VNC_RealVNC_Alternate", "notes": [ - " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service." - ], - "notes_gfm": "
    \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
\n", + " * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below", + " cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below", + " fn = function(svc, choice)", + " local tr = svc:txtRecord()", + " if tr and tr.RealVNC then", + " hs.execute(choice.cmd)", + " else", + " hs.urlevent.openURL(choice.url)", + " end", + " end,", + " }", + " * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.", + " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.", + " * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.", + " * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " RealVNC=True", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn      = function(svc, choice)\n     local tr = svc:txtRecord()\n     if tr and tr.RealVNC then\n         hs.execute(choice.cmd)\n     else\n         hs.urlevent.openURL(choice.url)\n     end\n end,\n
    \n }
  • \n
  • Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.
  • \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", - "stripped_doc": "This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" } ], @@ -1510,81 +1614,185 @@ "def": "BonjourLauncher.recipes.AFP", "def_gfm": "BonjourLauncher.recipes.AFP", "desc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.", - "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nAppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }\n", - "doc_gfm": "

Display computers and servers advertising AppleShare file server services advertised with the _afpovertcp._tcp. service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.

\n

AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n                  { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n                  { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n              ):imageFromCanvas(),\n    label   = \"AFP\",\n    type    = \"_afpovertcp._tcp.\",\n    text    = \"%name%\",\n    subText = \"afp://%hostname%:%port%\",\n    url     = \"afp://%hostname%:%port%\",\n}
\n", + "doc": "Display computers and servers advertising AppleShare file server services advertised with the `_afpovertcp._tcp.` service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.\n\nNotes:\n * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "doc_gfm": "

Display computers and servers advertising AppleShare file server services advertised with the _afpovertcp._tcp. service type. This was the default with earlier versions of MacOS and is still used by Apple AirPort and Time Machine file servers.

\n

Notes:

\n
    \n
  • AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n               { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n               { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n           ):imageFromCanvas(),\n label   = \"AFP\",\n type    = \"_afpovertcp._tcp.\",\n text    = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url     = \"afp://%hostname%:%port%\",\n
    \n }
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "87", + "lineno": "79", "name": "AFP", + "notes": [ + " * AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.canvas.new{ h = 128, w = 128 }:appendElements(", + " { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },", + " { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }", + " ):imageFromCanvas(),", + " label = \"AFP\",", + " type = \"_afpovertcp._tcp.\",", + " text = \"%name%\",", + " subText = \"afp://%hostname%:%port%\",", + " url = \"afp://%hostname%:%port%\",", + " }" + ], + "notes_gfm": "
    \n
  • AppleShare connections are initiated by the URL afp://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"AFP\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n               { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n               { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n           ):imageFromCanvas(),\n label   = \"AFP\",\n type    = \"_afpovertcp._tcp.\",\n text    = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url     = \"afp://%hostname%:%port%\",\n
    \n }
  • \n
\n", "signature": "BonjourLauncher.recipes.AFP", - "stripped_doc": "AppleShare connections are initiated by the URL `afp://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"AFP\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.canvas.new{ h = 128, w = 128 }:appendElements(\n { type=\"image\", image = hs.image.imageFromName(\"NSNetwork\"), imageAlpha = 0.5 },\n { type=\"image\", image = hs.image.imageFromName(\"NSTouchBarColorPickerFont\") }\n ):imageFromCanvas(),\n label = \"AFP\",\n type = \"_afpovertcp._tcp.\",\n text = \"%name%\",\n subText = \"afp://%hostname%:%port%\",\n url = \"afp://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SMB", "def_gfm": "BonjourLauncher.recipes.SMB", "desc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.", - "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nSMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, Samba advertises this by default if Avahi is installed.", - "doc_gfm": "

Display computers and servers advertising Windows or Samba file server services advertised with the _smb._tcp. service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.

\n

SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromName(\"NSNetwork\"),\n    label   = \"SMB\",\n    type    = \"_smb._tcp.\",\n    text    = \"%name%\",\n    subText = \"smb://%hostname%:%port%\",\n    url     = \"smb://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", + "doc": "Display computers and servers advertising Windows or Samba file server services advertised with the `_smb._tcp.` service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.\n\nNotes:\n * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }\n * On Linux servers, Samba advertises this by default if Avahi is installed.", + "doc_gfm": "

Display computers and servers advertising Windows or Samba file server services advertised with the _smb._tcp. service type. Most Apple Macintosh computers and Laptops will also advertise file sharing with this service type.

\n

Notes:

\n
    \n
  • SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromName(\"NSNetwork\"),\n label   = \"SMB\",\n type    = \"_smb._tcp.\",\n text    = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url     = \"smb://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "59", + "lineno": "54", "name": "SMB", "notes": [ + " * SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromName(\"NSNetwork\"),", + " label = \"SMB\",", + " type = \"_smb._tcp.\",", + " text = \"%name%\",", + " subText = \"smb://%hostname%:%port%\",", + " url = \"smb://%hostname%:%port%\",", + " }", " * On Linux servers, Samba advertises this by default if Avahi is installed." ], - "notes_gfm": "
    \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", + "notes_gfm": "
    \n
  • SMB connections are initiated by the URL smb://%hostname%:%port%, which usually opens up a dialog in the Finder which may prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SMB\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromName(\"NSNetwork\"),\n label   = \"SMB\",\n type    = \"_smb._tcp.\",\n text    = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url     = \"smb://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, Samba advertises this by default if Avahi is installed.
  • \n
\n", "signature": "BonjourLauncher.recipes.SMB", - "stripped_doc": "SMB connections are initiated by the URL `smb://%hostname%:%port%`, which usually opens up a dialog in the Finder which may prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SMB\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromName(\"NSNetwork\"),\n label = \"SMB\",\n type = \"_smb._tcp.\",\n text = \"%name%\",\n subText = \"smb://%hostname%:%port%\",\n url = \"smb://%hostname%:%port%\",\n }", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.SSH", "def_gfm": "BonjourLauncher.recipes.SSH", "desc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nSSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n\nNotes:\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising Secure Shell services advertised with the _ssh._tcp. service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.

\n

SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n    label   = \"SSH\",\n    type    = \"_ssh._tcp.\",\n    text    = \"%name%\",\n    subText = \"%hostname%:%port% (%address4%/%address6%)\",\n    url     = \"ssh://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising Secure Shell services advertised with the `_ssh._tcp.` service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.\n\nNotes:\n * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising Secure Shell services advertised with the _ssh._tcp. service type. This is advertised by MacOS machines with Remote Login enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label   = \"SSH\",\n type    = \"_ssh._tcp.\",\n text    = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url     = \"ssh://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", "lineno": "18", "name": "SSH", "notes": [ - " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:" - ], - "notes_gfm": "
    \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:
  • \n
\n", + " * SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),", + " label = \"SSH\",", + " type = \"_ssh._tcp.\",", + " text = \"%name%\",", + " subText = \"%hostname%:%port% (%address4%/%address6%)\",", + " url = \"ssh://%hostname%:%port%\",", + " }", + " * On Linux servers, you can advertise this by installing Avahi and saving the following in `/etc/avahi/services/ssh.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _ssh._tcp", + " 22", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • SSH connections are initiated by the URL ssh://%hostname%:%port%, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your ~/.ssh/config file if a different username is required for a specific host. See man ssh_config in a terminal window.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"SSH\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label   = \"SSH\",\n type    = \"_ssh._tcp.\",\n text    = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url     = \"ssh://%hostname%:%port%\",\n
    \n }
  • \n
  • On Linux servers, you can advertise this by installing Avahi and saving the following in /etc/avahi/services/ssh.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_ssh._tcp</type>\n     <port>22</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.SSH", - "stripped_doc": "SSH connections are initiated by the URL `ssh://%hostname%:%port%`, which usually opens up a Terminal window with the SSH session, and assumes that the username matches your username on your Mac. At present there is no way to prompt for a different username at the time of connection -- you will need to modify your `~/.ssh/config` file if a different username is required for a specific host. See `man ssh_config` in a terminal window.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"SSH\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.Terminal\"),\n label = \"SSH\",\n type = \"_ssh._tcp.\",\n text = \"%name%\",\n subText = \"%hostname%:%port% (%address4%/%address6%)\",\n url = \"ssh://%hostname%:%port%\",\n }\n ~~~\n \n \n \n %h\n \n _ssh._tcp\n 22\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC", "def_gfm": "BonjourLauncher.recipes.VNC", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nScreen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n\nNotes:\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n    label   = \"VNC\",\n    type    = \"_rfb._tcp.\",\n    text    = \"%name%\",\n    subText = \"vnc://%hostname%:%port%\",\n    url     = \"vnc://%hostname%:%port%\",\n}\n\n
\n

Notes:

\n
    \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.

    \n
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.

    \n
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\",\n
    \n }
  • \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "119", + "lineno": "109", "name": "VNC", "notes": [ - " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations." - ], - "notes_gfm": "
    \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
\n", + " * Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\",", + " }", + " * The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does *not* include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.", + " * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.", + " * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • Screen Sharing connections are initiated by the URL vnc://%hostname%:%port%, which usually opens up Screen Sharing which will prompt you for login credentials.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\",\n
    \n }
  • \n
  • The built in MacOS Screen Sharing application works with MacOS Screen Sharing clients as well as more traditional VNC implementations that do not implement encryption. This does not include the RealVNC implementation that is commonly included with Raspberry Pi's Raspbian installations.
  • \n
  • See also BonjourLauncher.recipes.VNC_RealVNC_Alternate for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.
  • \n
  • On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does not provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in /etc/avahi/services/vnc.service (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.VNC", - "stripped_doc": "Screen Sharing connections are initiated by the URL `vnc://%hostname%:%port%`, which usually opens up Screen Sharing which will prompt you for login credentials.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\",\n }\n * See also [BonjourLauncher.recipes.VNC_RealVNC_Alternate](#VNC_RealVNC_Alternate) for an example that can use an alternate launcher for RealVNC clients. Note that you sould use only one of these recipes, as they share the same label.\n * On Linux servers, some X Windows installations provide built in VNC support while others require you to configure your own with third party software (e.g. RealVNC or TigerVNC to name just a couple). Determining how to set this up is beyond the scope of these instructions, but if you find that whatever solution you have available does *not* provide ZeroConf or Bonjour advertisements, you can do so yourself by installing Avahi and saving the following in `/etc/avahi/services/vnc.service` (change 5900 to match the port number your windowing environment uses for VNC, commonly a number between 5900 and 5910 inclusive, but theoretically any available port on the machine):\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" }, { "def": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "def_gfm": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", "desc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.", - "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nThis version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n\nNotes:\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~\n", - "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.

\n

The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:

\n\n
{\n    image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n    label   = \"VNC\",\n    type    = \"_rfb._tcp.\",\n    text    = \"%name%\",\n    subText = \"vnc://%hostname%:%port%\",\n    url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n    cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n    fn      = function(svc, choice)\n        local tr = svc:txtRecord()\n        if tr and tr.RealVNC then\n            hs.execute(choice.cmd)\n        else\n            hs.urlevent.openURL(choice.url)\n        end\n    end,\n}\n\n
\n

Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.

\n

Notes:

\n
    \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.

    \n
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.

    \n
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:

    \n\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", + "doc": "Display computers and servers advertising screen sharing or VNC services advertised with the `_rfb._tcp.` service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.\n\nNotes:\n * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\n * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\n * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "doc_gfm": "

Display computers and servers advertising screen sharing or VNC services advertised with the _rfb._tcp. service type. This is advertised by MacOS machines with Screen Sharing enabled in the Sharing panel of System Preferences.

\n

Notes:

\n
    \n
  • This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn      = function(svc, choice)\n     local tr = svc:txtRecord()\n     if tr and tr.RealVNC then\n         hs.execute(choice.cmd)\n     else\n         hs.urlevent.openURL(choice.url)\n     end\n end,\n
    \n }
  • \n
  • Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.
  • \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", "file": "Source/BonjourLauncher.spoon/recipes.lua", - "lineno": "164", + "lineno": "147", "name": "VNC_RealVNC_Alternate", "notes": [ - " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service." - ], - "notes_gfm": "
    \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
\n", + " * This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.", + " * The template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:", + " {", + " image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),", + " label = \"VNC\",", + " type = \"_rfb._tcp.\",", + " text = \"%name%\",", + " subText = \"vnc://%hostname%:%port%\",", + " url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below", + " cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below", + " fn = function(svc, choice)", + " local tr = svc:txtRecord()", + " if tr and tr.RealVNC then", + " hs.execute(choice.cmd)", + " else", + " hs.urlevent.openURL(choice.url)", + " end", + " end,", + " }", + " * Note that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.", + " * This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.", + " * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.", + " * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:", + " ~~~", + " ", + " ", + " ", + " %h", + " ", + " _rfb._tcp", + " 5900", + " RealVNC=True", + " ", + " ", + " ~~~" + ], + "notes_gfm": "
    \n
  • This version of a template for _rfb._tcp. differs from BonjourLauncher.recipes.VNC in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.
  • \n
  • The template can be added to your BonjourLauncer with spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\") after the spoon has loaded, and is defined as follows:\n {\n
     image   = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label   = \"VNC\",\n type    = \"_rfb._tcp.\",\n text    = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url     = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd     = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn      = function(svc, choice)\n     local tr = svc:txtRecord()\n     if tr and tr.RealVNC then\n         hs.execute(choice.cmd)\n     else\n         hs.urlevent.openURL(choice.url)\n     end\n end,\n
    \n }
  • \n
  • Note that fn is defined, so it will be invoked in favor of url or cmd by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the url and cmd keys based on its own logic to determine which applies.
  • \n
  • This variant was developed to address the fact that the macOS Screen Sharing application does not recognize the encryption used by the RealVNC implemntataion found in the Raspbian distribution installed on most Raspberry Pi computers. By adding text record to the Avahi advertisement from the Raspberry Pi, we can determine whether or not to utilize the built in screen sharing app or launch the RealVNC client to view the specified service.
  • \n
  • See also BonjourLauncher.recipes.VNC for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.
  • \n
  • To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as /etc/avahi/services/vnc.service:\n
     <?xml version=\"1.0\" standalone='no'?>\n <!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n <service-group>\n   <name replace-wildcards=\"yes\">%h</name>\n   <service>\n     <type>_rfb._tcp</type>\n     <port>5900</port>\n     <txt-record>RealVNC=True</txt-record>\n   </service>\n </service-group>
    \n
  • \n
\n", "signature": "BonjourLauncher.recipes.VNC_RealVNC_Alternate", - "stripped_doc": "This version of a template for `_rfb._tcp.` differs from [BonjourLauncher.recipes.VNC](#VNC) in that it uses a function which examines the text records for the service to determine which launcher to use for the chosen server: because RealVNC uses an encryption scheme that is not recognized by the macOS Screen Sharing application, if a text record indicating that RealVNC is in use is detected, an alternate launcher is used.\nThe template can be added to your BonjourLauncer with `spoon.BonjourLauncher:addRecipes(\"VNC_RealVNC_Alternate\")` after the spoon has loaded, and is defined as follows:\n {\n image = hs.image.imageFromAppBundle(\"com.apple.ScreenSharing\"),\n label = \"VNC\",\n type = \"_rfb._tcp.\",\n text = \"%name%\",\n subText = \"vnc://%hostname%:%port%\",\n url = \"vnc://%hostname%:%port%\", -- used in fn when RealVNC not set ; see below\n cmd = \"open -a \\\"VNC Viewer\\\" --args %hostname%:%port%\", -- used in fn when RealVNC set; see below\n fn = function(svc, choice)\n local tr = svc:txtRecord()\n if tr and tr.RealVNC then\n hs.execute(choice.cmd)\n else\n hs.urlevent.openURL(choice.url)\n end\n end,\n }\nNote that `fn` is defined, so it will be invoked in favor of `url` or `cmd` by the BonjourLauncer spoon when a VNC service is selected; however, the second argument to the function invoked will include all key-value pairs with string values from the template, so the function can utilizes the `url` and `cmd` keys based on its own logic to determine which applies.\n * See also [BonjourLauncher.recipes.VNC](#VNC) for a simpler implementation if you are only connecting to other Mac computers or if none of your servers require RealVNC's specific viewer application.\n * To create the advertisement on the Raspbian installation which includes the text record entry we need to make this template work, install Avahi on your Raspbian machine and save the following as `/etc/avahi/services/vnc.service`:\n ~~~\n \n \n \n %h\n \n _rfb._tcp\n 5900\n RealVNC=True\n \n \n ~~~", + "stripped_doc": "", "type": "Variable" } ], @@ -2387,7 +2595,7 @@ "doc_gfm": "

Binds hotkeys for ClipboardTool

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • show_clipboard - Display the clipboard history chooser
    • \n
    • toggle_clipboard - Show/hide the clipboard history chooser
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "469", + "lineno": "472", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -2409,7 +2617,7 @@ "doc_gfm": "

If the pasteboard has changed, we add the current item to our history and update the counter

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "372", + "lineno": "375", "name": "checkAndStorePasteboard", "notes": [], "notes_gfm": "", @@ -2431,7 +2639,7 @@ "doc_gfm": "

Clears the clipboard and history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "169", + "lineno": "172", "name": "clearAll", "notes": [], "notes_gfm": "", @@ -2453,7 +2661,7 @@ "doc_gfm": "

Clears the last added to the history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "182", + "lineno": "185", "name": "clearLastItem", "notes": [], "notes_gfm": "", @@ -2475,7 +2683,7 @@ "doc_gfm": "

Add the given string to the history

\n

Parameters:

\n
    \n
  • item - string to add to the clipboard history
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "210", + "lineno": "213", "name": "pasteboardToClipboard", "notes": [], "notes_gfm": "", @@ -2499,7 +2707,7 @@ "doc_gfm": "

Verify whether the pasteboard contents matches one of the values in ClipboardTool.ignoredIdentifiers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "332", + "lineno": "335", "name": "shouldBeStored", "notes": [], "notes_gfm": "", @@ -2521,7 +2729,7 @@ "doc_gfm": "

Display the current clipboard list in a chooser

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "439", + "lineno": "442", "name": "showClipboard", "notes": [], "notes_gfm": "", @@ -2543,7 +2751,7 @@ "doc_gfm": "

Start the clipboard history collector

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "416", + "lineno": "419", "name": "start", "notes": [], "notes_gfm": "", @@ -2565,7 +2773,7 @@ "doc_gfm": "

Show/hide the clipboard list, depending on its current state

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "455", + "lineno": "458", "name": "toggleClipboard", "notes": [], "notes_gfm": "", @@ -2587,7 +2795,7 @@ "doc_gfm": "

Toggle the value of ClipboardTool.paste_on_select

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "124", + "lineno": "127", "name": "togglePasteOnSelect", "notes": [], "notes_gfm": "", @@ -2610,7 +2818,7 @@ "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc_gfm": "

Whether to remove duplicates from the list, keeping only the latest one. Defaults to true.

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "87", + "lineno": "90", "name": "deduplicate", "signature": "ClipboardTool.deduplicate", "stripped_doc": "", @@ -2658,14 +2866,29 @@ { "def": "ClipboardTool.ignoredIdentifiers", "def_gfm": "ClipboardTool.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", - "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):

\n\n
 {\n    [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n    [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n    [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n    [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n    [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n    [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n    [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n }
\n", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.

\n

Notes:

\n
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "file": "Source/ClipboardTool.spoon/init.lua", "lineno": "63", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "signature": "ClipboardTool.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -2714,7 +2937,7 @@ "doc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "doc_gfm": "

String to show in the menubar if ClipboardTool.show_in_menubar is true. Defaults to \"\\u{1f4cb}\", which is the Unicode clipboard character

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "97", + "lineno": "100", "name": "menubar_title", "signature": "ClipboardTool.menubar_title", "stripped_doc": "", @@ -2753,7 +2976,7 @@ "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc_gfm": "

Whether to show a menubar item to open the clipboard history. Defaults to true

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "92", + "lineno": "95", "name": "show_in_menubar", "signature": "ClipboardTool.show_in_menubar", "stripped_doc": "", @@ -2773,7 +2996,7 @@ "doc_gfm": "

Binds hotkeys for ClipboardTool

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • show_clipboard - Display the clipboard history chooser
    • \n
    • toggle_clipboard - Show/hide the clipboard history chooser
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "469", + "lineno": "472", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -2795,7 +3018,7 @@ "doc_gfm": "

If the pasteboard has changed, we add the current item to our history and update the counter

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "372", + "lineno": "375", "name": "checkAndStorePasteboard", "notes": [], "notes_gfm": "", @@ -2817,7 +3040,7 @@ "doc_gfm": "

Clears the clipboard and history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "169", + "lineno": "172", "name": "clearAll", "notes": [], "notes_gfm": "", @@ -2839,7 +3062,7 @@ "doc_gfm": "

Clears the last added to the history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "182", + "lineno": "185", "name": "clearLastItem", "notes": [], "notes_gfm": "", @@ -2860,7 +3083,7 @@ "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc_gfm": "

Whether to remove duplicates from the list, keeping only the latest one. Defaults to true.

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "87", + "lineno": "90", "name": "deduplicate", "signature": "ClipboardTool.deduplicate", "stripped_doc": "", @@ -2908,14 +3131,29 @@ { "def": "ClipboardTool.ignoredIdentifiers", "def_gfm": "ClipboardTool.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", - "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):

\n\n
 {\n    [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n    [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n    [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n    [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n    [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n    [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n    [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n }
\n", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.

\n

Notes:

\n
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "file": "Source/ClipboardTool.spoon/init.lua", "lineno": "63", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "signature": "ClipboardTool.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -2964,7 +3202,7 @@ "doc": "String to show in the menubar if `ClipboardTool.show_in_menubar` is `true`. Defaults to `\"\\u{1f4cb}\"`, which is the [Unicode clipboard character](https://codepoints.net/U+1F4CB)", "doc_gfm": "

String to show in the menubar if ClipboardTool.show_in_menubar is true. Defaults to \"\\u{1f4cb}\", which is the Unicode clipboard character

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "97", + "lineno": "100", "name": "menubar_title", "signature": "ClipboardTool.menubar_title", "stripped_doc": "", @@ -2991,7 +3229,7 @@ "doc_gfm": "

Add the given string to the history

\n

Parameters:

\n
    \n
  • item - string to add to the clipboard history
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "210", + "lineno": "213", "name": "pasteboardToClipboard", "notes": [], "notes_gfm": "", @@ -3015,7 +3253,7 @@ "doc_gfm": "

Verify whether the pasteboard contents matches one of the values in ClipboardTool.ignoredIdentifiers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "332", + "lineno": "335", "name": "shouldBeStored", "notes": [], "notes_gfm": "", @@ -3049,7 +3287,7 @@ "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc_gfm": "

Whether to show a menubar item to open the clipboard history. Defaults to true

\n", "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "92", + "lineno": "95", "name": "show_in_menubar", "signature": "ClipboardTool.show_in_menubar", "stripped_doc": "", @@ -3063,7 +3301,7 @@ "doc_gfm": "

Display the current clipboard list in a chooser

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "439", + "lineno": "442", "name": "showClipboard", "notes": [], "notes_gfm": "", @@ -3085,7 +3323,7 @@ "doc_gfm": "

Start the clipboard history collector

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "416", + "lineno": "419", "name": "start", "notes": [], "notes_gfm": "", @@ -3107,7 +3345,7 @@ "doc_gfm": "

Show/hide the clipboard list, depending on its current state

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "455", + "lineno": "458", "name": "toggleClipboard", "notes": [], "notes_gfm": "", @@ -3129,7 +3367,7 @@ "doc_gfm": "

Toggle the value of ClipboardTool.paste_on_select

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/ClipboardTool.spoon/init.lua", - "lineno": "124", + "lineno": "127", "name": "togglePasteOnSelect", "notes": [], "notes_gfm": "", @@ -3633,14 +3871,16 @@ "def": "Commander.addCommand(commandTable)", "def_gfm": "Commander.addCommand(commandTable)", "desc": "Add a command to Commander.commandTable", - "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable\n key is name of command, value is the function.\n\nNote:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", - "doc_gfm": "

Add a command to Commander.commandTable

\n

Parameters:

\n
    \n
  • commandTable - It is a table with same form of Commander.commandTable\n
              key is name of command, value is the function.
    \n
  • \n
\n

Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.

\n", + "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.\n\nNotes:\n * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.", + "doc_gfm": "

Add a command to Commander.commandTable

\n

Parameters:

\n
    \n
  • commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.
  • \n
\n

Notes:

\n
    \n
  • Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "128", + "lineno": "124", "name": "addCommand", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing." + ], + "notes_gfm": "
    \n
  • Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.
  • \n
\n", "parameters": [ " * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function." ], @@ -3648,7 +3888,7 @@ "returns": [], "returns_gfm": "", "signature": "Commander.addCommand(commandTable)", - "stripped_doc": "Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "stripped_doc": "", "type": "Function" }, { @@ -3659,7 +3899,7 @@ "doc_gfm": "

This function simply set Commander.commandTable to {}, then the next time commander chooser is called it will generate the table again.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "143", + "lineno": "137", "name": "resetCommandTable", "notes": [], "notes_gfm": "", @@ -3681,7 +3921,7 @@ "doc_gfm": "

This function shows the command chooser. Bind this to a hotkey to use commander.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "68", + "lineno": "64", "name": "show", "notes": [], "notes_gfm": "", @@ -3702,52 +3942,60 @@ "def": "Commander.commandTable", "def_gfm": "Commander.commandTable", "desc": "This is the table which stores all the commands", - "doc": "This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", - "doc_gfm": "

This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.

\n", + "doc": "This is the table which stores all the commands\n\nNotes:\n * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.", + "doc_gfm": "

This is the table which stores all the commands

\n

Notes:

\n
    \n
  • Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.
  • \n
\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "32", + "lineno": "33", "name": "commandTable", + "notes": [ + " * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it." + ], + "notes_gfm": "
    \n
  • Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.
  • \n
\n", "signature": "Commander.commandTable", - "stripped_doc": "Each key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceLayout", "def_gfm": "Commander.forceLayout", - "desc": "If you want to switch to a layout when enabled chooser,", - "doc": "If you want to switch to a layout when enabled chooser,\nset this to name of that layout", - "doc_gfm": "

If you want to switch to a layout when enabled chooser,\nset this to name of that layout

\n", + "desc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc_gfm": "

If you want to switch to a layout when enabled chooser, set this to name of that layout

\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "56", + "lineno": "54", "name": "forceLayout", "signature": "Commander.forceLayout", - "stripped_doc": "set this to name of that layout", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceMethod", "def_gfm": "Commander.forceMethod", - "desc": "If you want to switch to a method when enabled chooser,", - "doc": "If you want to switch to a method when enabled chooser,\nset this to name of that method", - "doc_gfm": "

If you want to switch to a method when enabled chooser,\nset this to name of that method

\n", + "desc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc_gfm": "

If you want to switch to a method when enabled chooser, set this to name of that method

\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "forceMethod", "signature": "Commander.forceMethod", - "stripped_doc": "set this to name of that method", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.ignoredCommandList", "def_gfm": "Commander.ignoredCommandList", - "desc": "This list contains all the ignored function names,", - "doc": "This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.\n\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", - "doc_gfm": "

This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.

\n

The list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.

\n", + "desc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.", + "doc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.\n\nNotes:\n * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.", + "doc_gfm": "

This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.

\n

Notes:

\n
    \n
  • The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.
  • \n
\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "40", + "lineno": "41", "name": "ignoredCommandList", + "notes": [ + " * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc." + ], + "notes_gfm": "
    \n
  • The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.
  • \n
\n", "signature": "Commander.ignoredCommandList", - "stripped_doc": "any function matches the name inside this list will not\nbe added to Commander.commandTable.\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "stripped_doc": "", "type": "Variable" } ], @@ -3760,14 +4008,16 @@ "def": "Commander.addCommand(commandTable)", "def_gfm": "Commander.addCommand(commandTable)", "desc": "Add a command to Commander.commandTable", - "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable\n key is name of command, value is the function.\n\nNote:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", - "doc_gfm": "

Add a command to Commander.commandTable

\n

Parameters:

\n
    \n
  • commandTable - It is a table with same form of Commander.commandTable\n
              key is name of command, value is the function.
    \n
  • \n
\n

Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.

\n", + "doc": "Add a command to Commander.commandTable\n\nParameters:\n * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.\n\nNotes:\n * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.", + "doc_gfm": "

Add a command to Commander.commandTable

\n

Parameters:

\n
    \n
  • commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function.
  • \n
\n

Notes:

\n
    \n
  • Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "128", + "lineno": "124", "name": "addCommand", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing." + ], + "notes_gfm": "
    \n
  • Commander doesn't test the name against Commander.ignoredCommandList because it assumes you know what you are doing.
  • \n
\n", "parameters": [ " * commandTable - It is a table with same form of Commander.commandTable key is name of command, value is the function." ], @@ -3775,59 +4025,67 @@ "returns": [], "returns_gfm": "", "signature": "Commander.addCommand(commandTable)", - "stripped_doc": "Note:\nCommander doesn't test the name against Commander.ignoredCommandList\nbecause it assumes you know what you are doing.", + "stripped_doc": "", "type": "Function" }, { "def": "Commander.commandTable", "def_gfm": "Commander.commandTable", "desc": "This is the table which stores all the commands", - "doc": "This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", - "doc_gfm": "

This is the table which stores all the commands\nEach key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.

\n", + "doc": "This is the table which stores all the commands\n\nNotes:\n * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.", + "doc_gfm": "

This is the table which stores all the commands

\n

Notes:

\n
    \n
  • Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.
  • \n
\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "32", + "lineno": "33", "name": "commandTable", + "notes": [ + " * Each key is the name of the command, and each value is the actual function. You can add your custom commands to it." + ], + "notes_gfm": "
    \n
  • Each key is the name of the command, and each value is the actual function. You can add your custom commands to it.
  • \n
\n", "signature": "Commander.commandTable", - "stripped_doc": "Each key is the name of the command,\nand each value is the actual function.\nyou can add your custom commands to it.", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceLayout", "def_gfm": "Commander.forceLayout", - "desc": "If you want to switch to a layout when enabled chooser,", - "doc": "If you want to switch to a layout when enabled chooser,\nset this to name of that layout", - "doc_gfm": "

If you want to switch to a layout when enabled chooser,\nset this to name of that layout

\n", + "desc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc": "If you want to switch to a layout when enabled chooser, set this to name of that layout", + "doc_gfm": "

If you want to switch to a layout when enabled chooser, set this to name of that layout

\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "56", + "lineno": "54", "name": "forceLayout", "signature": "Commander.forceLayout", - "stripped_doc": "set this to name of that layout", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.forceMethod", "def_gfm": "Commander.forceMethod", - "desc": "If you want to switch to a method when enabled chooser,", - "doc": "If you want to switch to a method when enabled chooser,\nset this to name of that method", - "doc_gfm": "

If you want to switch to a method when enabled chooser,\nset this to name of that method

\n", + "desc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc": "If you want to switch to a method when enabled chooser, set this to name of that method", + "doc_gfm": "

If you want to switch to a method when enabled chooser, set this to name of that method

\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "forceMethod", "signature": "Commander.forceMethod", - "stripped_doc": "set this to name of that method", + "stripped_doc": "", "type": "Variable" }, { "def": "Commander.ignoredCommandList", "def_gfm": "Commander.ignoredCommandList", - "desc": "This list contains all the ignored function names,", - "doc": "This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.\n\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", - "doc_gfm": "

This list contains all the ignored function names,\nany function matches the name inside this list will not\nbe added to Commander.commandTable.

\n

The list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.

\n", + "desc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.", + "doc": "This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.\n\nNotes:\n * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.", + "doc_gfm": "

This list contains all the ignored function names, any function matches the name inside this list will not be added to Commander.commandTable.

\n

Notes:

\n
    \n
  • The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.
  • \n
\n", "file": "Source/Commander.spoon/init.lua", - "lineno": "40", + "lineno": "41", "name": "ignoredCommandList", + "notes": [ + " * The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc." + ], + "notes_gfm": "
    \n
  • The list contains normal lua builtin functions and some hammerspoon functions that generally shouldn't be a command, such as init, bindHotkeys, etc.
  • \n
\n", "signature": "Commander.ignoredCommandList", - "stripped_doc": "any function matches the name inside this list will not\nbe added to Commander.commandTable.\nThe list contains normal lua builtin functions\nand some hammerspoon functions that generally shouldn't\nbe a command, such as init, bindHotkeys, etc.", + "stripped_doc": "", "type": "Variable" }, { @@ -3838,7 +4096,7 @@ "doc_gfm": "

This function simply set Commander.commandTable to {}, then the next time commander chooser is called it will generate the table again.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "143", + "lineno": "137", "name": "resetCommandTable", "notes": [], "notes_gfm": "", @@ -3860,7 +4118,7 @@ "doc_gfm": "

This function shows the command chooser. Bind this to a hotkey to use commander.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Commander.spoon/init.lua", - "lineno": "68", + "lineno": "64", "name": "show", "notes": [], "notes_gfm": "", @@ -4337,18 +4595,19 @@ "def": "EjectMenu:bindHotkeys(mapping)", "def_gfm": "EjectMenu:bindHotkeys(mapping)", "desc": "Binds hotkeys for EjectMenu", - "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", - "doc_gfm": "

Binds hotkeys for EjectMenu

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • ejectAll - eject all volumes.
    • \n
    \n
  • \n
\n", + "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", + "doc_gfm": "

Binds hotkeys for EjectMenu

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
  • \n
  • ejectAll - eject all volumes.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "220", + "lineno": "215", "name": "bindHotkeys", "notes": [], "notes_gfm": "", "parameters": [ - " * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes." + " * mapping - A table containing hotkey objifier/key details for the following items:", + " * ejectAll - eject all volumes." ], - "parameters_gfm": "
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • ejectAll - eject all volumes.
    • \n
    \n
  • \n
\n", + "parameters_gfm": "
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
  • \n
  • ejectAll - eject all volumes.
  • \n
\n", "returns": [], "returns_gfm": "", "signature": "EjectMenu:bindHotkeys(mapping)", @@ -4363,7 +4622,7 @@ "doc_gfm": "

Eject all volumes

\n

Parameters:

\n
    \n
  • persistent_notifs: a boolean indicating whether notifications (if shown) should be persistent.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "126", + "lineno": "123", "name": "ejectVolumes", "notes": [], "notes_gfm": "", @@ -4385,7 +4644,7 @@ "doc_gfm": "

Determine if a volume should be ejected.

\n

Parameters:

\n
    \n
  • path - the mount path of the volume.
  • \n
  • info - a table containing a data structure as returned by hs.fs.volume.allVolumes().
  • \n
\n

Returns:

\n
    \n
  • A boolean indicating whether the volume should be ejected.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "71", + "lineno": "70", "name": "shouldEject", "notes": [], "notes_gfm": "", @@ -4410,7 +4669,7 @@ "doc_gfm": "

Start the watchers for power events and screen changes, to trigger volume ejection.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "247", + "lineno": "241", "name": "start", "notes": [], "notes_gfm": "", @@ -4432,7 +4691,7 @@ "doc_gfm": "

Stop the watchers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "289", + "lineno": "283", "name": "stop", "notes": [], "notes_gfm": "", @@ -4450,11 +4709,11 @@ "def": "EjectMenu:volumesToEject()", "def_gfm": "EjectMenu:volumesToEject()", "desc": "Return table of volumes to be ejected when \"Eject All\" is invoked.", - "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by\n `hs.fs.volume.allVolumes()` but containing only those volumes\n for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", - "doc_gfm": "

Return table of volumes to be ejected when \"Eject All\" is invoked.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • A table in the same format as returned by\nhs.fs.volume.allVolumes() but containing only those volumes\nfor which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", + "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", + "doc_gfm": "

Return table of volumes to be ejected when \"Eject All\" is invoked.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • A table in the same format as returned by hs.fs.volume.allVolumes() but containing only those volumes for which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "86", + "lineno": "85", "name": "volumesToEject", "notes": [], "notes_gfm": "", @@ -4463,12 +4722,10 @@ ], "parameters_gfm": "
    \n
  • None
  • \n
\n", "returns": [ - " * A table in the same format as returned by", - " `hs.fs.volume.allVolumes()` but containing only those volumes", - " for which `EjectMenu:shouldEject()` returns `true`.", + " * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.", " * An integer indicating how many volumes are in the table." ], - "returns_gfm": "
    \n
  • A table in the same format as returned by\nhs.fs.volume.allVolumes() but containing only those volumes\nfor which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", + "returns_gfm": "
    \n
  • A table in the same format as returned by hs.fs.volume.allVolumes() but containing only those volumes for which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", "signature": "EjectMenu:volumesToEject()", "stripped_doc": "", "type": "Method" @@ -4478,14 +4735,19 @@ { "def": "EjectMenu.eject_on_lid_close", "def_gfm": "EjectMenu.eject_on_lid_close", - "desc": "Boolean, whether to eject volumes when the laptop lid is closed", - "doc": "Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", - "doc_gfm": "

Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\nfalse

\n", + "desc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.", + "doc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.\n\nNotes:\n * There is no \"lid close\" event, so we detect when the internal display gets disabled.\n * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`", + "doc_gfm": "

Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.

\n

Notes:

\n
    \n
  • There is no \"lid close\" event, so we detect when the internal display gets disabled.
  • \n
  • This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is false
  • \n
\n", "file": "Source/EjectMenu.spoon/init.lua", "lineno": "48", "name": "eject_on_lid_close", + "notes": [ + " * There is no \"lid close\" event, so we detect when the internal display gets disabled.", + " * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`" + ], + "notes_gfm": "
    \n
  • There is no \"lid close\" event, so we detect when the internal display gets disabled.
  • \n
  • This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is false
  • \n
\n", "signature": "EjectMenu.eject_on_lid_close", - "stripped_doc": "with an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "stripped_doc": "", "type": "Variable" }, { @@ -4543,14 +4805,18 @@ { "def": "EjectMenu.other_eject_events", "def_gfm": "EjectMenu.other_eject_events", - "desc": "List of additional system events on which the volumes should be ejected. The", - "doc": "List of additional system events on which the volumes should be ejected. The\nvalues must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", - "doc_gfm": "

List of additional system events on which the volumes should be ejected. The\nvalues must be\nhttp://www.hammerspoon.org/docs/hs.caffeinate.watcher.html\nconstant values. Default value: empty list

\n", + "desc": "List of additional system events on which the volumes should be ejected.", + "doc": "List of additional system events on which the volumes should be ejected.\n\nNotes:\n * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list", + "doc_gfm": "

List of additional system events on which the volumes should be ejected.

\n

Notes:

\n\n", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "63", + "lineno": "62", "name": "other_eject_events", + "notes": [ + " * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list" + ], + "notes_gfm": "\n", "signature": "EjectMenu.other_eject_events", - "stripped_doc": "values must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "stripped_doc": "", "type": "Variable" }, { @@ -4560,7 +4826,7 @@ "doc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "doc_gfm": "

Boolean, whether to show a menubar button to eject all drives. Default value: true

\n", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "58", + "lineno": "57", "name": "show_in_menubar", "signature": "EjectMenu.show_in_menubar", "stripped_doc": "", @@ -4576,18 +4842,19 @@ "def": "EjectMenu:bindHotkeys(mapping)", "def_gfm": "EjectMenu:bindHotkeys(mapping)", "desc": "Binds hotkeys for EjectMenu", - "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", - "doc_gfm": "

Binds hotkeys for EjectMenu

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • ejectAll - eject all volumes.
    • \n
    \n
  • \n
\n", + "doc": "Binds hotkeys for EjectMenu\n\nParameters:\n * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes.", + "doc_gfm": "

Binds hotkeys for EjectMenu

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
  • \n
  • ejectAll - eject all volumes.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "220", + "lineno": "215", "name": "bindHotkeys", "notes": [], "notes_gfm": "", "parameters": [ - " * mapping - A table containing hotkey objifier/key details for the following items:\n * ejectAll - eject all volumes." + " * mapping - A table containing hotkey objifier/key details for the following items:", + " * ejectAll - eject all volumes." ], - "parameters_gfm": "
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • ejectAll - eject all volumes.
    • \n
    \n
  • \n
\n", + "parameters_gfm": "
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
  • \n
  • ejectAll - eject all volumes.
  • \n
\n", "returns": [], "returns_gfm": "", "signature": "EjectMenu:bindHotkeys(mapping)", @@ -4597,14 +4864,19 @@ { "def": "EjectMenu.eject_on_lid_close", "def_gfm": "EjectMenu.eject_on_lid_close", - "desc": "Boolean, whether to eject volumes when the laptop lid is closed", - "doc": "Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", - "doc_gfm": "

Boolean, whether to eject volumes when the laptop lid is closed\nwith an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\nfalse

\n", + "desc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.", + "doc": "Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.\n\nNotes:\n * There is no \"lid close\" event, so we detect when the internal display gets disabled.\n * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`", + "doc_gfm": "

Boolean, whether to eject volumes when the laptop lid is closed with an external display connected.

\n

Notes:

\n
    \n
  • There is no \"lid close\" event, so we detect when the internal display gets disabled.
  • \n
  • This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is false
  • \n
\n", "file": "Source/EjectMenu.spoon/init.lua", "lineno": "48", "name": "eject_on_lid_close", + "notes": [ + " * There is no \"lid close\" event, so we detect when the internal display gets disabled.", + " * This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is `false`" + ], + "notes_gfm": "
    \n
  • There is no \"lid close\" event, so we detect when the internal display gets disabled.
  • \n
  • This method is somewhat unreliable (e.g. it also triggers when the internal display goes to sleep due to inactivity), so its default value is false
  • \n
\n", "signature": "EjectMenu.eject_on_lid_close", - "stripped_doc": "with an external display connected. There is no \"lid close\" event,\nso we detect when the internal display gets disabled. This method\nis somewhat unreliable (e.g. it also triggers when the internal\ndisplay goes to sleep due to inactivity), so its default value is\n`false`", + "stripped_doc": "", "type": "Variable" }, { @@ -4628,7 +4900,7 @@ "doc_gfm": "

Eject all volumes

\n

Parameters:

\n
    \n
  • persistent_notifs: a boolean indicating whether notifications (if shown) should be persistent.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "126", + "lineno": "123", "name": "ejectVolumes", "notes": [], "notes_gfm": "", @@ -4684,14 +4956,18 @@ { "def": "EjectMenu.other_eject_events", "def_gfm": "EjectMenu.other_eject_events", - "desc": "List of additional system events on which the volumes should be ejected. The", - "doc": "List of additional system events on which the volumes should be ejected. The\nvalues must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", - "doc_gfm": "

List of additional system events on which the volumes should be ejected. The\nvalues must be\nhttp://www.hammerspoon.org/docs/hs.caffeinate.watcher.html\nconstant values. Default value: empty list

\n", + "desc": "List of additional system events on which the volumes should be ejected.", + "doc": "List of additional system events on which the volumes should be ejected.\n\nNotes:\n * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list", + "doc_gfm": "

List of additional system events on which the volumes should be ejected.

\n

Notes:

\n\n", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "63", + "lineno": "62", "name": "other_eject_events", + "notes": [ + " * The values must be [http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`) constant values. Default value: empty list" + ], + "notes_gfm": "\n", "signature": "EjectMenu.other_eject_events", - "stripped_doc": "values must be\n[http://www.hammerspoon.org/docs/hs.caffeinate.watcher.html](`hs.caffeinate.watcher`)\nconstant values. Default value: empty list", + "stripped_doc": "", "type": "Variable" }, { @@ -4702,7 +4978,7 @@ "doc_gfm": "

Determine if a volume should be ejected.

\n

Parameters:

\n
    \n
  • path - the mount path of the volume.
  • \n
  • info - a table containing a data structure as returned by hs.fs.volume.allVolumes().
  • \n
\n

Returns:

\n
    \n
  • A boolean indicating whether the volume should be ejected.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "71", + "lineno": "70", "name": "shouldEject", "notes": [], "notes_gfm": "", @@ -4726,7 +5002,7 @@ "doc": "Boolean, whether to show a menubar button to eject all drives. Default value: true", "doc_gfm": "

Boolean, whether to show a menubar button to eject all drives. Default value: true

\n", "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "58", + "lineno": "57", "name": "show_in_menubar", "signature": "EjectMenu.show_in_menubar", "stripped_doc": "", @@ -4740,7 +5016,7 @@ "doc_gfm": "

Start the watchers for power events and screen changes, to trigger volume ejection.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "247", + "lineno": "241", "name": "start", "notes": [], "notes_gfm": "", @@ -4762,7 +5038,7 @@ "doc_gfm": "

Stop the watchers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "289", + "lineno": "283", "name": "stop", "notes": [], "notes_gfm": "", @@ -4780,11 +5056,11 @@ "def": "EjectMenu:volumesToEject()", "def_gfm": "EjectMenu:volumesToEject()", "desc": "Return table of volumes to be ejected when \"Eject All\" is invoked.", - "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by\n `hs.fs.volume.allVolumes()` but containing only those volumes\n for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", - "doc_gfm": "

Return table of volumes to be ejected when \"Eject All\" is invoked.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • A table in the same format as returned by\nhs.fs.volume.allVolumes() but containing only those volumes\nfor which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", + "doc": "Return table of volumes to be ejected when \"Eject All\" is invoked.\n\nParameters:\n * None\n\nReturns:\n * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.\n * An integer indicating how many volumes are in the table.", + "doc_gfm": "

Return table of volumes to be ejected when \"Eject All\" is invoked.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • A table in the same format as returned by hs.fs.volume.allVolumes() but containing only those volumes for which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", "examples": [], "file": "Source/EjectMenu.spoon/init.lua", - "lineno": "86", + "lineno": "85", "name": "volumesToEject", "notes": [], "notes_gfm": "", @@ -4793,12 +5069,10 @@ ], "parameters_gfm": "
    \n
  • None
  • \n
\n", "returns": [ - " * A table in the same format as returned by", - " `hs.fs.volume.allVolumes()` but containing only those volumes", - " for which `EjectMenu:shouldEject()` returns `true`.", + " * A table in the same format as returned by `hs.fs.volume.allVolumes()` but containing only those volumes for which `EjectMenu:shouldEject()` returns `true`.", " * An integer indicating how many volumes are in the table." ], - "returns_gfm": "
    \n
  • A table in the same format as returned by\nhs.fs.volume.allVolumes() but containing only those volumes\nfor which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", + "returns_gfm": "
    \n
  • A table in the same format as returned by hs.fs.volume.allVolumes() but containing only those volumes for which EjectMenu:shouldEject() returns true.
  • \n
  • An integer indicating how many volumes are in the table.
  • \n
\n", "signature": "EjectMenu:volumesToEject()", "stripped_doc": "", "type": "Method" @@ -6075,7 +6349,7 @@ "doc_gfm": "

Callback function to use as an audio device watcher, to pause/unpause the application on headphones plugged/unplugged

\n

Parameters:

\n
    \n
  • dev_uid - The audio device
  • \n
  • event_name - The event name
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "92", + "lineno": "97", "name": "audiodevwatch", "notes": [], "notes_gfm": "", @@ -6098,7 +6372,7 @@ "doc_gfm": "

Generate the most common set of application control definition.

\n

Parameters:

\n
    \n
  • app - name of the application, with its correct letter casing (i.e. \"iTunes\"). The name as provided will be used to find the running application, and its lowercase version will be used to find the corresponding hs.* module.
  • \n
\n

Returns:

\n
    \n
  • A table in the correct format for HeadphoneAutoPause.controlfns, using the lower-case value of app as the module name (for example, if app = \"iTunes\", the module loaded will be hs.itunes, and assuming the functions isPlaying(), play() and pause() exist in that module.
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "47", + "lineno": "51", "name": "defaultControlFns", "notes": [], "notes_gfm": "", @@ -6122,7 +6396,7 @@ "doc_gfm": "

Start headphone detection on all audio devices that support it

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "132", + "lineno": "137", "name": "start", "notes": [], "notes_gfm": "", @@ -6144,7 +6418,7 @@ "doc_gfm": "

Stop headphone detection

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "152", + "lineno": "157", "name": "stop", "notes": [], "notes_gfm": "", @@ -6164,39 +6438,64 @@ "def": "HeadphoneAutoPause.autoResume", "def_gfm": "HeadphoneAutoPause.autoResume", "desc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.", - "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nDefault value: `true`", - "doc_gfm": "

Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.

\n

Default value: true

\n", + "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nNotes:\n * Default value: `true`", + "doc_gfm": "

Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.

\n

Notes:

\n
    \n
  • Default value: true
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "40", + "lineno": "43", "name": "autoResume", + "notes": [ + " * Default value: `true`" + ], + "notes_gfm": "
    \n
  • Default value: true
  • \n
\n", "signature": "HeadphoneAutoPause.autoResume", - "stripped_doc": "Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.control", "def_gfm": "HeadphoneAutoPause.control", - "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", - "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", - "doc_gfm": "

Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding hs.* module. Default value:

\n\n
{\n   itunes = true,\n   spotify = true,\n   deezer = true,\n   vox = false -- Vox has built-in headphone detection support\n}
\n", + "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.", + "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.\n\nNotes:\n * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "doc_gfm": "

Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.

\n

Notes:

\n
    \n
  • The key name must ideally correspond to the name of the corresponding hs.* module. Default value:\n
    {\nitunes = true,\nspotify = true,\ndeezer = true,\nvox = false -- Vox has built-in headphone detection support\n}
    \n
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", "lineno": "22", "name": "control", + "notes": [ + " * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", + "```", + "{", + " itunes = true,", + " spotify = true,", + " deezer = true,", + " vox = false -- Vox has built-in headphone detection support", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The key name must ideally correspond to the name of the corresponding hs.* module. Default value:\n
    {\nitunes = true,\nspotify = true,\ndeezer = true,\nvox = false -- Vox has built-in headphone detection support\n}
    \n
  • \n
\n", "signature": "HeadphoneAutoPause.control", - "stripped_doc": "```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.controlfns", "def_gfm": "HeadphoneAutoPause.controlfns", "desc": "Table containing control functions for each application to control.", - "doc": "Table containing control functions for each application to control.\nThe keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", - "doc_gfm": "

Table containing control functions for each application to control.\nThe keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:

\n
    \n
  • appname - application name (case-sensitive, as the application appears to the system)
  • \n
  • isPlaying - function that returns a true value if the application is playing
  • \n
  • play - function that starts playback in the application
  • \n
  • pause - function that pauses playback in the application
  • \n
\n

The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.

\n", + "doc": "Table containing control functions for each application to control.\n\nNotes:\n * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "doc_gfm": "

Table containing control functions for each application to control.

\n

Notes:

\n
    \n
  • The keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:
      \n
    • appname - application name (case-sensitive, as the application appears to the system)
    • \n
    • isPlaying - function that returns a true value if the application is playing
    • \n
    • play - function that starts playback in the application
    • \n
    • pause - function that pauses playback in the application
    • \n
    \n
  • \n
  • The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "64", + "lineno": "68", "name": "controlfns", + "notes": [ + " * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:", + " * `appname` - application name (case-sensitive, as the application appears to the system)", + " * `isPlaying` - function that returns a true value if the application is playing", + " * `play` - function that starts playback in the application", + " * `pause` - function that pauses playback in the application", + " * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively." + ], + "notes_gfm": "
    \n
  • The keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:
      \n
    • appname - application name (case-sensitive, as the application appears to the system)
    • \n
    • isPlaying - function that returns a true value if the application is playing
    • \n
    • play - function that starts playback in the application
    • \n
    • pause - function that pauses playback in the application
    • \n
    \n
  • \n
  • The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.
  • \n
\n", "signature": "HeadphoneAutoPause.controlfns", - "stripped_doc": "The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "stripped_doc": "", "type": "Variable" }, { @@ -6226,7 +6525,7 @@ "doc_gfm": "

Callback function to use as an audio device watcher, to pause/unpause the application on headphones plugged/unplugged

\n

Parameters:

\n
    \n
  • dev_uid - The audio device
  • \n
  • event_name - The event name
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "92", + "lineno": "97", "name": "audiodevwatch", "notes": [], "notes_gfm": "", @@ -6245,39 +6544,64 @@ "def": "HeadphoneAutoPause.autoResume", "def_gfm": "HeadphoneAutoPause.autoResume", "desc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.", - "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nDefault value: `true`", - "doc_gfm": "

Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.

\n

Default value: true

\n", + "doc": "Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.\n\nNotes:\n * Default value: `true`", + "doc_gfm": "

Boolean value indicating if music should be automatically resumed when headphones are plugged in again. Only works if music was automatically paused when headphones were unplugged.

\n

Notes:

\n
    \n
  • Default value: true
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "40", + "lineno": "43", "name": "autoResume", + "notes": [ + " * Default value: `true`" + ], + "notes_gfm": "
    \n
  • Default value: true
  • \n
\n", "signature": "HeadphoneAutoPause.autoResume", - "stripped_doc": "Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.control", "def_gfm": "HeadphoneAutoPause.control", - "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", - "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", - "doc_gfm": "

Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged. The key name must ideally correspond to the name of the corresponding hs.* module. Default value:

\n\n
{\n   itunes = true,\n   spotify = true,\n   deezer = true,\n   vox = false -- Vox has built-in headphone detection support\n}
\n", + "desc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.", + "doc": "Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.\n\nNotes:\n * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:\n```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "doc_gfm": "

Table containing one key per application, with the value indicating whether HeadphoneAutoPause should try to pause/unpause that application in response to the headphone being plugged/unplugged.

\n

Notes:

\n
    \n
  • The key name must ideally correspond to the name of the corresponding hs.* module. Default value:\n
    {\nitunes = true,\nspotify = true,\ndeezer = true,\nvox = false -- Vox has built-in headphone detection support\n}
    \n
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", "lineno": "22", "name": "control", + "notes": [ + " * The key name must ideally correspond to the name of the corresponding `hs.*` module. Default value:", + "```", + "{", + " itunes = true,", + " spotify = true,", + " deezer = true,", + " vox = false -- Vox has built-in headphone detection support", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The key name must ideally correspond to the name of the corresponding hs.* module. Default value:\n
    {\nitunes = true,\nspotify = true,\ndeezer = true,\nvox = false -- Vox has built-in headphone detection support\n}
    \n
  • \n
\n", "signature": "HeadphoneAutoPause.control", - "stripped_doc": "```\n{\n itunes = true,\n spotify = true,\n deezer = true,\n vox = false -- Vox has built-in headphone detection support\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "HeadphoneAutoPause.controlfns", "def_gfm": "HeadphoneAutoPause.controlfns", "desc": "Table containing control functions for each application to control.", - "doc": "Table containing control functions for each application to control.\nThe keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", - "doc_gfm": "

Table containing control functions for each application to control.\nThe keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:

\n
    \n
  • appname - application name (case-sensitive, as the application appears to the system)
  • \n
  • isPlaying - function that returns a true value if the application is playing
  • \n
  • play - function that starts playback in the application
  • \n
  • pause - function that pauses playback in the application
  • \n
\n

The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.

\n", + "doc": "Table containing control functions for each application to control.\n\nNotes:\n * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\n * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "doc_gfm": "

Table containing control functions for each application to control.

\n

Notes:

\n
    \n
  • The keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:
      \n
    • appname - application name (case-sensitive, as the application appears to the system)
    • \n
    • isPlaying - function that returns a true value if the application is playing
    • \n
    • play - function that starts playback in the application
    • \n
    • pause - function that pauses playback in the application
    • \n
    \n
  • \n
  • The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.
  • \n
\n", "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "64", + "lineno": "68", "name": "controlfns", + "notes": [ + " * The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:", + " * `appname` - application name (case-sensitive, as the application appears to the system)", + " * `isPlaying` - function that returns a true value if the application is playing", + " * `play` - function that starts playback in the application", + " * `pause` - function that pauses playback in the application", + " * The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively." + ], + "notes_gfm": "
    \n
  • The keys must correspond to the values in HeadphoneAutoPause.control, and the value is a table with the following elements:
      \n
    • appname - application name (case-sensitive, as the application appears to the system)
    • \n
    • isPlaying - function that returns a true value if the application is playing
    • \n
    • play - function that starts playback in the application
    • \n
    • pause - function that pauses playback in the application
    • \n
    \n
  • \n
  • The default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from hs.itunes, hs.spotify, hs.deezer and hs.vox, respectively.
  • \n
\n", "signature": "HeadphoneAutoPause.controlfns", - "stripped_doc": "The keys must correspond to the values in `HeadphoneAutoPause.control`, and the value is a table with the following elements:\n * `appname` - application name (case-sensitive, as the application appears to the system)\n * `isPlaying` - function that returns a true value if the application is playing\n * `play` - function that starts playback in the application\n * `pause` - function that pauses playback in the application\nThe default value includes definitions for iTunes, Spotify, Deezer and Vox, using the corresponding functions from `hs.itunes`, `hs.spotify`, `hs.deezer` and `hs.vox`, respectively.", + "stripped_doc": "", "type": "Variable" }, { @@ -6288,7 +6612,7 @@ "doc_gfm": "

Generate the most common set of application control definition.

\n

Parameters:

\n
    \n
  • app - name of the application, with its correct letter casing (i.e. \"iTunes\"). The name as provided will be used to find the running application, and its lowercase version will be used to find the corresponding hs.* module.
  • \n
\n

Returns:

\n
    \n
  • A table in the correct format for HeadphoneAutoPause.controlfns, using the lower-case value of app as the module name (for example, if app = \"iTunes\", the module loaded will be hs.itunes, and assuming the functions isPlaying(), play() and pause() exist in that module.
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "47", + "lineno": "51", "name": "defaultControlFns", "notes": [], "notes_gfm": "", @@ -6325,7 +6649,7 @@ "doc_gfm": "

Start headphone detection on all audio devices that support it

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "132", + "lineno": "137", "name": "start", "notes": [], "notes_gfm": "", @@ -6347,7 +6671,7 @@ "doc_gfm": "

Stop headphone detection

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/HeadphoneAutoPause.spoon/init.lua", - "lineno": "152", + "lineno": "157", "name": "stop", "notes": [], "notes_gfm": "", @@ -7882,7 +8206,7 @@ "doc_gfm": "

Check and display (if needed) the status of all the books in watch_books

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "313", + "lineno": "281", "name": "displayAllBookStatus", "notes": [], "notes_gfm": "", @@ -7900,11 +8224,11 @@ "def": "Leanpub:displayBookStatus(book)", "def_gfm": "Leanpub:displayBookStatus(book)", "desc": "Display a notification with the current build status of a book.", - "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to\n check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part\n of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the\n book, as an `hs.image` object. If this field is not specified\n but `fetch_leanpub_covers` is true (the default value), this\n method attempts to fetch the book cover from Leanpub. If the\n cover can be retrieved, it gets stored in the icon field so\n it doesn't get fetched every time. You can disable cover\n fetching for individual books by setting this field\n explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an\n error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", - "doc_gfm": "

Display a notification with the current build status of a book.

\n

Parameters:

\n
    \n
  • book - table containing the information of the book to\ncheck. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part\nof the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the\nbook, as an hs.image object. If this field is not specified\nbut fetch_leanpub_covers is true (the default value), this\nmethod attempts to fetch the book cover from Leanpub. If the\ncover can be retrieved, it gets stored in the icon field so\nit doesn't get fetched every time. You can disable cover\nfetching for individual books by setting this field\nexplicitly to false
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • A Lua table containing the status (may be empty), nil if an\nerror occurred
  • \n
\n

Notes:

\n
    \n
  • Only produce a notification if the current status is different than the last known one (from the last time displayBookStatus was run for the same book).
  • \n
\n", + "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", + "doc_gfm": "

Display a notification with the current build status of a book.

\n

Parameters:

\n
    \n
  • book - table containing the information of the book to check. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If this field is not specified but fetch_leanpub_covers is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to false
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • A Lua table containing the status (may be empty), nil if an error occurred
  • \n
\n

Notes:

\n
    \n
  • Only produce a notification if the current status is different than the last known one (from the last time displayBookStatus was run for the same book).
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "166", + "lineno": "144", "name": "displayBookStatus", "notes": [ "* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book)." @@ -7915,10 +8239,9 @@ ], "parameters_gfm": "
    \n
  • book - table containing the information of the book to check. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If this field is not specified but fetch_leanpub_covers is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to false
    • \n
    \n
  • \n
\n", "returns": [ - " * A Lua table containing the status (may be empty), nil if an", - " error occurred" + " * A Lua table containing the status (may be empty), nil if an error occurred" ], - "returns_gfm": "
    \n
  • A Lua table containing the status (may be empty), nil if an\nerror occurred
  • \n
\n", + "returns_gfm": "
    \n
  • A Lua table containing the status (may be empty), nil if an error occurred
  • \n
\n", "signature": "Leanpub:displayBookStatus(book)", "stripped_doc": "", "type": "Method" @@ -7931,7 +8254,7 @@ "doc_gfm": "

Fetch the cover of a book.

\n

Parameters:

\n
    \n
  • book - table containing the book information. The icon gets\nstored in its icon field when it can be fetched.
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n

Side effects:

\n
    \n
  • Stores the icon in the book data structure
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "272", + "lineno": "240", "name": "fetchBookCover", "notes": [], "notes_gfm": "", @@ -7951,11 +8274,11 @@ "def": "Leanpub:getBookStatus(slug, callback)", "def_gfm": "Leanpub:getBookStatus(slug, callback)", "desc": "Asynchronously get the status of a book given its slug.", - "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is\n the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed\n when the data is received. This function will be passed a\n single argument, a table containing the fields returned by the\n Leanpub API. If the book is not being built at the moment, an\n empty table is passed. If an error occurs, the value passed\n will be `nil`. Samples of the return values can be found at\n https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", - "doc_gfm": "

Asynchronously get the status of a book given its slug.

\n

Parameters:

\n
    \n
  • slug - URL \"slug\" of the book to check. The slug of a book is\nthe part of the URL for your book after https://leanpub.com/.
  • \n
  • callback - function to which the book status will be passed\nwhen the data is received. This function will be passed a\nsingle argument, a table containing the fields returned by the\nLeanpub API. If the book is not being built at the moment, an\nempty table is passed. If an error occurs, the value passed\nwill be nil. Samples of the return values can be found at\nhttps://leanpub.com/help/api#getting-the-job-status
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n", + "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be `nil`. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", + "doc_gfm": "

Asynchronously get the status of a book given its slug.

\n

Parameters:

\n
    \n
  • slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.
  • \n
  • callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be nil. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "122", + "lineno": "107", "name": "getBookStatus", "notes": [], "notes_gfm": "", @@ -7980,7 +8303,7 @@ "doc_gfm": "

Start periodic check for book status, checking every check_interval seconds.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "327", + "lineno": "295", "name": "start", "notes": [], "notes_gfm": "", @@ -8002,7 +8325,7 @@ "doc_gfm": "

Stops periodic check for book status, if enabled.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "340", + "lineno": "308", "name": "stop", "notes": [], "notes_gfm": "", @@ -8021,118 +8344,152 @@ { "def": "Leanpub.api_key", "def_gfm": "Leanpub.api_key", - "desc": "String containing the key to use for Leanpub API requests. Get it", - "doc": "String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", - "doc_gfm": "

String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.

\n", + "desc": "String containing the key to use for Leanpub API requests.", + "doc": "String containing the key to use for Leanpub API requests.\n\nNotes:\n * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.", + "doc_gfm": "

String containing the key to use for Leanpub API requests.

\n

Notes:

\n
    \n
  • Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "56", + "lineno": "43", "name": "api_key", + "notes": [ + " * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default." + ], + "notes_gfm": "
    \n
  • Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.
  • \n
\n", "signature": "Leanpub.api_key", - "stripped_doc": "from your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.books_sync_to_dropbox", "def_gfm": "Leanpub.books_sync_to_dropbox", - "desc": "Boolean that specifies whether all your books are being synced to", - "doc": "Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", - "doc_gfm": "

Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\nsyncs_to_dropbox attribute for each book in\nwatch_books. Default value: false.

\n", + "desc": "Boolean that specifies whether all your books are being synced to Dropbox.", + "doc": "Boolean that specifies whether all your books are being synced to Dropbox.\n\nNotes:\n * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.\n * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`.", + "doc_gfm": "

Boolean that specifies whether all your books are being synced to Dropbox.

\n

Notes:

\n
    \n
  • If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.
  • \n
  • Setting this is equivalent to setting the syncs_to_dropbox attribute for each book in watch_books. Default value: false.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "46", + "lineno": "34", "name": "books_sync_to_dropbox", + "notes": [ + " * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.", + " * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`." + ], + "notes_gfm": "
    \n
  • If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.
  • \n
  • Setting this is equivalent to setting the syncs_to_dropbox attribute for each book in watch_books. Default value: false.
  • \n
\n", "signature": "Leanpub.books_sync_to_dropbox", - "stripped_doc": "Dropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.check_interval", "def_gfm": "Leanpub.check_interval", - "desc": "Integer containing the interval (in seconds) at which the book", - "doc": "Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.", - "doc_gfm": "

Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.

\n", + "desc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc_gfm": "

Integer containing the interval (in seconds) at which the book status is checked. Default 5.

\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "63", + "lineno": "51", "name": "check_interval", "signature": "Leanpub.check_interval", - "stripped_doc": "status is checked. Default 5.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_path", "def_gfm": "Leanpub.dropbox_path", - "desc": "String containing the base Dropbox path to which the books are", - "doc": "String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", - "doc_gfm": "

String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in Leanpub.dropbox_profile. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.

\n", + "desc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.", + "doc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.\n\nNotes:\n * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.\n * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.", + "doc_gfm": "

String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.

\n

Notes:

\n
    \n
  • If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in Leanpub.dropbox_profile.
  • \n
  • If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "84", + "lineno": "72", "name": "dropbox_path", + "notes": [ + " * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.", + " * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults." + ], + "notes_gfm": "
    \n
  • If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in Leanpub.dropbox_profile.
  • \n
  • If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.
  • \n
\n", "signature": "Leanpub.dropbox_path", - "stripped_doc": "synced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_type", "def_gfm": "Leanpub.dropbox_type", - "desc": "String containing the name of the Dropbox account type to use for", - "doc": "String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", - "doc_gfm": "

String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".

\n", + "desc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.", + "doc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.\n\nNotes:\n * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.\n * Default value: \"personal\".", + "doc_gfm": "

String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.

\n

Notes:

\n\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "96", + "lineno": "81", "name": "dropbox_type", + "notes": [ + " * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.", + " * Default value: \"personal\"." + ], + "notes_gfm": "\n", "signature": "Leanpub.dropbox_type", - "stripped_doc": "determining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.fetch_leanpub_covers", "def_gfm": "Leanpub.fetch_leanpub_covers", - "desc": "Boolean indicating whether we should try to fetch book covers from", - "doc": "Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: `true`.", - "doc_gfm": "

Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: true.

\n", + "desc": "Boolean indicating whether we should try to fetch book covers from Leanpub.", + "doc": "Boolean indicating whether we should try to fetch book covers from Leanpub.\n\nNotes:\n * Default value: `true`.", + "doc_gfm": "

Boolean indicating whether we should try to fetch book covers from Leanpub.

\n

Notes:

\n
    \n
  • Default value: true.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "69", + "lineno": "56", "name": "fetch_leanpub_covers", + "notes": [ + " * Default value: `true`." + ], + "notes_gfm": "
    \n
  • Default value: true.
  • \n
\n", "signature": "Leanpub.fetch_leanpub_covers", - "stripped_doc": "Leanpub. Default value: `true`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.logger", "def_gfm": "Leanpub.logger", - "desc": "Logger object used within the Spoon. Can be accessed to set the", - "doc": "Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.", - "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.

\n", + "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/Leanpub.spoon/init.lua", "lineno": "18", "name": "logger", "signature": "Leanpub.logger", - "stripped_doc": "default log level for the messages coming from the Spoon.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.persistent_notification", "def_gfm": "Leanpub.persistent_notification", - "desc": "Table specifying the Leanpub status for which notifications should", - "doc": "Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", - "doc_gfm": "

Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the status field returned by the Leanpub API. Possible values\nare working and complete. Default { complete = true } to\nkeep the \"Book generation complete\" messages.

\n", + "desc": "Table specifying the Leanpub status for which notifications should not disappear automatically.", + "doc": "Table specifying the Leanpub status for which notifications should not disappear automatically.\n\nNotes:\n * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages.", + "doc_gfm": "

Table specifying the Leanpub status for which notifications should not disappear automatically.

\n

Notes:

\n
    \n
  • The indices correspond to the values of the status field returned by the Leanpub API. Possible values are working and complete. Default { complete = true } to keep the \"Book generation complete\" messages.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "75", + "lineno": "64", "name": "persistent_notification", + "notes": [ + " * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages." + ], + "notes_gfm": "
    \n
  • The indices correspond to the values of the status field returned by the Leanpub API. Possible values are working and complete. Default { complete = true } to keep the \"Book generation complete\" messages.
  • \n
\n", "signature": "Leanpub.persistent_notification", - "stripped_doc": "not disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.watch_books", "def_gfm": "Leanpub.watch_books", - "desc": "List of books to watch (by default an empty list). Each element of", - "doc": "List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", - "doc_gfm": "

List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:

\n
    \n
  • slug - the web page \"slug\" of the book to watch. The slug of a\nbook can be set under the \"Book Web Page / Web Page URL\" menu\nsection in Leanpub.
  • \n
  • icon - optional icon to show in the notifications for the book,\nas an hs.image object. If not specified, and if\nfetch_leanpub_covers is true, then the icon is generated\nautomatically from the book cover.
  • \n
  • syncs_to_dropbox - optional boolean to indicate whether the\nbook is configured in Leanpub to sync to Dropbox (you can find\nthis option in your books \"Writing mode\" screen, as \"Send\noutput to Dropbox\". If true, the \"Book generation complete\"\nnotification will include a \"Show\" button to open the book's\ndirectory in Dropbox. If you have multiple books and all of\nthem are synced to Dropbox, you can set the main\nLeanpub.books_sync_to_dropbox variable instead of setting it\nfor each book. Default value: false
  • \n
\n", + "desc": "List of books to watch (by default an empty list).", + "doc": "List of books to watch (by default an empty list).\n\nNotes:\n * Each element of the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.\n * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`", + "doc_gfm": "

List of books to watch (by default an empty list).

\n

Notes:

\n
    \n
  • Each element of the list must be a table containing the following keys:
      \n
    • slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if fetch_leanpub_covers is true, then the icon is generated automatically from the book cover.
    • \n
    • syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main Leanpub.books_sync_to_dropbox variable instead of setting it for each book. Default value: false
    • \n
    \n
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "24", + "lineno": "23", "name": "watch_books", + "notes": [ + " * Each element of the list must be a table containing the following keys:", + " * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.", + " * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.", + " * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`" + ], + "notes_gfm": "
    \n
  • Each element of the list must be a table containing the following keys:
      \n
    • slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if fetch_leanpub_covers is true, then the icon is generated automatically from the book cover.
    • \n
    • syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main Leanpub.books_sync_to_dropbox variable instead of setting it for each book. Default value: false
    • \n
    \n
  • \n
\n", "signature": "Leanpub.watch_books", - "stripped_doc": "the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "stripped_doc": "", "type": "Variable" } ], @@ -8144,40 +8501,49 @@ { "def": "Leanpub.api_key", "def_gfm": "Leanpub.api_key", - "desc": "String containing the key to use for Leanpub API requests. Get it", - "doc": "String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", - "doc_gfm": "

String containing the key to use for Leanpub API requests. Get it\nfrom your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.

\n", + "desc": "String containing the key to use for Leanpub API requests.", + "doc": "String containing the key to use for Leanpub API requests.\n\nNotes:\n * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.", + "doc_gfm": "

String containing the key to use for Leanpub API requests.

\n

Notes:

\n
    \n
  • Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "56", + "lineno": "43", "name": "api_key", + "notes": [ + " * Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default." + ], + "notes_gfm": "
    \n
  • Get it from your Leanpub account under the \"Author / Your API Key\" menu section. No default.
  • \n
\n", "signature": "Leanpub.api_key", - "stripped_doc": "from your Leanpub account under the \"Author / Your API Key\" menu\nsection. No default.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.books_sync_to_dropbox", "def_gfm": "Leanpub.books_sync_to_dropbox", - "desc": "Boolean that specifies whether all your books are being synced to", - "doc": "Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", - "doc_gfm": "

Boolean that specifies whether all your books are being synced to\nDropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\nsyncs_to_dropbox attribute for each book in\nwatch_books. Default value: false.

\n", + "desc": "Boolean that specifies whether all your books are being synced to Dropbox.", + "doc": "Boolean that specifies whether all your books are being synced to Dropbox.\n\nNotes:\n * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.\n * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`.", + "doc_gfm": "

Boolean that specifies whether all your books are being synced to Dropbox.

\n

Notes:

\n
    \n
  • If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.
  • \n
  • Setting this is equivalent to setting the syncs_to_dropbox attribute for each book in watch_books. Default value: false.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "46", + "lineno": "34", "name": "books_sync_to_dropbox", + "notes": [ + " * If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.", + " * Setting this is equivalent to setting the `syncs_to_dropbox` attribute for each book in `watch_books`. Default value: `false`." + ], + "notes_gfm": "
    \n
  • If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox.
  • \n
  • Setting this is equivalent to setting the syncs_to_dropbox attribute for each book in watch_books. Default value: false.
  • \n
\n", "signature": "Leanpub.books_sync_to_dropbox", - "stripped_doc": "Dropbox. If true, the \"Book generation complete\" notification will\ninclude a \"Show\" button to open the book's directory in\nDropbox. Setting this is equivalent to setting the\n`syncs_to_dropbox` attribute for each book in\n`watch_books`. Default value: `false`.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.check_interval", "def_gfm": "Leanpub.check_interval", - "desc": "Integer containing the interval (in seconds) at which the book", - "doc": "Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.", - "doc_gfm": "

Integer containing the interval (in seconds) at which the book\nstatus is checked. Default 5.

\n", + "desc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc": "Integer containing the interval (in seconds) at which the book status is checked. Default 5.", + "doc_gfm": "

Integer containing the interval (in seconds) at which the book status is checked. Default 5.

\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "63", + "lineno": "51", "name": "check_interval", "signature": "Leanpub.check_interval", - "stripped_doc": "status is checked. Default 5.", + "stripped_doc": "", "type": "Variable" }, { @@ -8188,7 +8554,7 @@ "doc_gfm": "

Check and display (if needed) the status of all the books in watch_books

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "313", + "lineno": "281", "name": "displayAllBookStatus", "notes": [], "notes_gfm": "", @@ -8206,11 +8572,11 @@ "def": "Leanpub:displayBookStatus(book)", "def_gfm": "Leanpub:displayBookStatus(book)", "desc": "Display a notification with the current build status of a book.", - "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to\n check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part\n of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the\n book, as an `hs.image` object. If this field is not specified\n but `fetch_leanpub_covers` is true (the default value), this\n method attempts to fetch the book cover from Leanpub. If the\n cover can be retrieved, it gets stored in the icon field so\n it doesn't get fetched every time. You can disable cover\n fetching for individual books by setting this field\n explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an\n error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", - "doc_gfm": "

Display a notification with the current build status of a book.

\n

Parameters:

\n
    \n
  • book - table containing the information of the book to\ncheck. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part\nof the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the\nbook, as an hs.image object. If this field is not specified\nbut fetch_leanpub_covers is true (the default value), this\nmethod attempts to fetch the book cover from Leanpub. If the\ncover can be retrieved, it gets stored in the icon field so\nit doesn't get fetched every time. You can disable cover\nfetching for individual books by setting this field\nexplicitly to false
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • A Lua table containing the status (may be empty), nil if an\nerror occurred
  • \n
\n

Notes:

\n
    \n
  • Only produce a notification if the current status is different than the last known one (from the last time displayBookStatus was run for the same book).
  • \n
\n", + "doc": "Display a notification with the current build status of a book.\n\nParameters:\n * book - table containing the information of the book to check. The table must contain the following fields:\n * slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.\n * icon - optional icon to show in the notifications for the book, as an `hs.image` object. If this field is not specified but `fetch_leanpub_covers` is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to `false`\n\nReturns:\n * A Lua table containing the status (may be empty), nil if an error occurred\n\nNotes:\n* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book).", + "doc_gfm": "

Display a notification with the current build status of a book.

\n

Parameters:

\n
    \n
  • book - table containing the information of the book to check. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If this field is not specified but fetch_leanpub_covers is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to false
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • A Lua table containing the status (may be empty), nil if an error occurred
  • \n
\n

Notes:

\n
    \n
  • Only produce a notification if the current status is different than the last known one (from the last time displayBookStatus was run for the same book).
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "166", + "lineno": "144", "name": "displayBookStatus", "notes": [ "* Only produce a notification if the current status is different than the last known one (from the last time `displayBookStatus` was run for the same book)." @@ -8221,10 +8587,9 @@ ], "parameters_gfm": "
    \n
  • book - table containing the information of the book to check. The table must contain the following fields:
      \n
    • slug - URL \"slug\" of the book to check. The slug is the part of the book URL after https://leanpub.com/.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If this field is not specified but fetch_leanpub_covers is true (the default value), this method attempts to fetch the book cover from Leanpub. If the cover can be retrieved, it gets stored in the icon field so it doesn't get fetched every time. You can disable cover fetching for individual books by setting this field explicitly to false
    • \n
    \n
  • \n
\n", "returns": [ - " * A Lua table containing the status (may be empty), nil if an", - " error occurred" + " * A Lua table containing the status (may be empty), nil if an error occurred" ], - "returns_gfm": "
    \n
  • A Lua table containing the status (may be empty), nil if an\nerror occurred
  • \n
\n", + "returns_gfm": "
    \n
  • A Lua table containing the status (may be empty), nil if an error occurred
  • \n
\n", "signature": "Leanpub:displayBookStatus(book)", "stripped_doc": "", "type": "Method" @@ -8232,40 +8597,54 @@ { "def": "Leanpub.dropbox_path", "def_gfm": "Leanpub.dropbox_path", - "desc": "String containing the base Dropbox path to which the books are", - "doc": "String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", - "doc_gfm": "

String containing the base Dropbox path to which the books are\nsynced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in Leanpub.dropbox_profile. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.

\n", + "desc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.", + "doc": "String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.\n\nNotes:\n * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.\n * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.", + "doc_gfm": "

String containing the base Dropbox path to which the books are synced, if the corresponding parameters are set.

\n

Notes:

\n
    \n
  • If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in Leanpub.dropbox_profile.
  • \n
  • If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "84", + "lineno": "72", "name": "dropbox_path", + "notes": [ + " * If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in `Leanpub.dropbox_profile`.", + " * If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults." + ], + "notes_gfm": "
    \n
  • If unset, the path is determined automatically by reading the ~/.dropbox/info.json file and choosing the path corresponding to the profile specified in Leanpub.dropbox_profile.
  • \n
  • If for some reason your synced files are somewhere else, you can store in this variable the final path to use. Most users should be fine with the defaults.
  • \n
\n", "signature": "Leanpub.dropbox_path", - "stripped_doc": "synced, if the corresponding parameters are set. If unset, the\npath is determined automatically by reading the\n~/.dropbox/info.json file and choosing the path corresponding to\nthe profile specified in `Leanpub.dropbox_profile`. If for some\nreason your synced files are somewhere else, you can store in this\nvariable the final path to use. Most users should be fine with the\ndefaults.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.dropbox_type", "def_gfm": "Leanpub.dropbox_type", - "desc": "String containing the name of the Dropbox account type to use for", - "doc": "String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", - "doc_gfm": "

String containing the name of the Dropbox account type to use for\ndetermining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".

\n", + "desc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.", + "doc": "String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.\n\nNotes:\n * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.\n * Default value: \"personal\".", + "doc_gfm": "

String containing the name of the Dropbox account type to use for determining the base path of the Dropbox directory.

\n

Notes:

\n\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "96", + "lineno": "81", "name": "dropbox_type", + "notes": [ + " * Valid values are \"personal\" and \"business\". See https://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder for the details.", + " * Default value: \"personal\"." + ], + "notes_gfm": "\n", "signature": "Leanpub.dropbox_type", - "stripped_doc": "determining the base path of the Dropbox directory. Valid values\nare \"personal\" and \"business\". See\nhttps://help.dropbox.com/installs-integrations/desktop/locate-dropbox-folder\nfor the details. Default value: \"personal\".", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.fetch_leanpub_covers", "def_gfm": "Leanpub.fetch_leanpub_covers", - "desc": "Boolean indicating whether we should try to fetch book covers from", - "doc": "Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: `true`.", - "doc_gfm": "

Boolean indicating whether we should try to fetch book covers from\nLeanpub. Default value: true.

\n", + "desc": "Boolean indicating whether we should try to fetch book covers from Leanpub.", + "doc": "Boolean indicating whether we should try to fetch book covers from Leanpub.\n\nNotes:\n * Default value: `true`.", + "doc_gfm": "

Boolean indicating whether we should try to fetch book covers from Leanpub.

\n

Notes:

\n
    \n
  • Default value: true.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "69", + "lineno": "56", "name": "fetch_leanpub_covers", + "notes": [ + " * Default value: `true`." + ], + "notes_gfm": "
    \n
  • Default value: true.
  • \n
\n", "signature": "Leanpub.fetch_leanpub_covers", - "stripped_doc": "Leanpub. Default value: `true`.", + "stripped_doc": "", "type": "Variable" }, { @@ -8276,7 +8655,7 @@ "doc_gfm": "

Fetch the cover of a book.

\n

Parameters:

\n
    \n
  • book - table containing the book information. The icon gets\nstored in its icon field when it can be fetched.
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n

Side effects:

\n
    \n
  • Stores the icon in the book data structure
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "272", + "lineno": "240", "name": "fetchBookCover", "notes": [], "notes_gfm": "", @@ -8296,11 +8675,11 @@ "def": "Leanpub:getBookStatus(slug, callback)", "def_gfm": "Leanpub:getBookStatus(slug, callback)", "desc": "Asynchronously get the status of a book given its slug.", - "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is\n the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed\n when the data is received. This function will be passed a\n single argument, a table containing the fields returned by the\n Leanpub API. If the book is not being built at the moment, an\n empty table is passed. If an error occurs, the value passed\n will be `nil`. Samples of the return values can be found at\n https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", - "doc_gfm": "

Asynchronously get the status of a book given its slug.

\n

Parameters:

\n
    \n
  • slug - URL \"slug\" of the book to check. The slug of a book is\nthe part of the URL for your book after https://leanpub.com/.
  • \n
  • callback - function to which the book status will be passed\nwhen the data is received. This function will be passed a\nsingle argument, a table containing the fields returned by the\nLeanpub API. If the book is not being built at the moment, an\nempty table is passed. If an error occurs, the value passed\nwill be nil. Samples of the return values can be found at\nhttps://leanpub.com/help/api#getting-the-job-status
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n", + "doc": "Asynchronously get the status of a book given its slug.\n\nParameters:\n * slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.\n * callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be `nil`. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status\n\nReturns:\n * No return value", + "doc_gfm": "

Asynchronously get the status of a book given its slug.

\n

Parameters:

\n
    \n
  • slug - URL \"slug\" of the book to check. The slug of a book is the part of the URL for your book after https://leanpub.com/.
  • \n
  • callback - function to which the book status will be passed when the data is received. This function will be passed a single argument, a table containing the fields returned by the Leanpub API. If the book is not being built at the moment, an empty table is passed. If an error occurs, the value passed will be nil. Samples of the return values can be found at https://leanpub.com/help/api#getting-the-job-status
  • \n
\n

Returns:

\n
    \n
  • No return value
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "122", + "lineno": "107", "name": "getBookStatus", "notes": [], "notes_gfm": "", @@ -8320,27 +8699,31 @@ { "def": "Leanpub.logger", "def_gfm": "Leanpub.logger", - "desc": "Logger object used within the Spoon. Can be accessed to set the", - "doc": "Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.", - "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the\ndefault log level for the messages coming from the Spoon.

\n", + "desc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", + "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/Leanpub.spoon/init.lua", "lineno": "18", "name": "logger", "signature": "Leanpub.logger", - "stripped_doc": "default log level for the messages coming from the Spoon.", + "stripped_doc": "", "type": "Variable" }, { "def": "Leanpub.persistent_notification", "def_gfm": "Leanpub.persistent_notification", - "desc": "Table specifying the Leanpub status for which notifications should", - "doc": "Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", - "doc_gfm": "

Table specifying the Leanpub status for which notifications should\nnot disappear automatically. The indices correspond to the values\nof the status field returned by the Leanpub API. Possible values\nare working and complete. Default { complete = true } to\nkeep the \"Book generation complete\" messages.

\n", + "desc": "Table specifying the Leanpub status for which notifications should not disappear automatically.", + "doc": "Table specifying the Leanpub status for which notifications should not disappear automatically.\n\nNotes:\n * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages.", + "doc_gfm": "

Table specifying the Leanpub status for which notifications should not disappear automatically.

\n

Notes:

\n
    \n
  • The indices correspond to the values of the status field returned by the Leanpub API. Possible values are working and complete. Default { complete = true } to keep the \"Book generation complete\" messages.
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "75", + "lineno": "64", "name": "persistent_notification", + "notes": [ + " * The indices correspond to the values of the `status` field returned by the Leanpub API. Possible values are `working` and `complete`. Default `{ complete = true }` to keep the \"Book generation complete\" messages." + ], + "notes_gfm": "
    \n
  • The indices correspond to the values of the status field returned by the Leanpub API. Possible values are working and complete. Default { complete = true } to keep the \"Book generation complete\" messages.
  • \n
\n", "signature": "Leanpub.persistent_notification", - "stripped_doc": "not disappear automatically. The indices correspond to the values\nof the `status` field returned by the Leanpub API. Possible values\nare `working` and `complete`. Default `{ complete = true }` to\nkeep the \"Book generation complete\" messages.", + "stripped_doc": "", "type": "Variable" }, { @@ -8351,7 +8734,7 @@ "doc_gfm": "

Start periodic check for book status, checking every check_interval seconds.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "327", + "lineno": "295", "name": "start", "notes": [], "notes_gfm": "", @@ -8373,7 +8756,7 @@ "doc_gfm": "

Stops periodic check for book status, if enabled.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Leanpub.spoon/init.lua", - "lineno": "340", + "lineno": "308", "name": "stop", "notes": [], "notes_gfm": "", @@ -8390,14 +8773,21 @@ { "def": "Leanpub.watch_books", "def_gfm": "Leanpub.watch_books", - "desc": "List of books to watch (by default an empty list). Each element of", - "doc": "List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", - "doc_gfm": "

List of books to watch (by default an empty list). Each element of\nthe list must be a table containing the following keys:

\n
    \n
  • slug - the web page \"slug\" of the book to watch. The slug of a\nbook can be set under the \"Book Web Page / Web Page URL\" menu\nsection in Leanpub.
  • \n
  • icon - optional icon to show in the notifications for the book,\nas an hs.image object. If not specified, and if\nfetch_leanpub_covers is true, then the icon is generated\nautomatically from the book cover.
  • \n
  • syncs_to_dropbox - optional boolean to indicate whether the\nbook is configured in Leanpub to sync to Dropbox (you can find\nthis option in your books \"Writing mode\" screen, as \"Send\noutput to Dropbox\". If true, the \"Book generation complete\"\nnotification will include a \"Show\" button to open the book's\ndirectory in Dropbox. If you have multiple books and all of\nthem are synced to Dropbox, you can set the main\nLeanpub.books_sync_to_dropbox variable instead of setting it\nfor each book. Default value: false
  • \n
\n", + "desc": "List of books to watch (by default an empty list).", + "doc": "List of books to watch (by default an empty list).\n\nNotes:\n * Each element of the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.\n * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`", + "doc_gfm": "

List of books to watch (by default an empty list).

\n

Notes:

\n
    \n
  • Each element of the list must be a table containing the following keys:
      \n
    • slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if fetch_leanpub_covers is true, then the icon is generated automatically from the book cover.
    • \n
    • syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main Leanpub.books_sync_to_dropbox variable instead of setting it for each book. Default value: false
    • \n
    \n
  • \n
\n", "file": "Source/Leanpub.spoon/init.lua", - "lineno": "24", + "lineno": "23", "name": "watch_books", + "notes": [ + " * Each element of the list must be a table containing the following keys:", + " * slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.", + " * icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if `fetch_leanpub_covers` is `true`, then the icon is generated automatically from the book cover.", + " * syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main `Leanpub.books_sync_to_dropbox` variable instead of setting it for each book. Default value: `false`" + ], + "notes_gfm": "
    \n
  • Each element of the list must be a table containing the following keys:
      \n
    • slug - the web page \"slug\" of the book to watch. The slug of a book can be set under the \"Book Web Page / Web Page URL\" menu section in Leanpub.
    • \n
    • icon - optional icon to show in the notifications for the book, as an hs.image object. If not specified, and if fetch_leanpub_covers is true, then the icon is generated automatically from the book cover.
    • \n
    • syncs_to_dropbox - optional boolean to indicate whether the book is configured in Leanpub to sync to Dropbox (you can find this option in your books \"Writing mode\" screen, as \"Send output to Dropbox\". If true, the \"Book generation complete\" notification will include a \"Show\" button to open the book's directory in Dropbox. If you have multiple books and all of them are synced to Dropbox, you can set the main Leanpub.books_sync_to_dropbox variable instead of setting it for each book. Default value: false
    • \n
    \n
  • \n
\n", "signature": "Leanpub.watch_books", - "stripped_doc": "the list must be a table containing the following keys:\n * slug - the web page \"slug\" of the book to watch. The slug of a\n book can be set under the \"Book Web Page / Web Page URL\" menu\n section in Leanpub.\n * icon - optional icon to show in the notifications for the book,\n as an hs.image object. If not specified, and if\n `fetch_leanpub_covers` is `true`, then the icon is generated\n automatically from the book cover.\n * syncs_to_dropbox - optional boolean to indicate whether the\n book is configured in Leanpub to sync to Dropbox (you can find\n this option in your books \"Writing mode\" screen, as \"Send\n output to Dropbox\". If true, the \"Book generation complete\"\n notification will include a \"Show\" button to open the book's\n directory in Dropbox. If you have multiple books and all of\n them are synced to Dropbox, you can set the main\n `Leanpub.books_sync_to_dropbox` variable instead of setting it\n for each book. Default value: `false`", + "stripped_doc": "", "type": "Variable" } ], @@ -8418,14 +8808,23 @@ "def": "LookupSelection:bindHotkeys(mapping)", "def_gfm": "LookupSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for LookupSelection", - "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nSample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", - "doc_gfm": "

Binds hotkeys for LookupSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • lexicon - open in lexicon app
    • \n
    • neue_notiz - create new note in notes app
    • \n
    • hsdocs - display online help
    • \n
    \n
  • \n
\n

Sample value for mapping:

\n\n
 {\n    lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n    neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n    hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }
\n", + "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nNotes:\n * Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "doc_gfm": "

Binds hotkeys for LookupSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • lexicon - open in lexicon app
    • \n
    • neue_notiz - create new note in notes app
    • \n
    • hsdocs - display online help
    • \n
    \n
  • \n
\n

Notes:

\n
    \n
  • Sample value for mapping:\n
    {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n}
    \n
  • \n
\n", "examples": [], "file": "Source/LookupSelection.spoon/init.lua", "lineno": "93", "name": "bindHotkeys", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Sample value for `mapping`:", + "```", + " {", + " lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },", + " neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },", + " hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Sample value for mapping:\n
    {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n}
    \n
  • \n
\n", "parameters": [ " * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help" ], @@ -8433,7 +8832,7 @@ "returns": [], "returns_gfm": "", "signature": "LookupSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -8485,14 +8884,23 @@ "def": "LookupSelection:bindHotkeys(mapping)", "def_gfm": "LookupSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for LookupSelection", - "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nSample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", - "doc_gfm": "

Binds hotkeys for LookupSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • lexicon - open in lexicon app
    • \n
    • neue_notiz - create new note in notes app
    • \n
    • hsdocs - display online help
    • \n
    \n
  • \n
\n

Sample value for mapping:

\n\n
 {\n    lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n    neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n    hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }
\n", + "doc": "Binds hotkeys for LookupSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help\n\nNotes:\n * Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "doc_gfm": "

Binds hotkeys for LookupSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • lexicon - open in lexicon app
    • \n
    • neue_notiz - create new note in notes app
    • \n
    • hsdocs - display online help
    • \n
    \n
  • \n
\n

Notes:

\n
    \n
  • Sample value for mapping:\n
    {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n}
    \n
  • \n
\n", "examples": [], "file": "Source/LookupSelection.spoon/init.lua", "lineno": "93", "name": "bindHotkeys", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Sample value for `mapping`:", + "```", + " {", + " lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },", + " neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },", + " hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Sample value for mapping:\n
    {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n}
    \n
  • \n
\n", "parameters": [ " * mapping - A table containing hotkey modifier/key details for the following items:\n * `lexicon` - open in lexicon app\n * `neue_notiz` - create new note in notes app\n * `hsdocs` - display online help" ], @@ -8500,7 +8908,7 @@ "returns": [], "returns_gfm": "", "signature": "LookupSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n lexicon = { { \"ctrl\", \"alt\", \"cmd\" }, \"L\" },\n neue_notiz = { { \"ctrl\", \"alt\", \"cmd\" }, \"N\" },\n hsdocs = { { \"ctrl\", \"alt\", \"cmd\" }, \"H\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -8562,7 +8970,7 @@ "doc_gfm": "

Draw the indicators corresponding to the given layout name

\n

Parameters:

\n
    \n
  • src - name of the layout to draw. If the given element exists in MenubarFlag.colors, it will be drawn. If it does not exist, then the indicators will be removed from the screen.
  • \n
\n

Returns:

\n
    \n
  • The MenubarFlag object
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "123", + "lineno": "118", "name": "drawIndicators", "notes": [], "notes_gfm": "", @@ -8586,7 +8994,7 @@ "doc_gfm": "

Draw indicators for the current keyboard method or layout

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MenubarFlag object
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "180", + "lineno": "175", "name": "getLayoutAndDrawindicators", "notes": [], "notes_gfm": "", @@ -8610,7 +9018,7 @@ "doc_gfm": "

Start the keyboard layout watcher to draw the menubar indicators.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "193", + "lineno": "188", "name": "start", "notes": [], "notes_gfm": "", @@ -8632,7 +9040,7 @@ "doc_gfm": "

Remove indicators and stop the keyboard layout watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "213", + "lineno": "208", "name": "stop", "notes": [], "notes_gfm": "", @@ -8665,13 +9073,43 @@ "def": "MenubarFlag.colors", "def_gfm": "MenubarFlag.colors", "desc": "Table that contains the configuration of indicator colors", - "doc": "Table that contains the configuration of indicator colors\n\nThe table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\n\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", - "doc_gfm": "

Table that contains the configuration of indicator colors

\n

The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\nhs.drawing.color specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.

\n

Indicator specs can be static flag-like:

\n\n
  Spanish = {col.green, col.white, col.red},\n  German = {col.black, col.red, col.yellow},
\n

or complex, programmatically-generated:

\n\n
[\"U.S.\"] = (\n   function() res={}\n      for i = 0,10,1 do\n         table.insert(res, col.blue)\n         table.insert(res, col.white)\n         table.insert(res, col.red)\n      end\n      return res\n   end)()
\n

or solid colors:

\n\n
  Spanish = {col.red},\n  German = {col.yellow},
\n

Contributions of indicator specs are welcome!

\n", + "doc": "Table that contains the configuration of indicator colors\n\nNotes:\n * The table below indicates the colors to use for a given keyboard layout.\n * The index is the name of the layout as it appears in the input source menu.\n * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.\n * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.\n * Indicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\n * Contributions of indicator specs are welcome!", + "doc_gfm": "

Table that contains the configuration of indicator colors

\n

Notes:

\n
    \n
  • The table below indicates the colors to use for a given keyboard layout.
  • \n
  • The index is the name of the layout as it appears in the input source menu.
  • \n
  • The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.
  • \n
  • Each segment must be a valid hs.drawing.color specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.
  • \n
  • Indicator specs can be static flag-like:\n
    Spanish = {col.green, col.white, col.red},\nGerman = {col.black, col.red, col.yellow},
    \nor complex, programmatically-generated:\n
    [\"U.S.\"] = (\nfunction() res={}\n   for i = 0,10,1 do\n      table.insert(res, col.blue)\n      table.insert(res, col.white)\n      table.insert(res, col.red)\n   end\n   return res\nend)()
    \nor solid colors:\n
    Spanish = {col.red},\nGerman = {col.yellow},
    \n
  • \n
  • Contributions of indicator specs are welcome!
  • \n
\n", "file": "Source/MenubarFlag.spoon/init.lua", "lineno": "42", "name": "colors", + "notes": [ + " * The table below indicates the colors to use for a given keyboard layout.", + " * The index is the name of the layout as it appears in the input source menu.", + " * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.", + " * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.", + " * Indicator specs can be static flag-like:", + "```", + " Spanish = {col.green, col.white, col.red},", + " German = {col.black, col.red, col.yellow},", + "```", + "or complex, programmatically-generated:", + "```", + "[\"U.S.\"] = (", + " function() res={}", + " for i = 0,10,1 do", + " table.insert(res, col.blue)", + " table.insert(res, col.white)", + " table.insert(res, col.red)", + " end", + " return res", + " end)()", + "```", + "or solid colors:", + "```", + " Spanish = {col.red},", + " German = {col.yellow},", + "```", + " * Contributions of indicator specs are welcome!" + ], + "notes_gfm": "
    \n
  • The table below indicates the colors to use for a given keyboard layout.
  • \n
  • The index is the name of the layout as it appears in the input source menu.
  • \n
  • The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.
  • \n
  • Each segment must be a valid hs.drawing.color specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.
  • \n
  • Indicator specs can be static flag-like:\n
    Spanish = {col.green, col.white, col.red},\nGerman = {col.black, col.red, col.yellow},
    \nor complex, programmatically-generated:\n
    [\"U.S.\"] = (\nfunction() res={}\n   for i = 0,10,1 do\n      table.insert(res, col.blue)\n      table.insert(res, col.white)\n      table.insert(res, col.red)\n   end\n   return res\nend)()
    \nor solid colors:\n
    Spanish = {col.red},\nGerman = {col.yellow},
    \n
  • \n
  • Contributions of indicator specs are welcome!
  • \n
\n", "signature": "MenubarFlag.colors", - "stripped_doc": "The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "stripped_doc": "", "type": "Variable" }, { @@ -8717,13 +9155,18 @@ "def": "MenubarFlag.timerFreq", "def_gfm": "MenubarFlag.timerFreq", "desc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.", - "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nSometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", - "doc_gfm": "

Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.

\n

Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.

\n", + "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nNotes:\n * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.\n * The timer can be disabled by setting this parameter to 0.", + "doc_gfm": "

Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.

\n

Notes:

\n
    \n
  • Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.
  • \n
  • The timer can be disabled by setting this parameter to 0.
  • \n
\n", "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "84", + "lineno": "80", "name": "timerFreq", + "notes": [ + " * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.", + " * The timer can be disabled by setting this parameter to 0." + ], + "notes_gfm": "
    \n
  • Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.
  • \n
  • The timer can be disabled by setting this parameter to 0.
  • \n
\n", "signature": "MenubarFlag.timerFreq", - "stripped_doc": "Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "stripped_doc": "", "type": "Variable" } ], @@ -8749,13 +9192,43 @@ "def": "MenubarFlag.colors", "def_gfm": "MenubarFlag.colors", "desc": "Table that contains the configuration of indicator colors", - "doc": "Table that contains the configuration of indicator colors\n\nThe table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\n\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", - "doc_gfm": "

Table that contains the configuration of indicator colors

\n

The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\nhs.drawing.color specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.

\n

Indicator specs can be static flag-like:

\n\n
  Spanish = {col.green, col.white, col.red},\n  German = {col.black, col.red, col.yellow},
\n

or complex, programmatically-generated:

\n\n
[\"U.S.\"] = (\n   function() res={}\n      for i = 0,10,1 do\n         table.insert(res, col.blue)\n         table.insert(res, col.white)\n         table.insert(res, col.red)\n      end\n      return res\n   end)()
\n

or solid colors:

\n\n
  Spanish = {col.red},\n  German = {col.yellow},
\n

Contributions of indicator specs are welcome!

\n", + "doc": "Table that contains the configuration of indicator colors\n\nNotes:\n * The table below indicates the colors to use for a given keyboard layout.\n * The index is the name of the layout as it appears in the input source menu.\n * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.\n * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.\n * Indicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\n * Contributions of indicator specs are welcome!", + "doc_gfm": "

Table that contains the configuration of indicator colors

\n

Notes:

\n
    \n
  • The table below indicates the colors to use for a given keyboard layout.
  • \n
  • The index is the name of the layout as it appears in the input source menu.
  • \n
  • The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.
  • \n
  • Each segment must be a valid hs.drawing.color specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.
  • \n
  • Indicator specs can be static flag-like:\n
    Spanish = {col.green, col.white, col.red},\nGerman = {col.black, col.red, col.yellow},
    \nor complex, programmatically-generated:\n
    [\"U.S.\"] = (\nfunction() res={}\n   for i = 0,10,1 do\n      table.insert(res, col.blue)\n      table.insert(res, col.white)\n      table.insert(res, col.red)\n   end\n   return res\nend)()
    \nor solid colors:\n
    Spanish = {col.red},\nGerman = {col.yellow},
    \n
  • \n
  • Contributions of indicator specs are welcome!
  • \n
\n", "file": "Source/MenubarFlag.spoon/init.lua", "lineno": "42", "name": "colors", + "notes": [ + " * The table below indicates the colors to use for a given keyboard layout.", + " * The index is the name of the layout as it appears in the input source menu.", + " * The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.", + " * Each segment must be a valid `hs.drawing.color` specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.", + " * Indicator specs can be static flag-like:", + "```", + " Spanish = {col.green, col.white, col.red},", + " German = {col.black, col.red, col.yellow},", + "```", + "or complex, programmatically-generated:", + "```", + "[\"U.S.\"] = (", + " function() res={}", + " for i = 0,10,1 do", + " table.insert(res, col.blue)", + " table.insert(res, col.white)", + " table.insert(res, col.red)", + " end", + " return res", + " end)()", + "```", + "or solid colors:", + "```", + " Spanish = {col.red},", + " German = {col.yellow},", + "```", + " * Contributions of indicator specs are welcome!" + ], + "notes_gfm": "
    \n
  • The table below indicates the colors to use for a given keyboard layout.
  • \n
  • The index is the name of the layout as it appears in the input source menu.
  • \n
  • The value of each indicator is a table made of an arbitrary number of segments, which will be distributed evenly across the width of the screen.
  • \n
  • Each segment must be a valid hs.drawing.color specification (most commonly, you should just use the named colors from within the tables). If a layout is not found, then the indicators are removed when that layout is active.
  • \n
  • Indicator specs can be static flag-like:\n
    Spanish = {col.green, col.white, col.red},\nGerman = {col.black, col.red, col.yellow},
    \nor complex, programmatically-generated:\n
    [\"U.S.\"] = (\nfunction() res={}\n   for i = 0,10,1 do\n      table.insert(res, col.blue)\n      table.insert(res, col.white)\n      table.insert(res, col.red)\n   end\n   return res\nend)()
    \nor solid colors:\n
    Spanish = {col.red},\nGerman = {col.yellow},
    \n
  • \n
  • Contributions of indicator specs are welcome!
  • \n
\n", "signature": "MenubarFlag.colors", - "stripped_doc": "The table below indicates the colors to use for a given keyboard\nlayout. The index is the name of the layout as it appears in the\ninput source menu. The value of each indicator is a table made of\nan arbitrary number of segments, which will be distributed evenly\nacross the width of the screen. Each segment must be a valid\n`hs.drawing.color` specification (most commonly, you should just\nuse the named colors from within the tables). If a layout is not\nfound, then the indicators are removed when that layout is active.\nIndicator specs can be static flag-like:\n```\n Spanish = {col.green, col.white, col.red},\n German = {col.black, col.red, col.yellow},\n```\nor complex, programmatically-generated:\n```\n[\"U.S.\"] = (\n function() res={}\n for i = 0,10,1 do\n table.insert(res, col.blue)\n table.insert(res, col.white)\n table.insert(res, col.red)\n end\n return res\n end)()\n```\nor solid colors:\n```\n Spanish = {col.red},\n German = {col.yellow},\n```\nContributions of indicator specs are welcome!", + "stripped_doc": "", "type": "Variable" }, { @@ -8766,7 +9239,7 @@ "doc_gfm": "

Draw the indicators corresponding to the given layout name

\n

Parameters:

\n
    \n
  • src - name of the layout to draw. If the given element exists in MenubarFlag.colors, it will be drawn. If it does not exist, then the indicators will be removed from the screen.
  • \n
\n

Returns:

\n
    \n
  • The MenubarFlag object
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "123", + "lineno": "118", "name": "drawIndicators", "notes": [], "notes_gfm": "", @@ -8790,7 +9263,7 @@ "doc_gfm": "

Draw indicators for the current keyboard method or layout

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MenubarFlag object
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "180", + "lineno": "175", "name": "getLayoutAndDrawindicators", "notes": [], "notes_gfm": "", @@ -8853,7 +9326,7 @@ "doc_gfm": "

Start the keyboard layout watcher to draw the menubar indicators.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "193", + "lineno": "188", "name": "start", "notes": [], "notes_gfm": "", @@ -8875,7 +9348,7 @@ "doc_gfm": "

Remove indicators and stop the keyboard layout watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "213", + "lineno": "208", "name": "stop", "notes": [], "notes_gfm": "", @@ -8893,13 +9366,18 @@ "def": "MenubarFlag.timerFreq", "def_gfm": "MenubarFlag.timerFreq", "desc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.", - "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nSometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", - "doc_gfm": "

Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.

\n

Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.

\n", + "doc": "Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.\n\nNotes:\n * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.\n * The timer can be disabled by setting this parameter to 0.", + "doc_gfm": "

Number to indicate how frequently (in seconds) should the menubar indicator be updated. Defaults to 1.0.

\n

Notes:

\n
    \n
  • Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.
  • \n
  • The timer can be disabled by setting this parameter to 0.
  • \n
\n", "file": "Source/MenubarFlag.spoon/init.lua", - "lineno": "84", + "lineno": "80", "name": "timerFreq", + "notes": [ + " * Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.", + " * The timer can be disabled by setting this parameter to 0." + ], + "notes_gfm": "
    \n
  • Sometimes Hammerspoon misses the callback when the keyboard layout changes. As a workaround, MenuBarFlag can automatically update the indicator at a fixed frequency.
  • \n
  • The timer can be disabled by setting this parameter to 0.
  • \n
\n", "signature": "MenubarFlag.timerFreq", - "stripped_doc": "Sometimes Hammerspoon misses the callback when the keyboard layout\nchanges. As a workaround, MenuBarFlag can automatically update the\nindicator at a fixed frequency. The timer can be disabled by\nsetting this parameter to 0.", + "stripped_doc": "", "type": "Variable" } ], @@ -9031,11 +9509,23 @@ "def": "MiroWindowsManager:bindHotkeys()", "def_gfm": "MiroWindowsManager:bindHotkeys()", "desc": "Binds hotkeys for Miro's Windows Manager", - "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nA configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", - "doc_gfm": "

Binds hotkeys for Miro's Windows Manager\nParameters:

\n
    \n
  • mapping - A table containing hotkey details for the following items:
      \n
    • up: for the up action (usually {hyper, \"up\"})
    • \n
    • right: for the right action (usually {hyper, \"right\"})
    • \n
    • down: for the down action (usually {hyper, \"down\"})
    • \n
    • left: for the left action (usually {hyper, \"left\"})
    • \n
    • fullscreen: for the full-screen action (e.g. {hyper, \"f\"})
    • \n
    \n
  • \n
\n

A configuration example can be:

\n\n
local hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n  up = {hyper, \"up\"},\n  right = {hyper, \"right\"},\n  down = {hyper, \"down\"},\n  left = {hyper, \"left\"},\n  fullscreen = {hyper, \"f\"}\n})
\n", - "examples": [], + "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nExamples:\n * A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "doc_gfm": "

Binds hotkeys for Miro's Windows Manager\nParameters:

\n
    \n
  • mapping - A table containing hotkey details for the following items:
      \n
    • up: for the up action (usually {hyper, \"up\"})
    • \n
    • right: for the right action (usually {hyper, \"right\"})
    • \n
    • down: for the down action (usually {hyper, \"down\"})
    • \n
    • left: for the left action (usually {hyper, \"left\"})
    • \n
    • fullscreen: for the full-screen action (e.g. {hyper, \"f\"})
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • A configuration example can be:\n
    local hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\nup = {hyper, \"up\"},\nright = {hyper, \"right\"},\ndown = {hyper, \"down\"},\nleft = {hyper, \"left\"},\nfullscreen = {hyper, \"f\"}\n})
    \n
  • \n
\n", + "examples": [ + " * A configuration example can be:", + "```", + "local hyper = {\"ctrl\", \"alt\", \"cmd\"}", + "spoon.MiroWindowsManager:bindHotkeys({", + " up = {hyper, \"up\"},", + " right = {hyper, \"right\"},", + " down = {hyper, \"down\"},", + " left = {hyper, \"left\"},", + " fullscreen = {hyper, \"f\"}", + "})", + "```" + ], "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "141", + "lineno": "144", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -9046,7 +9536,7 @@ "returns": [], "returns_gfm": "", "signature": "MiroWindowsManager:bindHotkeys()", - "stripped_doc": "A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "stripped_doc": "", "type": "Method" } ], @@ -9054,40 +9544,50 @@ { "def": "MiroWindowsManager.fullScreenSizes", "def_gfm": "MiroWindowsManager.fullScreenSizes", - "desc": "The sizes that the window can have in full-screen. ", - "doc": "The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", - "doc_gfm": "

The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size

\n", + "desc": "The sizes that the window can have in full-screen.", + "doc": "The sizes that the window can have in full-screen.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "doc_gfm": "

The sizes that the window can have in full-screen.

\n

Notes:

\n
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size
  • \n
\n", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "44", + "lineno": "46", "name": "fullScreenSizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size" + ], + "notes_gfm": "
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size
  • \n
\n", "signature": "MiroWindowsManager.fullScreenSizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.GRID", "def_gfm": "MiroWindowsManager.GRID", - "desc": "The screen's size using `hs.grid.setGrid()`", - "doc": "The screen's size using `hs.grid.setGrid()`\nThis parameter is used at the spoon's `:init()`", - "doc_gfm": "

The screen's size using hs.grid.setGrid()\nThis parameter is used at the spoon's :init()

\n", + "desc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc_gfm": "

The screen's size using hs.grid.setGrid() This parameter is used at the spoon's :init()

\n", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "51", + "lineno": "55", "name": "GRID", "signature": "MiroWindowsManager.GRID", - "stripped_doc": "This parameter is used at the spoon's `:init()`", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.sizes", "def_gfm": "MiroWindowsManager.sizes", - "desc": "The sizes that the window can have. ", - "doc": "The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", - "doc_gfm": "

The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size

\n", + "desc": "The sizes that the window can have.", + "doc": "The sizes that the window can have.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "doc_gfm": "

The sizes that the window can have.

\n

Notes:

\n
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size
  • \n
\n", "file": "Source/MiroWindowsManager.spoon/init.lua", "lineno": "37", "name": "sizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size" + ], + "notes_gfm": "
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size
  • \n
\n", "signature": "MiroWindowsManager.sizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "stripped_doc": "", "type": "Variable" } ], @@ -9100,11 +9600,23 @@ "def": "MiroWindowsManager:bindHotkeys()", "def_gfm": "MiroWindowsManager:bindHotkeys()", "desc": "Binds hotkeys for Miro's Windows Manager", - "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nA configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", - "doc_gfm": "

Binds hotkeys for Miro's Windows Manager\nParameters:

\n
    \n
  • mapping - A table containing hotkey details for the following items:
      \n
    • up: for the up action (usually {hyper, \"up\"})
    • \n
    • right: for the right action (usually {hyper, \"right\"})
    • \n
    • down: for the down action (usually {hyper, \"down\"})
    • \n
    • left: for the left action (usually {hyper, \"left\"})
    • \n
    • fullscreen: for the full-screen action (e.g. {hyper, \"f\"})
    • \n
    \n
  • \n
\n

A configuration example can be:

\n\n
local hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n  up = {hyper, \"up\"},\n  right = {hyper, \"right\"},\n  down = {hyper, \"down\"},\n  left = {hyper, \"left\"},\n  fullscreen = {hyper, \"f\"}\n})
\n", - "examples": [], + "doc": "Binds hotkeys for Miro's Windows Manager\nParameters:\n * mapping - A table containing hotkey details for the following items:\n * up: for the up action (usually {hyper, \"up\"})\n * right: for the right action (usually {hyper, \"right\"})\n * down: for the down action (usually {hyper, \"down\"})\n * left: for the left action (usually {hyper, \"left\"})\n * fullscreen: for the full-screen action (e.g. {hyper, \"f\"})\n\nExamples:\n * A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "doc_gfm": "

Binds hotkeys for Miro's Windows Manager\nParameters:

\n
    \n
  • mapping - A table containing hotkey details for the following items:
      \n
    • up: for the up action (usually {hyper, \"up\"})
    • \n
    • right: for the right action (usually {hyper, \"right\"})
    • \n
    • down: for the down action (usually {hyper, \"down\"})
    • \n
    • left: for the left action (usually {hyper, \"left\"})
    • \n
    • fullscreen: for the full-screen action (e.g. {hyper, \"f\"})
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • A configuration example can be:\n
    local hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\nup = {hyper, \"up\"},\nright = {hyper, \"right\"},\ndown = {hyper, \"down\"},\nleft = {hyper, \"left\"},\nfullscreen = {hyper, \"f\"}\n})
    \n
  • \n
\n", + "examples": [ + " * A configuration example can be:", + "```", + "local hyper = {\"ctrl\", \"alt\", \"cmd\"}", + "spoon.MiroWindowsManager:bindHotkeys({", + " up = {hyper, \"up\"},", + " right = {hyper, \"right\"},", + " down = {hyper, \"down\"},", + " left = {hyper, \"left\"},", + " fullscreen = {hyper, \"f\"}", + "})", + "```" + ], "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "141", + "lineno": "144", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -9115,46 +9627,56 @@ "returns": [], "returns_gfm": "", "signature": "MiroWindowsManager:bindHotkeys()", - "stripped_doc": "A configuration example can be:\n```\nlocal hyper = {\"ctrl\", \"alt\", \"cmd\"}\nspoon.MiroWindowsManager:bindHotkeys({\n up = {hyper, \"up\"},\n right = {hyper, \"right\"},\n down = {hyper, \"down\"},\n left = {hyper, \"left\"},\n fullscreen = {hyper, \"f\"}\n})\n```", + "stripped_doc": "", "type": "Method" }, { "def": "MiroWindowsManager.fullScreenSizes", "def_gfm": "MiroWindowsManager.fullScreenSizes", - "desc": "The sizes that the window can have in full-screen. ", - "doc": "The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", - "doc_gfm": "

The sizes that the window can have in full-screen. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size

\n", + "desc": "The sizes that the window can have in full-screen.", + "doc": "The sizes that the window can have in full-screen.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "doc_gfm": "

The sizes that the window can have in full-screen.

\n

Notes:

\n
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size
  • \n
\n", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "44", + "lineno": "46", "name": "fullScreenSizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size" + ], + "notes_gfm": "
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {1, 4/3, 2} means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size
  • \n
\n", "signature": "MiroWindowsManager.fullScreenSizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{1, 4/3, 2}` means that it can be 1/1 (hence full screen), 3/4 and 1/2 of the total screen's size", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.GRID", "def_gfm": "MiroWindowsManager.GRID", - "desc": "The screen's size using `hs.grid.setGrid()`", - "doc": "The screen's size using `hs.grid.setGrid()`\nThis parameter is used at the spoon's `:init()`", - "doc_gfm": "

The screen's size using hs.grid.setGrid()\nThis parameter is used at the spoon's :init()

\n", + "desc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc": "The screen's size using `hs.grid.setGrid()` This parameter is used at the spoon's `:init()`", + "doc_gfm": "

The screen's size using hs.grid.setGrid() This parameter is used at the spoon's :init()

\n", "file": "Source/MiroWindowsManager.spoon/init.lua", - "lineno": "51", + "lineno": "55", "name": "GRID", "signature": "MiroWindowsManager.GRID", - "stripped_doc": "This parameter is used at the spoon's `:init()`", + "stripped_doc": "", "type": "Variable" }, { "def": "MiroWindowsManager.sizes", "def_gfm": "MiroWindowsManager.sizes", - "desc": "The sizes that the window can have. ", - "doc": "The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", - "doc_gfm": "

The sizes that the window can have. \nThe sizes are expressed as dividend of the entire screen's size.\nFor example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size

\n", + "desc": "The sizes that the window can have.", + "doc": "The sizes that the window can have.\n\nNotes:\n * The sizes are expressed as dividend of the entire screen's size.\n * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "doc_gfm": "

The sizes that the window can have.

\n

Notes:

\n
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size
  • \n
\n", "file": "Source/MiroWindowsManager.spoon/init.lua", "lineno": "37", "name": "sizes", + "notes": [ + " * The sizes are expressed as dividend of the entire screen's size.", + " * For example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size" + ], + "notes_gfm": "
    \n
  • The sizes are expressed as dividend of the entire screen's size.
  • \n
  • For example {2, 3, 3/2} means that it can be 1/2, 1/3 and 2/3 of the total screen's size
  • \n
\n", "signature": "MiroWindowsManager.sizes", - "stripped_doc": "The sizes are expressed as dividend of the entire screen's size.\nFor example `{2, 3, 3/2}` means that it can be 1/2, 1/3 and 2/3 of the total screen's size", + "stripped_doc": "", "type": "Variable" } ], @@ -9426,7 +9948,7 @@ "doc_gfm": "

Binds hotkeys for MountedVolumes

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for one or more of the following commands:
      \n
    • \"show\" - Show the volume list
    • \n
    • \"hide\" - Hide the volume list
    • \n
    • \"toggle\" - If the volume list is visible then hide it; otherwise show the list.
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • the mapping table is a table of one or more key-value pairs of the format command = { { modifiers }, key } where:
      \n
    • command - is one of the commands listed above
    • \n
    • modifiers - is a table containing keyboard modifiers, as specified in hs.hotkey.bind()
    • \n
    • key - is a string containing the name of a keyboard key, as specified in hs.hotkey.bind()
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "306", + "lineno": "311", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -9455,7 +9977,7 @@ "doc_gfm": "

Hide the volumes panel on the background and stop watching for volume changes

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MountedVolumes object
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "285", + "lineno": "290", "name": "hide", "notes": [], "notes_gfm": "", @@ -9479,7 +10001,7 @@ "doc_gfm": "

Display the volumes panel on the background and update it as volumes are mounted and unmounted.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MountedVolumes object
  • \n
\n

Notes:

\n
    \n
  • If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed.
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "263", + "lineno": "268", "name": "show", "notes": [ " * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed." @@ -9506,7 +10028,7 @@ "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color of the volume lists border. Defaults to { alpha = .5 }

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "249", + "lineno": "254", "name": "backgroundBorder", "signature": "MountedVolumes.backgroundBorder", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9519,7 +10041,7 @@ "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color of the volume lists background. Defaults to { alpha = .7, white = .5 }

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "242", + "lineno": "247", "name": "backgroundColor", "signature": "MountedVolumes.backgroundColor", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9529,13 +10051,17 @@ "def": "MountedVolumes.capacityColor", "def_gfm": "MountedVolumes.capacityColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.orangered

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.orangered

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "205", + "lineno": "206", "name": "capacityColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.capacityColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -9545,7 +10071,7 @@ "doc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "235", + "lineno": "240", "name": "checkInterval", "signature": "MountedVolumes.checkInterval", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9558,7 +10084,7 @@ "doc": "A number, default 5, specifying how rounded the corners of the volume list background should be.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A number, default 5, specifying how rounded the corners of the volume list background should be.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "256", + "lineno": "261", "name": "cornerRadius", "signature": "MountedVolumes.cornerRadius", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9568,65 +10094,92 @@ "def": "MountedVolumes.enableEjectButton", "def_gfm": "MountedVolumes.enableEjectButton", "desc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.", - "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "198", "name": "enableEjectButton", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.enableEjectButton", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.freeColor", "def_gfm": "MountedVolumes.freeColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.mediumspringgreen

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.mediumspringgreen

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "212", + "lineno": "214", "name": "freeColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.freeColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.growsDownwards", "def_gfm": "MountedVolumes.growsDownwards", "desc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.", - "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\n\nNotes:\n * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.

\n

Notes:

\n
    \n
  • Note that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "227", + "lineno": "231", "name": "growsDownwards", + "notes": [ + " * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Note that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.growsDownwards", - "stripped_doc": "Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.location", "def_gfm": "MountedVolumes.location", "desc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.", - "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\nSee also `MountedValues.growsDownwards`.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table specifying the location on the screen of the starting corner of the display. Defaults to { x = 20, y = 22 }.\nSee also MountedValues.growsDownwards.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\n\nNotes:\n * See also `MountedValues.growsDownwards`.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table specifying the location on the screen of the starting corner of the display. Defaults to { x = 20, y = 22 }.

\n

Notes:

\n
    \n
  • See also MountedValues.growsDownwards.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "219", + "lineno": "222", "name": "location", + "notes": [ + " * See also `MountedValues.growsDownwards`.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • See also MountedValues.growsDownwards.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.location", - "stripped_doc": "See also `MountedValues.growsDownwards`.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.textStyle", "def_gfm": "MountedVolumes.textStyle", "desc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:", - "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\n {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table specifying the style as defined in hs.styledtext to display the volume name and usage details with. Defaults to:

\n\n
{\n    font = { name = \"Menlo\", size = 10 },\n    color = { alpha = 1.0 },\n    paragraphStyle = { alignment = \"center\" },\n}\n\n
\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\nNotes:\n * {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table specifying the style as defined in hs.styledtext to display the volume name and usage details with. Defaults to:

\n

Notes:

\n
    \n
  • {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n}
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "181", "name": "textStyle", + "notes": [ + " * {", + " font = { name = \"Menlo\", size = 10 },", + " color = { alpha = 1.0 },", + " paragraphStyle = { alignment = \"center\" },", + " }", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n}
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.textStyle", - "stripped_doc": " {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -9655,7 +10208,7 @@ "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists border. Defaults to `{ alpha = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color of the volume lists border. Defaults to { alpha = .5 }

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "249", + "lineno": "254", "name": "backgroundBorder", "signature": "MountedVolumes.backgroundBorder", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9668,7 +10221,7 @@ "doc": "A table, as defined in `hs.drawing.color`, specifying the color of the volume lists background. Defaults to `{ alpha = .7, white = .5 }`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color of the volume lists background. Defaults to { alpha = .7, white = .5 }

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "242", + "lineno": "247", "name": "backgroundColor", "signature": "MountedVolumes.backgroundColor", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9682,7 +10235,7 @@ "doc_gfm": "

Binds hotkeys for MountedVolumes

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for one or more of the following commands:
      \n
    • \"show\" - Show the volume list
    • \n
    • \"hide\" - Hide the volume list
    • \n
    • \"toggle\" - If the volume list is visible then hide it; otherwise show the list.
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • the mapping table is a table of one or more key-value pairs of the format command = { { modifiers }, key } where:
      \n
    • command - is one of the commands listed above
    • \n
    • modifiers - is a table containing keyboard modifiers, as specified in hs.hotkey.bind()
    • \n
    • key - is a string containing the name of a keyboard key, as specified in hs.hotkey.bind()
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "306", + "lineno": "311", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -9707,13 +10260,17 @@ "def": "MountedVolumes.capacityColor", "def_gfm": "MountedVolumes.capacityColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.orangered

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.orangered`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the in use portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.orangered

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "205", + "lineno": "206", "name": "capacityColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.capacityColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -9723,7 +10280,7 @@ "doc": "A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A number, default 120, specifying how often in seconds the free space on mounted volumes should be polled for current usage data.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "235", + "lineno": "240", "name": "checkInterval", "signature": "MountedVolumes.checkInterval", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9736,7 +10293,7 @@ "doc": "A number, default 5, specifying how rounded the corners of the volume list background should be.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", "doc_gfm": "

A number, default 5, specifying how rounded the corners of the volume list background should be.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "256", + "lineno": "261", "name": "cornerRadius", "signature": "MountedVolumes.cornerRadius", "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", @@ -9746,39 +10303,52 @@ "def": "MountedVolumes.enableEjectButton", "def_gfm": "MountedVolumes.enableEjectButton", "desc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.", - "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A boolean, default true, indicating whether the eject button displayed next to removable volumes is enabled.

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "198", "name": "enableEjectButton", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.enableEjectButton", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.freeColor", "def_gfm": "MountedVolumes.freeColor", "desc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`", - "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.mediumspringgreen

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table, as defined in `hs.drawing.color`, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to `hs.drawing.color.x11.mediumspringgreen`\n\nNotes:\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table, as defined in hs.drawing.color, specifying the color to use for the free portion of the volume's capacity pie chart. Defaults to hs.drawing.color.x11.mediumspringgreen

\n

Notes:

\n
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "212", + "lineno": "214", "name": "freeColor", + "notes": [ + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.freeColor", - "stripped_doc": "Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { "def": "MountedVolumes.growsDownwards", "def_gfm": "MountedVolumes.growsDownwards", "desc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.", - "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\nNote that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.\n\nNotes:\n * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A boolean, default true, indicating whether the displayed list grows downwards or upwards as more volumes are mounted.

\n

Notes:

\n
    \n
  • Note that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "227", + "lineno": "231", "name": "growsDownwards", + "notes": [ + " * Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • Note that if this value is true, then MountedVolumes.location specifies the upper left corner of the display. If this value is false, then MountedVolumes.location specifies the bottom left corner of the display.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.growsDownwards", - "stripped_doc": "Note that if this value is true, then `MountedVolumes.location` specifies the upper left corner of the display. If this value is false, then `MountedVolumes.location` specifies the bottom left corner of the display.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -9789,7 +10359,7 @@ "doc_gfm": "

Hide the volumes panel on the background and stop watching for volume changes

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MountedVolumes object
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "285", + "lineno": "290", "name": "hide", "notes": [], "notes_gfm": "", @@ -9809,13 +10379,18 @@ "def": "MountedVolumes.location", "def_gfm": "MountedVolumes.location", "desc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.", - "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\nSee also `MountedValues.growsDownwards`.\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table specifying the location on the screen of the starting corner of the display. Defaults to { x = 20, y = 22 }.\nSee also MountedValues.growsDownwards.

\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table specifying the location on the screen of the starting corner of the display. Defaults to `{ x = 20, y = 22 }`.\n\nNotes:\n * See also `MountedValues.growsDownwards`.\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table specifying the location on the screen of the starting corner of the display. Defaults to { x = 20, y = 22 }.

\n

Notes:

\n
    \n
  • See also MountedValues.growsDownwards.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "219", + "lineno": "222", "name": "location", + "notes": [ + " * See also `MountedValues.growsDownwards`.", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • See also MountedValues.growsDownwards.
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.location", - "stripped_doc": "See also `MountedValues.growsDownwards`.\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -9826,7 +10401,7 @@ "doc_gfm": "

Display the volumes panel on the background and update it as volumes are mounted and unmounted.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The MountedVolumes object
  • \n
\n

Notes:

\n
    \n
  • If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed.
  • \n
\n", "examples": [], "file": "Source/MountedVolumes.spoon/init.lua", - "lineno": "263", + "lineno": "268", "name": "show", "notes": [ " * If you make a change to any of the variables defining the visual appearance of the volume list, you can force the change to take immediate effect by invoking this method, even if the volume list is already being displayed." @@ -9848,13 +10423,22 @@ "def": "MountedVolumes.textStyle", "def_gfm": "MountedVolumes.textStyle", "desc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:", - "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\n {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", - "doc_gfm": "

A table specifying the style as defined in hs.styledtext to display the volume name and usage details with. Defaults to:

\n\n
{\n    font = { name = \"Menlo\", size = 10 },\n    color = { alpha = 1.0 },\n    paragraphStyle = { alignment = \"center\" },\n}\n\n
\n

Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.

\n", + "doc": "A table specifying the style as defined in `hs.styledtext` to display the volume name and usage details with. Defaults to:\n\nNotes:\n * {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\n * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "doc_gfm": "

A table specifying the style as defined in hs.styledtext to display the volume name and usage details with. Defaults to:

\n

Notes:

\n
    \n
  • {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n}
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "file": "Source/MountedVolumes.spoon/init.lua", "lineno": "181", "name": "textStyle", + "notes": [ + " * {", + " font = { name = \"Menlo\", size = 10 },", + " color = { alpha = 1.0 },", + " paragraphStyle = { alignment = \"center\" },", + " }", + " * Changes will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first." + ], + "notes_gfm": "
    \n
  • {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n}
  • \n
  • Changes will take effect when the next volume change occurs, when the next usage check occurs (see MountedVolumes.checkInterval), or when MountedVolumes:show is invoked, whichever occurs first.
  • \n
\n", "signature": "MountedVolumes.textStyle", - "stripped_doc": " {\n font = { name = \"Menlo\", size = 10 },\n color = { alpha = 1.0 },\n paragraphStyle = { alignment = \"center\" },\n }\nChanges will take effect when the next volume change occurs, when the next usage check occurs (see `MountedVolumes.checkInterval`), or when `MountedVolumes:show` is invoked, whichever occurs first.", + "stripped_doc": "", "type": "Variable" }, { @@ -10392,7 +10976,7 @@ "doc_gfm": "

Binds hotkeys for PasswordGenerator

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • copy - Generate password and copy to clipboard
    • \n
    • paste - Generate password and paste
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -10410,11 +10994,11 @@ "def": "PasswordGenerator:copyPassword()", "def_gfm": "PasswordGenerator:copyPassword()", "desc": "Generates a password and copies to clipboard", - "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\n Returns:\n * The generated password", - "doc_gfm": "

Generates a password and copies to clipboard

\n

Parameters:

\n
    \n
  • None

    \n

    Returns:

    \n
      \n
    • The generated password
    • \n
    \n
  • \n
\n", + "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\nReturns:\n * The generated password", + "doc_gfm": "

Generates a password and copies to clipboard

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The generated password
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "172", + "lineno": "178", "name": "copyPassword", "notes": [], "notes_gfm": "", @@ -10422,21 +11006,23 @@ " * None" ], "parameters_gfm": "
    \n
  • None
  • \n
\n", - "returns": [], - "returns_gfm": "", + "returns": [ + " * The generated password" + ], + "returns_gfm": "
    \n
  • The generated password
  • \n
\n", "signature": "PasswordGenerator:copyPassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { "def": "PasswordGenerator:pastePassword()", "def_gfm": "PasswordGenerator:pastePassword()", "desc": "Generates a password and types it", - "doc": "Generates a password and types it\n\nParameters:\n * None\n\n Returns:\n * The generated password", - "doc_gfm": "

Generates a password and types it

\n

Parameters:

\n
    \n
  • None

    \n

    Returns:

    \n
      \n
    • The generated password
    • \n
    \n
  • \n
\n", + "doc": "Generates a password and types it\n\nParameters:\n * None\n\nReturns:\n * The generated password", + "doc_gfm": "

Generates a password and types it

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The generated password
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "187", + "lineno": "193", "name": "pastePassword", "notes": [], "notes_gfm": "", @@ -10444,10 +11030,12 @@ " * None" ], "parameters_gfm": "
    \n
  • None
  • \n
\n", - "returns": [], - "returns_gfm": "", + "returns": [ + " * The generated password" + ], + "returns_gfm": "
    \n
  • The generated password
  • \n
\n", "signature": "PasswordGenerator:pastePassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" } ], @@ -10508,39 +11096,53 @@ "def": "PasswordGenerator.word_leet", "def_gfm": "PasswordGenerator.word_leet", "desc": "Which word number will have its word `733t` transformed.", - "doc": "Which word number will have its word `733t` transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0", - "doc_gfm": "

Which word number will have its word 733t transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0

\n", + "doc": "Which word number will have its word `733t` transformed.\n\nNotes:\n * Useful to ensure the word will at least have a one numeric value.\n * Defaults to 0", + "doc_gfm": "

Which word number will have its word 733t transformed.

\n

Notes:

\n
    \n
  • Useful to ensure the word will at least have a one numeric value.
  • \n
  • Defaults to 0
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", "lineno": "123", "name": "word_leet", + "notes": [ + " * Useful to ensure the word will at least have a one numeric value.", + " * Defaults to 0" + ], + "notes_gfm": "
    \n
  • Useful to ensure the word will at least have a one numeric value.
  • \n
  • Defaults to 0
  • \n
\n", "signature": "PasswordGenerator.word_leet", - "stripped_doc": "Useful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_separators", "def_gfm": "PasswordGenerator.word_separators", "desc": "String of separators to use between words.", - "doc": "String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", - "doc_gfm": "

String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"

\n", + "doc": "String of separators to use between words.\n\nNotes:\n * If multiple characters one will be chosen by random.\n * Used by xkcd. Default is \" _-,$\"", + "doc_gfm": "

String of separators to use between words.

\n

Notes:

\n
    \n
  • If multiple characters one will be chosen by random.
  • \n
  • Used by xkcd. Default is \" _-,$\"
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "130", + "lineno": "132", "name": "word_separators", + "notes": [ + " * If multiple characters one will be chosen by random.", + " * Used by xkcd. Default is \" _-,$\"" + ], + "notes_gfm": "
    \n
  • If multiple characters one will be chosen by random.
  • \n
  • Used by xkcd. Default is \" _-,$\"
  • \n
\n", "signature": "PasswordGenerator.word_separators", - "stripped_doc": "If multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_uppercase", "def_gfm": "PasswordGenerator.word_uppercase", "desc": "Number of words to uppercase the first letter.", - "doc": "Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.", - "doc_gfm": "

Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.

\n", + "doc": "Number of words to uppercase the first letter.\n\nNotes:\n * Used by xkcd. Default is 1.", + "doc_gfm": "

Number of words to uppercase the first letter.

\n

Notes:

\n
    \n
  • Used by xkcd. Default is 1.
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "137", + "lineno": "141", "name": "word_uppercase", + "notes": [ + " * Used by xkcd. Default is 1." + ], + "notes_gfm": "
    \n
  • Used by xkcd. Default is 1.
  • \n
\n", "signature": "PasswordGenerator.word_uppercase", - "stripped_doc": "Used by xkcd. Default is 1.", + "stripped_doc": "", "type": "Variable" } ], @@ -10557,7 +11159,7 @@ "doc_gfm": "

Binds hotkeys for PasswordGenerator

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • copy - Generate password and copy to clipboard
    • \n
    • paste - Generate password and paste
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -10575,11 +11177,11 @@ "def": "PasswordGenerator:copyPassword()", "def_gfm": "PasswordGenerator:copyPassword()", "desc": "Generates a password and copies to clipboard", - "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\n Returns:\n * The generated password", - "doc_gfm": "

Generates a password and copies to clipboard

\n

Parameters:

\n
    \n
  • None

    \n

    Returns:

    \n
      \n
    • The generated password
    • \n
    \n
  • \n
\n", + "doc": "Generates a password and copies to clipboard\n\nParameters:\n * None\n\nReturns:\n * The generated password", + "doc_gfm": "

Generates a password and copies to clipboard

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The generated password
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "172", + "lineno": "178", "name": "copyPassword", "notes": [], "notes_gfm": "", @@ -10587,10 +11189,12 @@ " * None" ], "parameters_gfm": "
    \n
  • None
  • \n
\n", - "returns": [], - "returns_gfm": "", + "returns": [ + " * The generated password" + ], + "returns_gfm": "
    \n
  • The generated password
  • \n
\n", "signature": "PasswordGenerator:copyPassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { @@ -10636,11 +11240,11 @@ "def": "PasswordGenerator:pastePassword()", "def_gfm": "PasswordGenerator:pastePassword()", "desc": "Generates a password and types it", - "doc": "Generates a password and types it\n\nParameters:\n * None\n\n Returns:\n * The generated password", - "doc_gfm": "

Generates a password and types it

\n

Parameters:

\n
    \n
  • None

    \n

    Returns:

    \n
      \n
    • The generated password
    • \n
    \n
  • \n
\n", + "doc": "Generates a password and types it\n\nParameters:\n * None\n\nReturns:\n * The generated password", + "doc_gfm": "

Generates a password and types it

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The generated password
  • \n
\n", "examples": [], "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "187", + "lineno": "193", "name": "pastePassword", "notes": [], "notes_gfm": "", @@ -10648,10 +11252,12 @@ " * None" ], "parameters_gfm": "
    \n
  • None
  • \n
\n", - "returns": [], - "returns_gfm": "", + "returns": [ + " * The generated password" + ], + "returns_gfm": "
    \n
  • The generated password
  • \n
\n", "signature": "PasswordGenerator:pastePassword()", - "stripped_doc": " Returns:\n * The generated password", + "stripped_doc": "", "type": "Method" }, { @@ -10671,39 +11277,53 @@ "def": "PasswordGenerator.word_leet", "def_gfm": "PasswordGenerator.word_leet", "desc": "Which word number will have its word `733t` transformed.", - "doc": "Which word number will have its word `733t` transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0", - "doc_gfm": "

Which word number will have its word 733t transformed.\nUseful to ensure the word will at least have a one numeric value.\nDefaults to 0

\n", + "doc": "Which word number will have its word `733t` transformed.\n\nNotes:\n * Useful to ensure the word will at least have a one numeric value.\n * Defaults to 0", + "doc_gfm": "

Which word number will have its word 733t transformed.

\n

Notes:

\n
    \n
  • Useful to ensure the word will at least have a one numeric value.
  • \n
  • Defaults to 0
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", "lineno": "123", "name": "word_leet", + "notes": [ + " * Useful to ensure the word will at least have a one numeric value.", + " * Defaults to 0" + ], + "notes_gfm": "
    \n
  • Useful to ensure the word will at least have a one numeric value.
  • \n
  • Defaults to 0
  • \n
\n", "signature": "PasswordGenerator.word_leet", - "stripped_doc": "Useful to ensure the word will at least have a one numeric value.\nDefaults to 0", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_separators", "def_gfm": "PasswordGenerator.word_separators", "desc": "String of separators to use between words.", - "doc": "String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", - "doc_gfm": "

String of separators to use between words.\nIf multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"

\n", + "doc": "String of separators to use between words.\n\nNotes:\n * If multiple characters one will be chosen by random.\n * Used by xkcd. Default is \" _-,$\"", + "doc_gfm": "

String of separators to use between words.

\n

Notes:

\n
    \n
  • If multiple characters one will be chosen by random.
  • \n
  • Used by xkcd. Default is \" _-,$\"
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "130", + "lineno": "132", "name": "word_separators", + "notes": [ + " * If multiple characters one will be chosen by random.", + " * Used by xkcd. Default is \" _-,$\"" + ], + "notes_gfm": "
    \n
  • If multiple characters one will be chosen by random.
  • \n
  • Used by xkcd. Default is \" _-,$\"
  • \n
\n", "signature": "PasswordGenerator.word_separators", - "stripped_doc": "If multiple characters one will be chosen by random.\nUsed by xkcd. Default is \" _-,$\"", + "stripped_doc": "", "type": "Variable" }, { "def": "PasswordGenerator.word_uppercase", "def_gfm": "PasswordGenerator.word_uppercase", "desc": "Number of words to uppercase the first letter.", - "doc": "Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.", - "doc_gfm": "

Number of words to uppercase the first letter.\nUsed by xkcd. Default is 1.

\n", + "doc": "Number of words to uppercase the first letter.\n\nNotes:\n * Used by xkcd. Default is 1.", + "doc_gfm": "

Number of words to uppercase the first letter.

\n

Notes:

\n
    \n
  • Used by xkcd. Default is 1.
  • \n
\n", "file": "Source/PasswordGenerator.spoon/init.lua", - "lineno": "137", + "lineno": "141", "name": "word_uppercase", + "notes": [ + " * Used by xkcd. Default is 1." + ], + "notes_gfm": "
    \n
  • Used by xkcd. Default is 1.
  • \n
\n", "signature": "PasswordGenerator.word_uppercase", - "stripped_doc": "Used by xkcd. Default is 1.", + "stripped_doc": "", "type": "Variable" } ], @@ -10728,7 +11348,7 @@ "doc_gfm": "

Binds hotkeys for Pastebin

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • paste - paste to Pastebin
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "364", + "lineno": "368", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -10750,7 +11370,7 @@ "doc_gfm": "

Pastes an item to Pastebin using the Pastebin api

\n

Parameters:

\n
    \n
  • private - Integer specifying whether the paste should be public, private, or unlisted. Defaults to obj.private (0=public)
  • \n
  • expire - String specifying the TTL for the paste. Defaults to obj.expire ('N'=never). Valid values are listed on obj.expire
  • \n
  • format - String specifying the appropriate Pastebin format enum. Default is obj.format ('text'). Valid values are listed on obj.format
  • \n
\n", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "314", + "lineno": "318", "name": "paste", "notes": [], "notes_gfm": "", @@ -10798,26 +11418,296 @@ "def": "Pastebin.expire", "def_gfm": "Pastebin.expire", "desc": "String indicating how long until the paste expires. Default is 'N' (Never)", - "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", - "doc_gfm": "

String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found here)\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y

\n", + "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\n\nNotes:\n * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\n * N\n * 10M\n * 1H\n * 1D\n * 1W\n * 2W\n * 1M\n * 6M\n * 1Y", + "doc_gfm": "

String indicating how long until the paste expires. Default is 'N' (Never)

\n

Notes:

\n
    \n
  • Valid expiration times at this time are (current list can be found here)
      \n
    • N
    • \n
    • 10M
    • \n
    • 1H
    • \n
    • 1D
    • \n
    • 1W
    • \n
    • 2W
    • \n
    • 1M
    • \n
    • 6M
    • \n
    • 1Y
    • \n
    \n
  • \n
\n", "file": "Source/Pastebin.spoon/init.lua", "lineno": "34", "name": "expire", + "notes": [ + " * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))", + " * N", + " * 10M", + " * 1H", + " * 1D", + " * 1W", + " * 2W", + " * 1M", + " * 6M", + " * 1Y" + ], + "notes_gfm": "
    \n
  • Valid expiration times at this time are (current list can be found here)
      \n
    • N
    • \n
    • 10M
    • \n
    • 1H
    • \n
    • 1D
    • \n
    • 1W
    • \n
    • 2W
    • \n
    • 1M
    • \n
    • 6M
    • \n
    • 1Y
    • \n
    \n
  • \n
\n", "signature": "Pastebin.expire", - "stripped_doc": "Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "stripped_doc": "", "type": "Variable" }, { "def": "Pastebin.format", "def_gfm": "Pastebin.format", "desc": "String indicating the format of the paste. Default is 'text' (plain text). ", - "doc": "String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", - "doc_gfm": "

String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found here): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'

\n", + "doc": "String indicating the format of the paste. Default is 'text' (plain text). \n\nNotes:\n * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n * '4cs'\n * '6502acme'\n * '6502kickass'\n * '6502tasm'\n * 'abap'\n * 'actionscript'\n * 'actionscript3'\n * 'ada'\n * 'aimms'\n * 'algol68'\n * 'apache'\n * 'applescript'\n * 'apt_sources'\n * 'arm'\n * 'asm'\n * 'asp'\n * 'asymptote'\n * 'autoconf'\n * 'autohotkey'\n * 'autoit'\n * 'avisynth'\n * 'awk'\n * 'bascomavr'\n * 'bash'\n * 'basic4gl'\n * 'dos'\n * 'bibtex'\n * 'blitzbasic'\n * 'b3d'\n * 'bmx'\n * 'bnf'\n * 'boo'\n * 'bf'\n * 'c'\n * 'c_winapi'\n * 'c_mac'\n * 'cil'\n * 'csharp'\n * 'cpp'\n * 'cpp-winapi'\n * 'cpp-qt'\n * 'c_loadrunner'\n * 'caddcl'\n * 'cadlisp'\n * 'ceylon'\n * 'cfdg'\n * 'chaiscript'\n * 'chapel'\n * 'clojure'\n * 'klonec'\n * 'klonecpp'\n * 'cmake'\n * 'cobol'\n * 'coffeescript'\n * 'cfm'\n * 'css'\n * 'cuesheet'\n * 'd'\n * 'dart'\n * 'dcl'\n * 'dcpu16'\n * 'dcs'\n * 'delphi'\n * 'oxygene'\n * 'diff'\n * 'div'\n * 'dot'\n * 'e'\n * 'ezt'\n * 'ecmascript'\n * 'eiffel'\n * 'email'\n * 'epc'\n * 'erlang'\n * 'euphoria'\n * 'fsharp'\n * 'falcon'\n * 'filemaker'\n * 'fo'\n * 'f1'\n * 'fortran'\n * 'freebasic'\n * 'freeswitch'\n * 'gambas'\n * 'gml'\n * 'gdb'\n * 'genero'\n * 'genie'\n * 'gettext'\n * 'go'\n * 'groovy'\n * 'gwbasic'\n * 'haskell'\n * 'haxe'\n * 'hicest'\n * 'hq9plus'\n * 'html4strict'\n * 'html5'\n * 'icon'\n * 'idl'\n * 'ini'\n * 'inno'\n * 'intercal'\n * 'io'\n * 'ispfpanel'\n * 'j'\n * 'java'\n * 'java5'\n * 'javascript'\n * 'jcl'\n * 'jquery'\n * 'json'\n * 'julia'\n * 'kixtart'\n * 'kotlin'\n * 'latex'\n * 'ldif'\n * 'lb'\n * 'lsl2'\n * 'lisp'\n * 'llvm'\n * 'locobasic'\n * 'logtalk'\n * 'lolcode'\n * 'lotusformulas'\n * 'lotusscript'\n * 'lscript'\n * 'lua'\n * 'm68k'\n * 'magiksf'\n * 'make'\n * 'mapbasic'\n * 'markdown'\n * 'matlab'\n * 'mirc'\n * 'mmix'\n * 'modula2'\n * 'modula3'\n * '68000devpac'\n * 'mpasm'\n * 'mxml'\n * 'mysql'\n * 'nagios'\n * 'netrexx'\n * 'newlisp'\n * 'nginx'\n * 'nim'\n * 'text'\n * 'nsis'\n * 'oberon2'\n * 'objeck'\n * 'objc'\n * 'ocaml-brief'\n * 'ocaml'\n * 'octave'\n * 'oorexx'\n * 'pf'\n * 'glsl'\n * 'oobas'\n * 'oracle11'\n * 'oracle8'\n * 'oz'\n * 'parasail'\n * 'parigp'\n * 'pascal'\n * 'pawn'\n * 'pcre'\n * 'per'\n * 'perl'\n * 'perl6'\n * 'php'\n * 'php-brief'\n * 'pic16'\n * 'pike'\n * 'pixelbender'\n * 'pli'\n * 'plsql'\n * 'postgresql'\n * 'postscript'\n * 'povray'\n * 'powerbuilder'\n * 'powershell'\n * 'proftpd'\n * 'progress'\n * 'prolog'\n * 'properties'\n * 'providex'\n * 'puppet'\n * 'purebasic'\n * 'pycon'\n * 'python'\n * 'pys60'\n * 'q'\n * 'qbasic'\n * 'qml'\n * 'rsplus'\n * 'racket'\n * 'rails'\n * 'rbs'\n * 'rebol'\n * 'reg'\n * 'rexx'\n * 'robots'\n * 'rpmspec'\n * 'ruby'\n * 'gnuplot'\n * 'rust'\n * 'sas'\n * 'scala'\n * 'scheme'\n * 'scilab'\n * 'scl'\n * 'sdlbasic'\n * 'smalltalk'\n * 'smarty'\n * 'spark'\n * 'sparql'\n * 'sqf'\n * 'sql'\n * 'standardml'\n * 'stonescript'\n * 'sclang'\n * 'swift'\n * 'systemverilog'\n * 'tsql'\n * 'tcl'\n * 'teraterm'\n * 'thinbasic'\n * 'typoscript'\n * 'unicon'\n * 'uscript'\n * 'upc'\n * 'urbi'\n * 'vala'\n * 'vbnet'\n * 'vbscript'\n * 'vedit'\n * 'verilog'\n * 'vhdl'\n * 'vim'\n * 'visualprolog'\n * 'vb'\n * 'visualfoxpro'\n * 'whitespace'\n * 'whois'\n * 'winbatch'\n * 'xbasic'\n * 'xml'\n * 'xorg_conf'\n * 'xpp'\n * 'yaml'\n * 'z80'\n * 'zxbasic'", + "doc_gfm": "

String indicating the format of the paste. Default is 'text' (plain text).

\n

Notes:

\n
    \n
  • Valid formats at this time are (current list can be found here):
      \n
    • '4cs'
    • \n
    • '6502acme'
    • \n
    • '6502kickass'
    • \n
    • '6502tasm'
    • \n
    • 'abap'
    • \n
    • 'actionscript'
    • \n
    • 'actionscript3'
    • \n
    • 'ada'
    • \n
    • 'aimms'
    • \n
    • 'algol68'
    • \n
    • 'apache'
    • \n
    • 'applescript'
    • \n
    • 'apt_sources'
    • \n
    • 'arm'
    • \n
    • 'asm'
    • \n
    • 'asp'
    • \n
    • 'asymptote'
    • \n
    • 'autoconf'
    • \n
    • 'autohotkey'
    • \n
    • 'autoit'
    • \n
    • 'avisynth'
    • \n
    • 'awk'
    • \n
    • 'bascomavr'
    • \n
    • 'bash'
    • \n
    • 'basic4gl'
    • \n
    • 'dos'
    • \n
    • 'bibtex'
    • \n
    • 'blitzbasic'
    • \n
    • 'b3d'
    • \n
    • 'bmx'
    • \n
    • 'bnf'
    • \n
    • 'boo'
    • \n
    • 'bf'
    • \n
    • 'c'
    • \n
    • 'c_winapi'
    • \n
    • 'c_mac'
    • \n
    • 'cil'
    • \n
    • 'csharp'
    • \n
    • 'cpp'
    • \n
    • 'cpp-winapi'
    • \n
    • 'cpp-qt'
    • \n
    • 'c_loadrunner'
    • \n
    • 'caddcl'
    • \n
    • 'cadlisp'
    • \n
    • 'ceylon'
    • \n
    • 'cfdg'
    • \n
    • 'chaiscript'
    • \n
    • 'chapel'
    • \n
    • 'clojure'
    • \n
    • 'klonec'
    • \n
    • 'klonecpp'
    • \n
    • 'cmake'
    • \n
    • 'cobol'
    • \n
    • 'coffeescript'
    • \n
    • 'cfm'
    • \n
    • 'css'
    • \n
    • 'cuesheet'
    • \n
    • 'd'
    • \n
    • 'dart'
    • \n
    • 'dcl'
    • \n
    • 'dcpu16'
    • \n
    • 'dcs'
    • \n
    • 'delphi'
    • \n
    • 'oxygene'
    • \n
    • 'diff'
    • \n
    • 'div'
    • \n
    • 'dot'
    • \n
    • 'e'
    • \n
    • 'ezt'
    • \n
    • 'ecmascript'
    • \n
    • 'eiffel'
    • \n
    • 'email'
    • \n
    • 'epc'
    • \n
    • 'erlang'
    • \n
    • 'euphoria'
    • \n
    • 'fsharp'
    • \n
    • 'falcon'
    • \n
    • 'filemaker'
    • \n
    • 'fo'
    • \n
    • 'f1'
    • \n
    • 'fortran'
    • \n
    • 'freebasic'
    • \n
    • 'freeswitch'
    • \n
    • 'gambas'
    • \n
    • 'gml'
    • \n
    • 'gdb'
    • \n
    • 'genero'
    • \n
    • 'genie'
    • \n
    • 'gettext'
    • \n
    • 'go'
    • \n
    • 'groovy'
    • \n
    • 'gwbasic'
    • \n
    • 'haskell'
    • \n
    • 'haxe'
    • \n
    • 'hicest'
    • \n
    • 'hq9plus'
    • \n
    • 'html4strict'
    • \n
    • 'html5'
    • \n
    • 'icon'
    • \n
    • 'idl'
    • \n
    • 'ini'
    • \n
    • 'inno'
    • \n
    • 'intercal'
    • \n
    • 'io'
    • \n
    • 'ispfpanel'
    • \n
    • 'j'
    • \n
    • 'java'
    • \n
    • 'java5'
    • \n
    • 'javascript'
    • \n
    • 'jcl'
    • \n
    • 'jquery'
    • \n
    • 'json'
    • \n
    • 'julia'
    • \n
    • 'kixtart'
    • \n
    • 'kotlin'
    • \n
    • 'latex'
    • \n
    • 'ldif'
    • \n
    • 'lb'
    • \n
    • 'lsl2'
    • \n
    • 'lisp'
    • \n
    • 'llvm'
    • \n
    • 'locobasic'
    • \n
    • 'logtalk'
    • \n
    • 'lolcode'
    • \n
    • 'lotusformulas'
    • \n
    • 'lotusscript'
    • \n
    • 'lscript'
    • \n
    • 'lua'
    • \n
    • 'm68k'
    • \n
    • 'magiksf'
    • \n
    • 'make'
    • \n
    • 'mapbasic'
    • \n
    • 'markdown'
    • \n
    • 'matlab'
    • \n
    • 'mirc'
    • \n
    • 'mmix'
    • \n
    • 'modula2'
    • \n
    • 'modula3'
    • \n
    • '68000devpac'
    • \n
    • 'mpasm'
    • \n
    • 'mxml'
    • \n
    • 'mysql'
    • \n
    • 'nagios'
    • \n
    • 'netrexx'
    • \n
    • 'newlisp'
    • \n
    • 'nginx'
    • \n
    • 'nim'
    • \n
    • 'text'
    • \n
    • 'nsis'
    • \n
    • 'oberon2'
    • \n
    • 'objeck'
    • \n
    • 'objc'
    • \n
    • 'ocaml-brief'
    • \n
    • 'ocaml'
    • \n
    • 'octave'
    • \n
    • 'oorexx'
    • \n
    • 'pf'
    • \n
    • 'glsl'
    • \n
    • 'oobas'
    • \n
    • 'oracle11'
    • \n
    • 'oracle8'
    • \n
    • 'oz'
    • \n
    • 'parasail'
    • \n
    • 'parigp'
    • \n
    • 'pascal'
    • \n
    • 'pawn'
    • \n
    • 'pcre'
    • \n
    • 'per'
    • \n
    • 'perl'
    • \n
    • 'perl6'
    • \n
    • 'php'
    • \n
    • 'php-brief'
    • \n
    • 'pic16'
    • \n
    • 'pike'
    • \n
    • 'pixelbender'
    • \n
    • 'pli'
    • \n
    • 'plsql'
    • \n
    • 'postgresql'
    • \n
    • 'postscript'
    • \n
    • 'povray'
    • \n
    • 'powerbuilder'
    • \n
    • 'powershell'
    • \n
    • 'proftpd'
    • \n
    • 'progress'
    • \n
    • 'prolog'
    • \n
    • 'properties'
    • \n
    • 'providex'
    • \n
    • 'puppet'
    • \n
    • 'purebasic'
    • \n
    • 'pycon'
    • \n
    • 'python'
    • \n
    • 'pys60'
    • \n
    • 'q'
    • \n
    • 'qbasic'
    • \n
    • 'qml'
    • \n
    • 'rsplus'
    • \n
    • 'racket'
    • \n
    • 'rails'
    • \n
    • 'rbs'
    • \n
    • 'rebol'
    • \n
    • 'reg'
    • \n
    • 'rexx'
    • \n
    • 'robots'
    • \n
    • 'rpmspec'
    • \n
    • 'ruby'
    • \n
    • 'gnuplot'
    • \n
    • 'rust'
    • \n
    • 'sas'
    • \n
    • 'scala'
    • \n
    • 'scheme'
    • \n
    • 'scilab'
    • \n
    • 'scl'
    • \n
    • 'sdlbasic'
    • \n
    • 'smalltalk'
    • \n
    • 'smarty'
    • \n
    • 'spark'
    • \n
    • 'sparql'
    • \n
    • 'sqf'
    • \n
    • 'sql'
    • \n
    • 'standardml'
    • \n
    • 'stonescript'
    • \n
    • 'sclang'
    • \n
    • 'swift'
    • \n
    • 'systemverilog'
    • \n
    • 'tsql'
    • \n
    • 'tcl'
    • \n
    • 'teraterm'
    • \n
    • 'thinbasic'
    • \n
    • 'typoscript'
    • \n
    • 'unicon'
    • \n
    • 'uscript'
    • \n
    • 'upc'
    • \n
    • 'urbi'
    • \n
    • 'vala'
    • \n
    • 'vbnet'
    • \n
    • 'vbscript'
    • \n
    • 'vedit'
    • \n
    • 'verilog'
    • \n
    • 'vhdl'
    • \n
    • 'vim'
    • \n
    • 'visualprolog'
    • \n
    • 'vb'
    • \n
    • 'visualfoxpro'
    • \n
    • 'whitespace'
    • \n
    • 'whois'
    • \n
    • 'winbatch'
    • \n
    • 'xbasic'
    • \n
    • 'xml'
    • \n
    • 'xorg_conf'
    • \n
    • 'xpp'
    • \n
    • 'yaml'
    • \n
    • 'z80'
    • \n
    • 'zxbasic'
    • \n
    \n
  • \n
\n", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "50", + "lineno": "52", "name": "format", + "notes": [ + " * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): ", + " * '4cs'", + " * '6502acme'", + " * '6502kickass'", + " * '6502tasm'", + " * 'abap'", + " * 'actionscript'", + " * 'actionscript3'", + " * 'ada'", + " * 'aimms'", + " * 'algol68'", + " * 'apache'", + " * 'applescript'", + " * 'apt_sources'", + " * 'arm'", + " * 'asm'", + " * 'asp'", + " * 'asymptote'", + " * 'autoconf'", + " * 'autohotkey'", + " * 'autoit'", + " * 'avisynth'", + " * 'awk'", + " * 'bascomavr'", + " * 'bash'", + " * 'basic4gl'", + " * 'dos'", + " * 'bibtex'", + " * 'blitzbasic'", + " * 'b3d'", + " * 'bmx'", + " * 'bnf'", + " * 'boo'", + " * 'bf'", + " * 'c'", + " * 'c_winapi'", + " * 'c_mac'", + " * 'cil'", + " * 'csharp'", + " * 'cpp'", + " * 'cpp-winapi'", + " * 'cpp-qt'", + " * 'c_loadrunner'", + " * 'caddcl'", + " * 'cadlisp'", + " * 'ceylon'", + " * 'cfdg'", + " * 'chaiscript'", + " * 'chapel'", + " * 'clojure'", + " * 'klonec'", + " * 'klonecpp'", + " * 'cmake'", + " * 'cobol'", + " * 'coffeescript'", + " * 'cfm'", + " * 'css'", + " * 'cuesheet'", + " * 'd'", + " * 'dart'", + " * 'dcl'", + " * 'dcpu16'", + " * 'dcs'", + " * 'delphi'", + " * 'oxygene'", + " * 'diff'", + " * 'div'", + " * 'dot'", + " * 'e'", + " * 'ezt'", + " * 'ecmascript'", + " * 'eiffel'", + " * 'email'", + " * 'epc'", + " * 'erlang'", + " * 'euphoria'", + " * 'fsharp'", + " * 'falcon'", + " * 'filemaker'", + " * 'fo'", + " * 'f1'", + " * 'fortran'", + " * 'freebasic'", + " * 'freeswitch'", + " * 'gambas'", + " * 'gml'", + " * 'gdb'", + " * 'genero'", + " * 'genie'", + " * 'gettext'", + " * 'go'", + " * 'groovy'", + " * 'gwbasic'", + " * 'haskell'", + " * 'haxe'", + " * 'hicest'", + " * 'hq9plus'", + " * 'html4strict'", + " * 'html5'", + " * 'icon'", + " * 'idl'", + " * 'ini'", + " * 'inno'", + " * 'intercal'", + " * 'io'", + " * 'ispfpanel'", + " * 'j'", + " * 'java'", + " * 'java5'", + " * 'javascript'", + " * 'jcl'", + " * 'jquery'", + " * 'json'", + " * 'julia'", + " * 'kixtart'", + " * 'kotlin'", + " * 'latex'", + " * 'ldif'", + " * 'lb'", + " * 'lsl2'", + " * 'lisp'", + " * 'llvm'", + " * 'locobasic'", + " * 'logtalk'", + " * 'lolcode'", + " * 'lotusformulas'", + " * 'lotusscript'", + " * 'lscript'", + " * 'lua'", + " * 'm68k'", + " * 'magiksf'", + " * 'make'", + " * 'mapbasic'", + " * 'markdown'", + " * 'matlab'", + " * 'mirc'", + " * 'mmix'", + " * 'modula2'", + " * 'modula3'", + " * '68000devpac'", + " * 'mpasm'", + " * 'mxml'", + " * 'mysql'", + " * 'nagios'", + " * 'netrexx'", + " * 'newlisp'", + " * 'nginx'", + " * 'nim'", + " * 'text'", + " * 'nsis'", + " * 'oberon2'", + " * 'objeck'", + " * 'objc'", + " * 'ocaml-brief'", + " * 'ocaml'", + " * 'octave'", + " * 'oorexx'", + " * 'pf'", + " * 'glsl'", + " * 'oobas'", + " * 'oracle11'", + " * 'oracle8'", + " * 'oz'", + " * 'parasail'", + " * 'parigp'", + " * 'pascal'", + " * 'pawn'", + " * 'pcre'", + " * 'per'", + " * 'perl'", + " * 'perl6'", + " * 'php'", + " * 'php-brief'", + " * 'pic16'", + " * 'pike'", + " * 'pixelbender'", + " * 'pli'", + " * 'plsql'", + " * 'postgresql'", + " * 'postscript'", + " * 'povray'", + " * 'powerbuilder'", + " * 'powershell'", + " * 'proftpd'", + " * 'progress'", + " * 'prolog'", + " * 'properties'", + " * 'providex'", + " * 'puppet'", + " * 'purebasic'", + " * 'pycon'", + " * 'python'", + " * 'pys60'", + " * 'q'", + " * 'qbasic'", + " * 'qml'", + " * 'rsplus'", + " * 'racket'", + " * 'rails'", + " * 'rbs'", + " * 'rebol'", + " * 'reg'", + " * 'rexx'", + " * 'robots'", + " * 'rpmspec'", + " * 'ruby'", + " * 'gnuplot'", + " * 'rust'", + " * 'sas'", + " * 'scala'", + " * 'scheme'", + " * 'scilab'", + " * 'scl'", + " * 'sdlbasic'", + " * 'smalltalk'", + " * 'smarty'", + " * 'spark'", + " * 'sparql'", + " * 'sqf'", + " * 'sql'", + " * 'standardml'", + " * 'stonescript'", + " * 'sclang'", + " * 'swift'", + " * 'systemverilog'", + " * 'tsql'", + " * 'tcl'", + " * 'teraterm'", + " * 'thinbasic'", + " * 'typoscript'", + " * 'unicon'", + " * 'uscript'", + " * 'upc'", + " * 'urbi'", + " * 'vala'", + " * 'vbnet'", + " * 'vbscript'", + " * 'vedit'", + " * 'verilog'", + " * 'vhdl'", + " * 'vim'", + " * 'visualprolog'", + " * 'vb'", + " * 'visualfoxpro'", + " * 'whitespace'", + " * 'whois'", + " * 'winbatch'", + " * 'xbasic'", + " * 'xml'", + " * 'xorg_conf'", + " * 'xpp'", + " * 'yaml'", + " * 'z80'", + " * 'zxbasic'" + ], + "notes_gfm": "
    \n
  • Valid formats at this time are (current list can be found here):
      \n
    • '4cs'
    • \n
    • '6502acme'
    • \n
    • '6502kickass'
    • \n
    • '6502tasm'
    • \n
    • 'abap'
    • \n
    • 'actionscript'
    • \n
    • 'actionscript3'
    • \n
    • 'ada'
    • \n
    • 'aimms'
    • \n
    • 'algol68'
    • \n
    • 'apache'
    • \n
    • 'applescript'
    • \n
    • 'apt_sources'
    • \n
    • 'arm'
    • \n
    • 'asm'
    • \n
    • 'asp'
    • \n
    • 'asymptote'
    • \n
    • 'autoconf'
    • \n
    • 'autohotkey'
    • \n
    • 'autoit'
    • \n
    • 'avisynth'
    • \n
    • 'awk'
    • \n
    • 'bascomavr'
    • \n
    • 'bash'
    • \n
    • 'basic4gl'
    • \n
    • 'dos'
    • \n
    • 'bibtex'
    • \n
    • 'blitzbasic'
    • \n
    • 'b3d'
    • \n
    • 'bmx'
    • \n
    • 'bnf'
    • \n
    • 'boo'
    • \n
    • 'bf'
    • \n
    • 'c'
    • \n
    • 'c_winapi'
    • \n
    • 'c_mac'
    • \n
    • 'cil'
    • \n
    • 'csharp'
    • \n
    • 'cpp'
    • \n
    • 'cpp-winapi'
    • \n
    • 'cpp-qt'
    • \n
    • 'c_loadrunner'
    • \n
    • 'caddcl'
    • \n
    • 'cadlisp'
    • \n
    • 'ceylon'
    • \n
    • 'cfdg'
    • \n
    • 'chaiscript'
    • \n
    • 'chapel'
    • \n
    • 'clojure'
    • \n
    • 'klonec'
    • \n
    • 'klonecpp'
    • \n
    • 'cmake'
    • \n
    • 'cobol'
    • \n
    • 'coffeescript'
    • \n
    • 'cfm'
    • \n
    • 'css'
    • \n
    • 'cuesheet'
    • \n
    • 'd'
    • \n
    • 'dart'
    • \n
    • 'dcl'
    • \n
    • 'dcpu16'
    • \n
    • 'dcs'
    • \n
    • 'delphi'
    • \n
    • 'oxygene'
    • \n
    • 'diff'
    • \n
    • 'div'
    • \n
    • 'dot'
    • \n
    • 'e'
    • \n
    • 'ezt'
    • \n
    • 'ecmascript'
    • \n
    • 'eiffel'
    • \n
    • 'email'
    • \n
    • 'epc'
    • \n
    • 'erlang'
    • \n
    • 'euphoria'
    • \n
    • 'fsharp'
    • \n
    • 'falcon'
    • \n
    • 'filemaker'
    • \n
    • 'fo'
    • \n
    • 'f1'
    • \n
    • 'fortran'
    • \n
    • 'freebasic'
    • \n
    • 'freeswitch'
    • \n
    • 'gambas'
    • \n
    • 'gml'
    • \n
    • 'gdb'
    • \n
    • 'genero'
    • \n
    • 'genie'
    • \n
    • 'gettext'
    • \n
    • 'go'
    • \n
    • 'groovy'
    • \n
    • 'gwbasic'
    • \n
    • 'haskell'
    • \n
    • 'haxe'
    • \n
    • 'hicest'
    • \n
    • 'hq9plus'
    • \n
    • 'html4strict'
    • \n
    • 'html5'
    • \n
    • 'icon'
    • \n
    • 'idl'
    • \n
    • 'ini'
    • \n
    • 'inno'
    • \n
    • 'intercal'
    • \n
    • 'io'
    • \n
    • 'ispfpanel'
    • \n
    • 'j'
    • \n
    • 'java'
    • \n
    • 'java5'
    • \n
    • 'javascript'
    • \n
    • 'jcl'
    • \n
    • 'jquery'
    • \n
    • 'json'
    • \n
    • 'julia'
    • \n
    • 'kixtart'
    • \n
    • 'kotlin'
    • \n
    • 'latex'
    • \n
    • 'ldif'
    • \n
    • 'lb'
    • \n
    • 'lsl2'
    • \n
    • 'lisp'
    • \n
    • 'llvm'
    • \n
    • 'locobasic'
    • \n
    • 'logtalk'
    • \n
    • 'lolcode'
    • \n
    • 'lotusformulas'
    • \n
    • 'lotusscript'
    • \n
    • 'lscript'
    • \n
    • 'lua'
    • \n
    • 'm68k'
    • \n
    • 'magiksf'
    • \n
    • 'make'
    • \n
    • 'mapbasic'
    • \n
    • 'markdown'
    • \n
    • 'matlab'
    • \n
    • 'mirc'
    • \n
    • 'mmix'
    • \n
    • 'modula2'
    • \n
    • 'modula3'
    • \n
    • '68000devpac'
    • \n
    • 'mpasm'
    • \n
    • 'mxml'
    • \n
    • 'mysql'
    • \n
    • 'nagios'
    • \n
    • 'netrexx'
    • \n
    • 'newlisp'
    • \n
    • 'nginx'
    • \n
    • 'nim'
    • \n
    • 'text'
    • \n
    • 'nsis'
    • \n
    • 'oberon2'
    • \n
    • 'objeck'
    • \n
    • 'objc'
    • \n
    • 'ocaml-brief'
    • \n
    • 'ocaml'
    • \n
    • 'octave'
    • \n
    • 'oorexx'
    • \n
    • 'pf'
    • \n
    • 'glsl'
    • \n
    • 'oobas'
    • \n
    • 'oracle11'
    • \n
    • 'oracle8'
    • \n
    • 'oz'
    • \n
    • 'parasail'
    • \n
    • 'parigp'
    • \n
    • 'pascal'
    • \n
    • 'pawn'
    • \n
    • 'pcre'
    • \n
    • 'per'
    • \n
    • 'perl'
    • \n
    • 'perl6'
    • \n
    • 'php'
    • \n
    • 'php-brief'
    • \n
    • 'pic16'
    • \n
    • 'pike'
    • \n
    • 'pixelbender'
    • \n
    • 'pli'
    • \n
    • 'plsql'
    • \n
    • 'postgresql'
    • \n
    • 'postscript'
    • \n
    • 'povray'
    • \n
    • 'powerbuilder'
    • \n
    • 'powershell'
    • \n
    • 'proftpd'
    • \n
    • 'progress'
    • \n
    • 'prolog'
    • \n
    • 'properties'
    • \n
    • 'providex'
    • \n
    • 'puppet'
    • \n
    • 'purebasic'
    • \n
    • 'pycon'
    • \n
    • 'python'
    • \n
    • 'pys60'
    • \n
    • 'q'
    • \n
    • 'qbasic'
    • \n
    • 'qml'
    • \n
    • 'rsplus'
    • \n
    • 'racket'
    • \n
    • 'rails'
    • \n
    • 'rbs'
    • \n
    • 'rebol'
    • \n
    • 'reg'
    • \n
    • 'rexx'
    • \n
    • 'robots'
    • \n
    • 'rpmspec'
    • \n
    • 'ruby'
    • \n
    • 'gnuplot'
    • \n
    • 'rust'
    • \n
    • 'sas'
    • \n
    • 'scala'
    • \n
    • 'scheme'
    • \n
    • 'scilab'
    • \n
    • 'scl'
    • \n
    • 'sdlbasic'
    • \n
    • 'smalltalk'
    • \n
    • 'smarty'
    • \n
    • 'spark'
    • \n
    • 'sparql'
    • \n
    • 'sqf'
    • \n
    • 'sql'
    • \n
    • 'standardml'
    • \n
    • 'stonescript'
    • \n
    • 'sclang'
    • \n
    • 'swift'
    • \n
    • 'systemverilog'
    • \n
    • 'tsql'
    • \n
    • 'tcl'
    • \n
    • 'teraterm'
    • \n
    • 'thinbasic'
    • \n
    • 'typoscript'
    • \n
    • 'unicon'
    • \n
    • 'uscript'
    • \n
    • 'upc'
    • \n
    • 'urbi'
    • \n
    • 'vala'
    • \n
    • 'vbnet'
    • \n
    • 'vbscript'
    • \n
    • 'vedit'
    • \n
    • 'verilog'
    • \n
    • 'vhdl'
    • \n
    • 'vim'
    • \n
    • 'visualprolog'
    • \n
    • 'vb'
    • \n
    • 'visualfoxpro'
    • \n
    • 'whitespace'
    • \n
    • 'whois'
    • \n
    • 'winbatch'
    • \n
    • 'xbasic'
    • \n
    • 'xml'
    • \n
    • 'xorg_conf'
    • \n
    • 'xpp'
    • \n
    • 'yaml'
    • \n
    • 'z80'
    • \n
    • 'zxbasic'
    • \n
    \n
  • \n
\n", "signature": "Pastebin.format", - "stripped_doc": "Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "stripped_doc": "", "type": "Variable" }, { @@ -10827,7 +11717,7 @@ "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "309", + "lineno": "313", "name": "logger", "signature": "Pastebin.logger", "stripped_doc": "", @@ -10886,7 +11776,7 @@ "doc_gfm": "

Binds hotkeys for Pastebin

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • paste - paste to Pastebin
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "364", + "lineno": "368", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -10904,26 +11794,296 @@ "def": "Pastebin.expire", "def_gfm": "Pastebin.expire", "desc": "String indicating how long until the paste expires. Default is 'N' (Never)", - "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", - "doc_gfm": "

String indicating how long until the paste expires. Default is 'N' (Never)\nValid expiration times at this time are (current list can be found here)\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y

\n", + "doc": "String indicating how long until the paste expires. Default is 'N' (Never)\n\nNotes:\n * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\n * N\n * 10M\n * 1H\n * 1D\n * 1W\n * 2W\n * 1M\n * 6M\n * 1Y", + "doc_gfm": "

String indicating how long until the paste expires. Default is 'N' (Never)

\n

Notes:

\n
    \n
  • Valid expiration times at this time are (current list can be found here)
      \n
    • N
    • \n
    • 10M
    • \n
    • 1H
    • \n
    • 1D
    • \n
    • 1W
    • \n
    • 2W
    • \n
    • 1M
    • \n
    • 6M
    • \n
    • 1Y
    • \n
    \n
  • \n
\n", "file": "Source/Pastebin.spoon/init.lua", "lineno": "34", "name": "expire", + "notes": [ + " * Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))", + " * N", + " * 10M", + " * 1H", + " * 1D", + " * 1W", + " * 2W", + " * 1M", + " * 6M", + " * 1Y" + ], + "notes_gfm": "
    \n
  • Valid expiration times at this time are (current list can be found here)
      \n
    • N
    • \n
    • 10M
    • \n
    • 1H
    • \n
    • 1D
    • \n
    • 1W
    • \n
    • 2W
    • \n
    • 1M
    • \n
    • 6M
    • \n
    • 1Y
    • \n
    \n
  • \n
\n", "signature": "Pastebin.expire", - "stripped_doc": "Valid expiration times at this time are (current list can be found [here](https://pastebin.com/api#6))\nN\n10M\n1H\n1D\n1W\n2W\n1M\n6M\n1Y", + "stripped_doc": "", "type": "Variable" }, { "def": "Pastebin.format", "def_gfm": "Pastebin.format", "desc": "String indicating the format of the paste. Default is 'text' (plain text). ", - "doc": "String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", - "doc_gfm": "

String indicating the format of the paste. Default is 'text' (plain text). \nValid formats at this time are (current list can be found here): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'

\n", + "doc": "String indicating the format of the paste. Default is 'text' (plain text). \n\nNotes:\n * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n * '4cs'\n * '6502acme'\n * '6502kickass'\n * '6502tasm'\n * 'abap'\n * 'actionscript'\n * 'actionscript3'\n * 'ada'\n * 'aimms'\n * 'algol68'\n * 'apache'\n * 'applescript'\n * 'apt_sources'\n * 'arm'\n * 'asm'\n * 'asp'\n * 'asymptote'\n * 'autoconf'\n * 'autohotkey'\n * 'autoit'\n * 'avisynth'\n * 'awk'\n * 'bascomavr'\n * 'bash'\n * 'basic4gl'\n * 'dos'\n * 'bibtex'\n * 'blitzbasic'\n * 'b3d'\n * 'bmx'\n * 'bnf'\n * 'boo'\n * 'bf'\n * 'c'\n * 'c_winapi'\n * 'c_mac'\n * 'cil'\n * 'csharp'\n * 'cpp'\n * 'cpp-winapi'\n * 'cpp-qt'\n * 'c_loadrunner'\n * 'caddcl'\n * 'cadlisp'\n * 'ceylon'\n * 'cfdg'\n * 'chaiscript'\n * 'chapel'\n * 'clojure'\n * 'klonec'\n * 'klonecpp'\n * 'cmake'\n * 'cobol'\n * 'coffeescript'\n * 'cfm'\n * 'css'\n * 'cuesheet'\n * 'd'\n * 'dart'\n * 'dcl'\n * 'dcpu16'\n * 'dcs'\n * 'delphi'\n * 'oxygene'\n * 'diff'\n * 'div'\n * 'dot'\n * 'e'\n * 'ezt'\n * 'ecmascript'\n * 'eiffel'\n * 'email'\n * 'epc'\n * 'erlang'\n * 'euphoria'\n * 'fsharp'\n * 'falcon'\n * 'filemaker'\n * 'fo'\n * 'f1'\n * 'fortran'\n * 'freebasic'\n * 'freeswitch'\n * 'gambas'\n * 'gml'\n * 'gdb'\n * 'genero'\n * 'genie'\n * 'gettext'\n * 'go'\n * 'groovy'\n * 'gwbasic'\n * 'haskell'\n * 'haxe'\n * 'hicest'\n * 'hq9plus'\n * 'html4strict'\n * 'html5'\n * 'icon'\n * 'idl'\n * 'ini'\n * 'inno'\n * 'intercal'\n * 'io'\n * 'ispfpanel'\n * 'j'\n * 'java'\n * 'java5'\n * 'javascript'\n * 'jcl'\n * 'jquery'\n * 'json'\n * 'julia'\n * 'kixtart'\n * 'kotlin'\n * 'latex'\n * 'ldif'\n * 'lb'\n * 'lsl2'\n * 'lisp'\n * 'llvm'\n * 'locobasic'\n * 'logtalk'\n * 'lolcode'\n * 'lotusformulas'\n * 'lotusscript'\n * 'lscript'\n * 'lua'\n * 'm68k'\n * 'magiksf'\n * 'make'\n * 'mapbasic'\n * 'markdown'\n * 'matlab'\n * 'mirc'\n * 'mmix'\n * 'modula2'\n * 'modula3'\n * '68000devpac'\n * 'mpasm'\n * 'mxml'\n * 'mysql'\n * 'nagios'\n * 'netrexx'\n * 'newlisp'\n * 'nginx'\n * 'nim'\n * 'text'\n * 'nsis'\n * 'oberon2'\n * 'objeck'\n * 'objc'\n * 'ocaml-brief'\n * 'ocaml'\n * 'octave'\n * 'oorexx'\n * 'pf'\n * 'glsl'\n * 'oobas'\n * 'oracle11'\n * 'oracle8'\n * 'oz'\n * 'parasail'\n * 'parigp'\n * 'pascal'\n * 'pawn'\n * 'pcre'\n * 'per'\n * 'perl'\n * 'perl6'\n * 'php'\n * 'php-brief'\n * 'pic16'\n * 'pike'\n * 'pixelbender'\n * 'pli'\n * 'plsql'\n * 'postgresql'\n * 'postscript'\n * 'povray'\n * 'powerbuilder'\n * 'powershell'\n * 'proftpd'\n * 'progress'\n * 'prolog'\n * 'properties'\n * 'providex'\n * 'puppet'\n * 'purebasic'\n * 'pycon'\n * 'python'\n * 'pys60'\n * 'q'\n * 'qbasic'\n * 'qml'\n * 'rsplus'\n * 'racket'\n * 'rails'\n * 'rbs'\n * 'rebol'\n * 'reg'\n * 'rexx'\n * 'robots'\n * 'rpmspec'\n * 'ruby'\n * 'gnuplot'\n * 'rust'\n * 'sas'\n * 'scala'\n * 'scheme'\n * 'scilab'\n * 'scl'\n * 'sdlbasic'\n * 'smalltalk'\n * 'smarty'\n * 'spark'\n * 'sparql'\n * 'sqf'\n * 'sql'\n * 'standardml'\n * 'stonescript'\n * 'sclang'\n * 'swift'\n * 'systemverilog'\n * 'tsql'\n * 'tcl'\n * 'teraterm'\n * 'thinbasic'\n * 'typoscript'\n * 'unicon'\n * 'uscript'\n * 'upc'\n * 'urbi'\n * 'vala'\n * 'vbnet'\n * 'vbscript'\n * 'vedit'\n * 'verilog'\n * 'vhdl'\n * 'vim'\n * 'visualprolog'\n * 'vb'\n * 'visualfoxpro'\n * 'whitespace'\n * 'whois'\n * 'winbatch'\n * 'xbasic'\n * 'xml'\n * 'xorg_conf'\n * 'xpp'\n * 'yaml'\n * 'z80'\n * 'zxbasic'", + "doc_gfm": "

String indicating the format of the paste. Default is 'text' (plain text).

\n

Notes:

\n
    \n
  • Valid formats at this time are (current list can be found here):
      \n
    • '4cs'
    • \n
    • '6502acme'
    • \n
    • '6502kickass'
    • \n
    • '6502tasm'
    • \n
    • 'abap'
    • \n
    • 'actionscript'
    • \n
    • 'actionscript3'
    • \n
    • 'ada'
    • \n
    • 'aimms'
    • \n
    • 'algol68'
    • \n
    • 'apache'
    • \n
    • 'applescript'
    • \n
    • 'apt_sources'
    • \n
    • 'arm'
    • \n
    • 'asm'
    • \n
    • 'asp'
    • \n
    • 'asymptote'
    • \n
    • 'autoconf'
    • \n
    • 'autohotkey'
    • \n
    • 'autoit'
    • \n
    • 'avisynth'
    • \n
    • 'awk'
    • \n
    • 'bascomavr'
    • \n
    • 'bash'
    • \n
    • 'basic4gl'
    • \n
    • 'dos'
    • \n
    • 'bibtex'
    • \n
    • 'blitzbasic'
    • \n
    • 'b3d'
    • \n
    • 'bmx'
    • \n
    • 'bnf'
    • \n
    • 'boo'
    • \n
    • 'bf'
    • \n
    • 'c'
    • \n
    • 'c_winapi'
    • \n
    • 'c_mac'
    • \n
    • 'cil'
    • \n
    • 'csharp'
    • \n
    • 'cpp'
    • \n
    • 'cpp-winapi'
    • \n
    • 'cpp-qt'
    • \n
    • 'c_loadrunner'
    • \n
    • 'caddcl'
    • \n
    • 'cadlisp'
    • \n
    • 'ceylon'
    • \n
    • 'cfdg'
    • \n
    • 'chaiscript'
    • \n
    • 'chapel'
    • \n
    • 'clojure'
    • \n
    • 'klonec'
    • \n
    • 'klonecpp'
    • \n
    • 'cmake'
    • \n
    • 'cobol'
    • \n
    • 'coffeescript'
    • \n
    • 'cfm'
    • \n
    • 'css'
    • \n
    • 'cuesheet'
    • \n
    • 'd'
    • \n
    • 'dart'
    • \n
    • 'dcl'
    • \n
    • 'dcpu16'
    • \n
    • 'dcs'
    • \n
    • 'delphi'
    • \n
    • 'oxygene'
    • \n
    • 'diff'
    • \n
    • 'div'
    • \n
    • 'dot'
    • \n
    • 'e'
    • \n
    • 'ezt'
    • \n
    • 'ecmascript'
    • \n
    • 'eiffel'
    • \n
    • 'email'
    • \n
    • 'epc'
    • \n
    • 'erlang'
    • \n
    • 'euphoria'
    • \n
    • 'fsharp'
    • \n
    • 'falcon'
    • \n
    • 'filemaker'
    • \n
    • 'fo'
    • \n
    • 'f1'
    • \n
    • 'fortran'
    • \n
    • 'freebasic'
    • \n
    • 'freeswitch'
    • \n
    • 'gambas'
    • \n
    • 'gml'
    • \n
    • 'gdb'
    • \n
    • 'genero'
    • \n
    • 'genie'
    • \n
    • 'gettext'
    • \n
    • 'go'
    • \n
    • 'groovy'
    • \n
    • 'gwbasic'
    • \n
    • 'haskell'
    • \n
    • 'haxe'
    • \n
    • 'hicest'
    • \n
    • 'hq9plus'
    • \n
    • 'html4strict'
    • \n
    • 'html5'
    • \n
    • 'icon'
    • \n
    • 'idl'
    • \n
    • 'ini'
    • \n
    • 'inno'
    • \n
    • 'intercal'
    • \n
    • 'io'
    • \n
    • 'ispfpanel'
    • \n
    • 'j'
    • \n
    • 'java'
    • \n
    • 'java5'
    • \n
    • 'javascript'
    • \n
    • 'jcl'
    • \n
    • 'jquery'
    • \n
    • 'json'
    • \n
    • 'julia'
    • \n
    • 'kixtart'
    • \n
    • 'kotlin'
    • \n
    • 'latex'
    • \n
    • 'ldif'
    • \n
    • 'lb'
    • \n
    • 'lsl2'
    • \n
    • 'lisp'
    • \n
    • 'llvm'
    • \n
    • 'locobasic'
    • \n
    • 'logtalk'
    • \n
    • 'lolcode'
    • \n
    • 'lotusformulas'
    • \n
    • 'lotusscript'
    • \n
    • 'lscript'
    • \n
    • 'lua'
    • \n
    • 'm68k'
    • \n
    • 'magiksf'
    • \n
    • 'make'
    • \n
    • 'mapbasic'
    • \n
    • 'markdown'
    • \n
    • 'matlab'
    • \n
    • 'mirc'
    • \n
    • 'mmix'
    • \n
    • 'modula2'
    • \n
    • 'modula3'
    • \n
    • '68000devpac'
    • \n
    • 'mpasm'
    • \n
    • 'mxml'
    • \n
    • 'mysql'
    • \n
    • 'nagios'
    • \n
    • 'netrexx'
    • \n
    • 'newlisp'
    • \n
    • 'nginx'
    • \n
    • 'nim'
    • \n
    • 'text'
    • \n
    • 'nsis'
    • \n
    • 'oberon2'
    • \n
    • 'objeck'
    • \n
    • 'objc'
    • \n
    • 'ocaml-brief'
    • \n
    • 'ocaml'
    • \n
    • 'octave'
    • \n
    • 'oorexx'
    • \n
    • 'pf'
    • \n
    • 'glsl'
    • \n
    • 'oobas'
    • \n
    • 'oracle11'
    • \n
    • 'oracle8'
    • \n
    • 'oz'
    • \n
    • 'parasail'
    • \n
    • 'parigp'
    • \n
    • 'pascal'
    • \n
    • 'pawn'
    • \n
    • 'pcre'
    • \n
    • 'per'
    • \n
    • 'perl'
    • \n
    • 'perl6'
    • \n
    • 'php'
    • \n
    • 'php-brief'
    • \n
    • 'pic16'
    • \n
    • 'pike'
    • \n
    • 'pixelbender'
    • \n
    • 'pli'
    • \n
    • 'plsql'
    • \n
    • 'postgresql'
    • \n
    • 'postscript'
    • \n
    • 'povray'
    • \n
    • 'powerbuilder'
    • \n
    • 'powershell'
    • \n
    • 'proftpd'
    • \n
    • 'progress'
    • \n
    • 'prolog'
    • \n
    • 'properties'
    • \n
    • 'providex'
    • \n
    • 'puppet'
    • \n
    • 'purebasic'
    • \n
    • 'pycon'
    • \n
    • 'python'
    • \n
    • 'pys60'
    • \n
    • 'q'
    • \n
    • 'qbasic'
    • \n
    • 'qml'
    • \n
    • 'rsplus'
    • \n
    • 'racket'
    • \n
    • 'rails'
    • \n
    • 'rbs'
    • \n
    • 'rebol'
    • \n
    • 'reg'
    • \n
    • 'rexx'
    • \n
    • 'robots'
    • \n
    • 'rpmspec'
    • \n
    • 'ruby'
    • \n
    • 'gnuplot'
    • \n
    • 'rust'
    • \n
    • 'sas'
    • \n
    • 'scala'
    • \n
    • 'scheme'
    • \n
    • 'scilab'
    • \n
    • 'scl'
    • \n
    • 'sdlbasic'
    • \n
    • 'smalltalk'
    • \n
    • 'smarty'
    • \n
    • 'spark'
    • \n
    • 'sparql'
    • \n
    • 'sqf'
    • \n
    • 'sql'
    • \n
    • 'standardml'
    • \n
    • 'stonescript'
    • \n
    • 'sclang'
    • \n
    • 'swift'
    • \n
    • 'systemverilog'
    • \n
    • 'tsql'
    • \n
    • 'tcl'
    • \n
    • 'teraterm'
    • \n
    • 'thinbasic'
    • \n
    • 'typoscript'
    • \n
    • 'unicon'
    • \n
    • 'uscript'
    • \n
    • 'upc'
    • \n
    • 'urbi'
    • \n
    • 'vala'
    • \n
    • 'vbnet'
    • \n
    • 'vbscript'
    • \n
    • 'vedit'
    • \n
    • 'verilog'
    • \n
    • 'vhdl'
    • \n
    • 'vim'
    • \n
    • 'visualprolog'
    • \n
    • 'vb'
    • \n
    • 'visualfoxpro'
    • \n
    • 'whitespace'
    • \n
    • 'whois'
    • \n
    • 'winbatch'
    • \n
    • 'xbasic'
    • \n
    • 'xml'
    • \n
    • 'xorg_conf'
    • \n
    • 'xpp'
    • \n
    • 'yaml'
    • \n
    • 'z80'
    • \n
    • 'zxbasic'
    • \n
    \n
  • \n
\n", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "50", + "lineno": "52", "name": "format", + "notes": [ + " * Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): ", + " * '4cs'", + " * '6502acme'", + " * '6502kickass'", + " * '6502tasm'", + " * 'abap'", + " * 'actionscript'", + " * 'actionscript3'", + " * 'ada'", + " * 'aimms'", + " * 'algol68'", + " * 'apache'", + " * 'applescript'", + " * 'apt_sources'", + " * 'arm'", + " * 'asm'", + " * 'asp'", + " * 'asymptote'", + " * 'autoconf'", + " * 'autohotkey'", + " * 'autoit'", + " * 'avisynth'", + " * 'awk'", + " * 'bascomavr'", + " * 'bash'", + " * 'basic4gl'", + " * 'dos'", + " * 'bibtex'", + " * 'blitzbasic'", + " * 'b3d'", + " * 'bmx'", + " * 'bnf'", + " * 'boo'", + " * 'bf'", + " * 'c'", + " * 'c_winapi'", + " * 'c_mac'", + " * 'cil'", + " * 'csharp'", + " * 'cpp'", + " * 'cpp-winapi'", + " * 'cpp-qt'", + " * 'c_loadrunner'", + " * 'caddcl'", + " * 'cadlisp'", + " * 'ceylon'", + " * 'cfdg'", + " * 'chaiscript'", + " * 'chapel'", + " * 'clojure'", + " * 'klonec'", + " * 'klonecpp'", + " * 'cmake'", + " * 'cobol'", + " * 'coffeescript'", + " * 'cfm'", + " * 'css'", + " * 'cuesheet'", + " * 'd'", + " * 'dart'", + " * 'dcl'", + " * 'dcpu16'", + " * 'dcs'", + " * 'delphi'", + " * 'oxygene'", + " * 'diff'", + " * 'div'", + " * 'dot'", + " * 'e'", + " * 'ezt'", + " * 'ecmascript'", + " * 'eiffel'", + " * 'email'", + " * 'epc'", + " * 'erlang'", + " * 'euphoria'", + " * 'fsharp'", + " * 'falcon'", + " * 'filemaker'", + " * 'fo'", + " * 'f1'", + " * 'fortran'", + " * 'freebasic'", + " * 'freeswitch'", + " * 'gambas'", + " * 'gml'", + " * 'gdb'", + " * 'genero'", + " * 'genie'", + " * 'gettext'", + " * 'go'", + " * 'groovy'", + " * 'gwbasic'", + " * 'haskell'", + " * 'haxe'", + " * 'hicest'", + " * 'hq9plus'", + " * 'html4strict'", + " * 'html5'", + " * 'icon'", + " * 'idl'", + " * 'ini'", + " * 'inno'", + " * 'intercal'", + " * 'io'", + " * 'ispfpanel'", + " * 'j'", + " * 'java'", + " * 'java5'", + " * 'javascript'", + " * 'jcl'", + " * 'jquery'", + " * 'json'", + " * 'julia'", + " * 'kixtart'", + " * 'kotlin'", + " * 'latex'", + " * 'ldif'", + " * 'lb'", + " * 'lsl2'", + " * 'lisp'", + " * 'llvm'", + " * 'locobasic'", + " * 'logtalk'", + " * 'lolcode'", + " * 'lotusformulas'", + " * 'lotusscript'", + " * 'lscript'", + " * 'lua'", + " * 'm68k'", + " * 'magiksf'", + " * 'make'", + " * 'mapbasic'", + " * 'markdown'", + " * 'matlab'", + " * 'mirc'", + " * 'mmix'", + " * 'modula2'", + " * 'modula3'", + " * '68000devpac'", + " * 'mpasm'", + " * 'mxml'", + " * 'mysql'", + " * 'nagios'", + " * 'netrexx'", + " * 'newlisp'", + " * 'nginx'", + " * 'nim'", + " * 'text'", + " * 'nsis'", + " * 'oberon2'", + " * 'objeck'", + " * 'objc'", + " * 'ocaml-brief'", + " * 'ocaml'", + " * 'octave'", + " * 'oorexx'", + " * 'pf'", + " * 'glsl'", + " * 'oobas'", + " * 'oracle11'", + " * 'oracle8'", + " * 'oz'", + " * 'parasail'", + " * 'parigp'", + " * 'pascal'", + " * 'pawn'", + " * 'pcre'", + " * 'per'", + " * 'perl'", + " * 'perl6'", + " * 'php'", + " * 'php-brief'", + " * 'pic16'", + " * 'pike'", + " * 'pixelbender'", + " * 'pli'", + " * 'plsql'", + " * 'postgresql'", + " * 'postscript'", + " * 'povray'", + " * 'powerbuilder'", + " * 'powershell'", + " * 'proftpd'", + " * 'progress'", + " * 'prolog'", + " * 'properties'", + " * 'providex'", + " * 'puppet'", + " * 'purebasic'", + " * 'pycon'", + " * 'python'", + " * 'pys60'", + " * 'q'", + " * 'qbasic'", + " * 'qml'", + " * 'rsplus'", + " * 'racket'", + " * 'rails'", + " * 'rbs'", + " * 'rebol'", + " * 'reg'", + " * 'rexx'", + " * 'robots'", + " * 'rpmspec'", + " * 'ruby'", + " * 'gnuplot'", + " * 'rust'", + " * 'sas'", + " * 'scala'", + " * 'scheme'", + " * 'scilab'", + " * 'scl'", + " * 'sdlbasic'", + " * 'smalltalk'", + " * 'smarty'", + " * 'spark'", + " * 'sparql'", + " * 'sqf'", + " * 'sql'", + " * 'standardml'", + " * 'stonescript'", + " * 'sclang'", + " * 'swift'", + " * 'systemverilog'", + " * 'tsql'", + " * 'tcl'", + " * 'teraterm'", + " * 'thinbasic'", + " * 'typoscript'", + " * 'unicon'", + " * 'uscript'", + " * 'upc'", + " * 'urbi'", + " * 'vala'", + " * 'vbnet'", + " * 'vbscript'", + " * 'vedit'", + " * 'verilog'", + " * 'vhdl'", + " * 'vim'", + " * 'visualprolog'", + " * 'vb'", + " * 'visualfoxpro'", + " * 'whitespace'", + " * 'whois'", + " * 'winbatch'", + " * 'xbasic'", + " * 'xml'", + " * 'xorg_conf'", + " * 'xpp'", + " * 'yaml'", + " * 'z80'", + " * 'zxbasic'" + ], + "notes_gfm": "
    \n
  • Valid formats at this time are (current list can be found here):
      \n
    • '4cs'
    • \n
    • '6502acme'
    • \n
    • '6502kickass'
    • \n
    • '6502tasm'
    • \n
    • 'abap'
    • \n
    • 'actionscript'
    • \n
    • 'actionscript3'
    • \n
    • 'ada'
    • \n
    • 'aimms'
    • \n
    • 'algol68'
    • \n
    • 'apache'
    • \n
    • 'applescript'
    • \n
    • 'apt_sources'
    • \n
    • 'arm'
    • \n
    • 'asm'
    • \n
    • 'asp'
    • \n
    • 'asymptote'
    • \n
    • 'autoconf'
    • \n
    • 'autohotkey'
    • \n
    • 'autoit'
    • \n
    • 'avisynth'
    • \n
    • 'awk'
    • \n
    • 'bascomavr'
    • \n
    • 'bash'
    • \n
    • 'basic4gl'
    • \n
    • 'dos'
    • \n
    • 'bibtex'
    • \n
    • 'blitzbasic'
    • \n
    • 'b3d'
    • \n
    • 'bmx'
    • \n
    • 'bnf'
    • \n
    • 'boo'
    • \n
    • 'bf'
    • \n
    • 'c'
    • \n
    • 'c_winapi'
    • \n
    • 'c_mac'
    • \n
    • 'cil'
    • \n
    • 'csharp'
    • \n
    • 'cpp'
    • \n
    • 'cpp-winapi'
    • \n
    • 'cpp-qt'
    • \n
    • 'c_loadrunner'
    • \n
    • 'caddcl'
    • \n
    • 'cadlisp'
    • \n
    • 'ceylon'
    • \n
    • 'cfdg'
    • \n
    • 'chaiscript'
    • \n
    • 'chapel'
    • \n
    • 'clojure'
    • \n
    • 'klonec'
    • \n
    • 'klonecpp'
    • \n
    • 'cmake'
    • \n
    • 'cobol'
    • \n
    • 'coffeescript'
    • \n
    • 'cfm'
    • \n
    • 'css'
    • \n
    • 'cuesheet'
    • \n
    • 'd'
    • \n
    • 'dart'
    • \n
    • 'dcl'
    • \n
    • 'dcpu16'
    • \n
    • 'dcs'
    • \n
    • 'delphi'
    • \n
    • 'oxygene'
    • \n
    • 'diff'
    • \n
    • 'div'
    • \n
    • 'dot'
    • \n
    • 'e'
    • \n
    • 'ezt'
    • \n
    • 'ecmascript'
    • \n
    • 'eiffel'
    • \n
    • 'email'
    • \n
    • 'epc'
    • \n
    • 'erlang'
    • \n
    • 'euphoria'
    • \n
    • 'fsharp'
    • \n
    • 'falcon'
    • \n
    • 'filemaker'
    • \n
    • 'fo'
    • \n
    • 'f1'
    • \n
    • 'fortran'
    • \n
    • 'freebasic'
    • \n
    • 'freeswitch'
    • \n
    • 'gambas'
    • \n
    • 'gml'
    • \n
    • 'gdb'
    • \n
    • 'genero'
    • \n
    • 'genie'
    • \n
    • 'gettext'
    • \n
    • 'go'
    • \n
    • 'groovy'
    • \n
    • 'gwbasic'
    • \n
    • 'haskell'
    • \n
    • 'haxe'
    • \n
    • 'hicest'
    • \n
    • 'hq9plus'
    • \n
    • 'html4strict'
    • \n
    • 'html5'
    • \n
    • 'icon'
    • \n
    • 'idl'
    • \n
    • 'ini'
    • \n
    • 'inno'
    • \n
    • 'intercal'
    • \n
    • 'io'
    • \n
    • 'ispfpanel'
    • \n
    • 'j'
    • \n
    • 'java'
    • \n
    • 'java5'
    • \n
    • 'javascript'
    • \n
    • 'jcl'
    • \n
    • 'jquery'
    • \n
    • 'json'
    • \n
    • 'julia'
    • \n
    • 'kixtart'
    • \n
    • 'kotlin'
    • \n
    • 'latex'
    • \n
    • 'ldif'
    • \n
    • 'lb'
    • \n
    • 'lsl2'
    • \n
    • 'lisp'
    • \n
    • 'llvm'
    • \n
    • 'locobasic'
    • \n
    • 'logtalk'
    • \n
    • 'lolcode'
    • \n
    • 'lotusformulas'
    • \n
    • 'lotusscript'
    • \n
    • 'lscript'
    • \n
    • 'lua'
    • \n
    • 'm68k'
    • \n
    • 'magiksf'
    • \n
    • 'make'
    • \n
    • 'mapbasic'
    • \n
    • 'markdown'
    • \n
    • 'matlab'
    • \n
    • 'mirc'
    • \n
    • 'mmix'
    • \n
    • 'modula2'
    • \n
    • 'modula3'
    • \n
    • '68000devpac'
    • \n
    • 'mpasm'
    • \n
    • 'mxml'
    • \n
    • 'mysql'
    • \n
    • 'nagios'
    • \n
    • 'netrexx'
    • \n
    • 'newlisp'
    • \n
    • 'nginx'
    • \n
    • 'nim'
    • \n
    • 'text'
    • \n
    • 'nsis'
    • \n
    • 'oberon2'
    • \n
    • 'objeck'
    • \n
    • 'objc'
    • \n
    • 'ocaml-brief'
    • \n
    • 'ocaml'
    • \n
    • 'octave'
    • \n
    • 'oorexx'
    • \n
    • 'pf'
    • \n
    • 'glsl'
    • \n
    • 'oobas'
    • \n
    • 'oracle11'
    • \n
    • 'oracle8'
    • \n
    • 'oz'
    • \n
    • 'parasail'
    • \n
    • 'parigp'
    • \n
    • 'pascal'
    • \n
    • 'pawn'
    • \n
    • 'pcre'
    • \n
    • 'per'
    • \n
    • 'perl'
    • \n
    • 'perl6'
    • \n
    • 'php'
    • \n
    • 'php-brief'
    • \n
    • 'pic16'
    • \n
    • 'pike'
    • \n
    • 'pixelbender'
    • \n
    • 'pli'
    • \n
    • 'plsql'
    • \n
    • 'postgresql'
    • \n
    • 'postscript'
    • \n
    • 'povray'
    • \n
    • 'powerbuilder'
    • \n
    • 'powershell'
    • \n
    • 'proftpd'
    • \n
    • 'progress'
    • \n
    • 'prolog'
    • \n
    • 'properties'
    • \n
    • 'providex'
    • \n
    • 'puppet'
    • \n
    • 'purebasic'
    • \n
    • 'pycon'
    • \n
    • 'python'
    • \n
    • 'pys60'
    • \n
    • 'q'
    • \n
    • 'qbasic'
    • \n
    • 'qml'
    • \n
    • 'rsplus'
    • \n
    • 'racket'
    • \n
    • 'rails'
    • \n
    • 'rbs'
    • \n
    • 'rebol'
    • \n
    • 'reg'
    • \n
    • 'rexx'
    • \n
    • 'robots'
    • \n
    • 'rpmspec'
    • \n
    • 'ruby'
    • \n
    • 'gnuplot'
    • \n
    • 'rust'
    • \n
    • 'sas'
    • \n
    • 'scala'
    • \n
    • 'scheme'
    • \n
    • 'scilab'
    • \n
    • 'scl'
    • \n
    • 'sdlbasic'
    • \n
    • 'smalltalk'
    • \n
    • 'smarty'
    • \n
    • 'spark'
    • \n
    • 'sparql'
    • \n
    • 'sqf'
    • \n
    • 'sql'
    • \n
    • 'standardml'
    • \n
    • 'stonescript'
    • \n
    • 'sclang'
    • \n
    • 'swift'
    • \n
    • 'systemverilog'
    • \n
    • 'tsql'
    • \n
    • 'tcl'
    • \n
    • 'teraterm'
    • \n
    • 'thinbasic'
    • \n
    • 'typoscript'
    • \n
    • 'unicon'
    • \n
    • 'uscript'
    • \n
    • 'upc'
    • \n
    • 'urbi'
    • \n
    • 'vala'
    • \n
    • 'vbnet'
    • \n
    • 'vbscript'
    • \n
    • 'vedit'
    • \n
    • 'verilog'
    • \n
    • 'vhdl'
    • \n
    • 'vim'
    • \n
    • 'visualprolog'
    • \n
    • 'vb'
    • \n
    • 'visualfoxpro'
    • \n
    • 'whitespace'
    • \n
    • 'whois'
    • \n
    • 'winbatch'
    • \n
    • 'xbasic'
    • \n
    • 'xml'
    • \n
    • 'xorg_conf'
    • \n
    • 'xpp'
    • \n
    • 'yaml'
    • \n
    • 'z80'
    • \n
    • 'zxbasic'
    • \n
    \n
  • \n
\n", "signature": "Pastebin.format", - "stripped_doc": "Valid formats at this time are (current list can be found [here](https://pastebin.com/api#5)): \n'4cs'\n'6502acme'\n'6502kickass'\n'6502tasm'\n'abap'\n'actionscript'\n'actionscript3'\n'ada'\n'aimms'\n'algol68'\n'apache'\n'applescript'\n'apt_sources'\n'arm'\n'asm'\n'asp'\n'asymptote'\n'autoconf'\n'autohotkey'\n'autoit'\n'avisynth'\n'awk'\n'bascomavr'\n'bash'\n'basic4gl'\n'dos'\n'bibtex'\n'blitzbasic'\n'b3d'\n'bmx'\n'bnf'\n'boo'\n'bf'\n'c'\n'c_winapi'\n'c_mac'\n'cil'\n'csharp'\n'cpp'\n'cpp-winapi'\n'cpp-qt'\n'c_loadrunner'\n'caddcl'\n'cadlisp'\n'ceylon'\n'cfdg'\n'chaiscript'\n'chapel'\n'clojure'\n'klonec'\n'klonecpp'\n'cmake'\n'cobol'\n'coffeescript'\n'cfm'\n'css'\n'cuesheet'\n'd'\n'dart'\n'dcl'\n'dcpu16'\n'dcs'\n'delphi'\n'oxygene'\n'diff'\n'div'\n'dot'\n'e'\n'ezt'\n'ecmascript'\n'eiffel'\n'email'\n'epc'\n'erlang'\n'euphoria'\n'fsharp'\n'falcon'\n'filemaker'\n'fo'\n'f1'\n'fortran'\n'freebasic'\n'freeswitch'\n'gambas'\n'gml'\n'gdb'\n'genero'\n'genie'\n'gettext'\n'go'\n'groovy'\n'gwbasic'\n'haskell'\n'haxe'\n'hicest'\n'hq9plus'\n'html4strict'\n'html5'\n'icon'\n'idl'\n'ini'\n'inno'\n'intercal'\n'io'\n'ispfpanel'\n'j'\n'java'\n'java5'\n'javascript'\n'jcl'\n'jquery'\n'json'\n'julia'\n'kixtart'\n'kotlin'\n'latex'\n'ldif'\n'lb'\n'lsl2'\n'lisp'\n'llvm'\n'locobasic'\n'logtalk'\n'lolcode'\n'lotusformulas'\n'lotusscript'\n'lscript'\n'lua'\n'm68k'\n'magiksf'\n'make'\n'mapbasic'\n'markdown'\n'matlab'\n'mirc'\n'mmix'\n'modula2'\n'modula3'\n'68000devpac'\n'mpasm'\n'mxml'\n'mysql'\n'nagios'\n'netrexx'\n'newlisp'\n'nginx'\n'nim'\n'text'\n'nsis'\n'oberon2'\n'objeck'\n'objc'\n'ocaml-brief'\n'ocaml'\n'octave'\n'oorexx'\n'pf'\n'glsl'\n'oobas'\n'oracle11'\n'oracle8'\n'oz'\n'parasail'\n'parigp'\n'pascal'\n'pawn'\n'pcre'\n'per'\n'perl'\n'perl6'\n'php'\n'php-brief'\n'pic16'\n'pike'\n'pixelbender'\n'pli'\n'plsql'\n'postgresql'\n'postscript'\n'povray'\n'powerbuilder'\n'powershell'\n'proftpd'\n'progress'\n'prolog'\n'properties'\n'providex'\n'puppet'\n'purebasic'\n'pycon'\n'python'\n'pys60'\n'q'\n'qbasic'\n'qml'\n'rsplus'\n'racket'\n'rails'\n'rbs'\n'rebol'\n'reg'\n'rexx'\n'robots'\n'rpmspec'\n'ruby'\n'gnuplot'\n'rust'\n'sas'\n'scala'\n'scheme'\n'scilab'\n'scl'\n'sdlbasic'\n'smalltalk'\n'smarty'\n'spark'\n'sparql'\n'sqf'\n'sql'\n'standardml'\n'stonescript'\n'sclang'\n'swift'\n'systemverilog'\n'tsql'\n'tcl'\n'teraterm'\n'thinbasic'\n'typoscript'\n'unicon'\n'uscript'\n'upc'\n'urbi'\n'vala'\n'vbnet'\n'vbscript'\n'vedit'\n'verilog'\n'vhdl'\n'vim'\n'visualprolog'\n'vb'\n'visualfoxpro'\n'whitespace'\n'whois'\n'winbatch'\n'xbasic'\n'xml'\n'xorg_conf'\n'xpp'\n'yaml'\n'z80'\n'zxbasic'", + "stripped_doc": "", "type": "Variable" }, { @@ -10933,7 +12093,7 @@ "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/Pastebin.spoon/init.lua", - "lineno": "309", + "lineno": "313", "name": "logger", "signature": "Pastebin.logger", "stripped_doc": "", @@ -10947,7 +12107,7 @@ "doc_gfm": "

Pastes an item to Pastebin using the Pastebin api

\n

Parameters:

\n
    \n
  • private - Integer specifying whether the paste should be public, private, or unlisted. Defaults to obj.private (0=public)
  • \n
  • expire - String specifying the TTL for the paste. Defaults to obj.expire ('N'=never). Valid values are listed on obj.expire
  • \n
  • format - String specifying the appropriate Pastebin format enum. Default is obj.format ('text'). Valid values are listed on obj.format
  • \n
\n", "examples": [], "file": "Source/Pastebin.spoon/init.lua", - "lineno": "314", + "lineno": "318", "name": "paste", "notes": [], "notes_gfm": "", @@ -10998,7 +12158,7 @@ "doc_gfm": "

Binds hotkey mappings for this spoon.

\n

Parameters:

\n
    \n
  • mapping (Table) - A table with keys who's names correspond to methods of this spoon, and values that represent hotkey mappings. For example:
      \n
    • { toggle = { {\"cmd\", \"option\", \"ctrl\" }, \"h\" }
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "214", + "lineno": "216", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -11022,7 +12182,7 @@ "doc_gfm": "

Tries to connect to the personal hotspot named in PersonalHotspot.hotspotName. If PersonalHotspot.hotspotName is nil, the first hotspot in the Wi-Fi menu will be selected, and PersonalHotspot.hotspotName will be assigned to the name of that hotspot. Once connected to the hotspot, the applications specified in PersonalHotspot.appsToKill are killed.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n

Notes:

\n
    \n
  • If there are no hotspots with the name in PersonalHotspot.hotspotName, or if PersonalHotspot.hotspotName is nil and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after PersonalHotspot.timeout seconds.
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "137", + "lineno": "139", "name": "connect", "notes": [ " * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds." @@ -11048,7 +12208,7 @@ "doc_gfm": "

If currently connected to the personal hotspot named in PersonalHotspot.hotspotName, this method will disconnect from that hotspot and open the applications specified in PersonalHostspot.appsToKill.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "170", + "lineno": "172", "name": "disconnect", "notes": [], "notes_gfm": "", @@ -11072,7 +12232,7 @@ "doc_gfm": "

Toggles personal hotspot connection.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n

Notes:

\n
    \n
  • If the current wireless network name is PersonalHotspot.hotspotName this method calls PersonalHotspot:disconnect(), otherwise this method will call PersonalHotspot:connect().
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "192", + "lineno": "194", "name": "toggle", "notes": [ " * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`." @@ -11096,26 +12256,36 @@ "def": "PersonalHotspot.appsToKill (List)", "def_gfm": "PersonalHotspot.appsToKill (List)", "desc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.", - "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nEach string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", - "doc_gfm": "

A list of strings representing applications to kill/open, when PersonalHotspot:connect() and PersonalHotspot:disconnect() are called respectively.

\n

Each string should be either:

\n
    \n
  • a bundle ID string as per hs.application:bundleID(), or
  • \n
  • an application name string as per hs.application:name().
  • \n
\n", + "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nNotes:\n * Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "doc_gfm": "

A list of strings representing applications to kill/open, when PersonalHotspot:connect() and PersonalHotspot:disconnect() are called respectively.

\n

Notes:

\n
    \n
  • Each string should be either:
      \n
    • a bundle ID string as per hs.application:bundleID(), or
    • \n
    • an application name string as per hs.application:name().
    • \n
    \n
  • \n
\n", "file": "Source/PersonalHotspot.spoon/init.lua", "lineno": "116", "name": "appsToKill", + "notes": [ + " * Each string should be either:", + " * a bundle ID string as per `hs.application:bundleID()`, or", + " * an application name string as per `hs.application:name()`." + ], + "notes_gfm": "
    \n
  • Each string should be either:
      \n
    • a bundle ID string as per hs.application:bundleID(), or
    • \n
    • an application name string as per hs.application:name().
    • \n
    \n
  • \n
\n", "signature": "PersonalHotspot.appsToKill (List)", - "stripped_doc": "Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "stripped_doc": "", "type": "Variable" }, { "def": "PersonalHotspot.hotspotName (String)", "def_gfm": "PersonalHotspot.hotspotName (String)", "desc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".", - "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nYou can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", - "doc_gfm": "

The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".

\n

You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.

\n", + "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nNotes:\n * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "doc_gfm": "

The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".

\n

Notes:

\n
    \n
  • You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.
  • \n
\n", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "125", + "lineno": "126", "name": "hotspotName", + "notes": [ + " * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading." + ], + "notes_gfm": "
    \n
  • You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.
  • \n
\n", "signature": "PersonalHotspot.hotspotName (String)", - "stripped_doc": "You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "stripped_doc": "", "type": "Variable" }, { @@ -11125,7 +12295,7 @@ "doc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "doc_gfm": "

The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.

\n", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "132", + "lineno": "134", "name": "timeout", "signature": "PersonalHotspot.timeout (Number)", "stripped_doc": "", @@ -11141,13 +12311,19 @@ "def": "PersonalHotspot.appsToKill (List)", "def_gfm": "PersonalHotspot.appsToKill (List)", "desc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.", - "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nEach string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", - "doc_gfm": "

A list of strings representing applications to kill/open, when PersonalHotspot:connect() and PersonalHotspot:disconnect() are called respectively.

\n

Each string should be either:

\n
    \n
  • a bundle ID string as per hs.application:bundleID(), or
  • \n
  • an application name string as per hs.application:name().
  • \n
\n", + "doc": "A list of strings representing applications to kill/open, when `PersonalHotspot:connect()` and `PersonalHotspot:disconnect()` are called respectively.\n\nNotes:\n * Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "doc_gfm": "

A list of strings representing applications to kill/open, when PersonalHotspot:connect() and PersonalHotspot:disconnect() are called respectively.

\n

Notes:

\n
    \n
  • Each string should be either:
      \n
    • a bundle ID string as per hs.application:bundleID(), or
    • \n
    • an application name string as per hs.application:name().
    • \n
    \n
  • \n
\n", "file": "Source/PersonalHotspot.spoon/init.lua", "lineno": "116", "name": "appsToKill", + "notes": [ + " * Each string should be either:", + " * a bundle ID string as per `hs.application:bundleID()`, or", + " * an application name string as per `hs.application:name()`." + ], + "notes_gfm": "
    \n
  • Each string should be either:
      \n
    • a bundle ID string as per hs.application:bundleID(), or
    • \n
    • an application name string as per hs.application:name().
    • \n
    \n
  • \n
\n", "signature": "PersonalHotspot.appsToKill (List)", - "stripped_doc": "Each string should be either:\n * a bundle ID string as per `hs.application:bundleID()`, or\n * an application name string as per `hs.application:name()`.", + "stripped_doc": "", "type": "Variable" }, { @@ -11158,7 +12334,7 @@ "doc_gfm": "

Binds hotkey mappings for this spoon.

\n

Parameters:

\n
    \n
  • mapping (Table) - A table with keys who's names correspond to methods of this spoon, and values that represent hotkey mappings. For example:
      \n
    • { toggle = { {\"cmd\", \"option\", \"ctrl\" }, \"h\" }
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "214", + "lineno": "216", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -11182,7 +12358,7 @@ "doc_gfm": "

Tries to connect to the personal hotspot named in PersonalHotspot.hotspotName. If PersonalHotspot.hotspotName is nil, the first hotspot in the Wi-Fi menu will be selected, and PersonalHotspot.hotspotName will be assigned to the name of that hotspot. Once connected to the hotspot, the applications specified in PersonalHotspot.appsToKill are killed.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n

Notes:

\n
    \n
  • If there are no hotspots with the name in PersonalHotspot.hotspotName, or if PersonalHotspot.hotspotName is nil and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after PersonalHotspot.timeout seconds.
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "137", + "lineno": "139", "name": "connect", "notes": [ " * If there are no hotspots with the name in `PersonalHotspot.hotspotName`, or if `PersonalHotspot.hotspotName` is `nil` and there are no hotspots in the Wi-Fi menu, the Wi-Fi menu will be closed after `PersonalHotspot.timeout` seconds." @@ -11208,7 +12384,7 @@ "doc_gfm": "

If currently connected to the personal hotspot named in PersonalHotspot.hotspotName, this method will disconnect from that hotspot and open the applications specified in PersonalHostspot.appsToKill.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "170", + "lineno": "172", "name": "disconnect", "notes": [], "notes_gfm": "", @@ -11228,13 +12404,17 @@ "def": "PersonalHotspot.hotspotName (String)", "def_gfm": "PersonalHotspot.hotspotName (String)", "desc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".", - "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nYou can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", - "doc_gfm": "

The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".

\n

You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.

\n", + "doc": "The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".\n\nNotes:\n * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "doc_gfm": "

The name of the personal hotspot you want to connect/disconnect from, e.g., \"John Appleseed’s iPhone\".

\n

Notes:

\n
    \n
  • You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.
  • \n
\n", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "125", + "lineno": "126", "name": "hotspotName", + "notes": [ + " * You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading." + ], + "notes_gfm": "
    \n
  • You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.
  • \n
\n", "signature": "PersonalHotspot.hotspotName (String)", - "stripped_doc": "You can see the names of available hotspots by clicking on the Wi-Fi icon in the macOS menu bar and looking for menu items under the \"Personal Hotspot(s)\" heading.", + "stripped_doc": "", "type": "Variable" }, { @@ -11244,7 +12424,7 @@ "doc": "The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.", "doc_gfm": "

The number of seconds to wait for personal hotspot to appear in Wi-Fi menu before attempting to connect/disconnect. Default is 3 seconds.

\n", "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "132", + "lineno": "134", "name": "timeout", "signature": "PersonalHotspot.timeout (Number)", "stripped_doc": "", @@ -11258,7 +12438,7 @@ "doc_gfm": "

Toggles personal hotspot connection.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Self
  • \n
\n

Notes:

\n
    \n
  • If the current wireless network name is PersonalHotspot.hotspotName this method calls PersonalHotspot:disconnect(), otherwise this method will call PersonalHotspot:connect().
  • \n
\n", "examples": [], "file": "Source/PersonalHotspot.spoon/init.lua", - "lineno": "192", + "lineno": "194", "name": "toggle", "notes": [ " * If the current wireless network name is `PersonalHotspot.hotspotName` this method calls `PersonalHotspot:disconnect()`, otherwise this method will call `PersonalHotspot:connect()`." @@ -11294,9 +12474,20 @@ "def": "PopupTranslateSelection:bindHotkeys(mapping)", "def_gfm": "PopupTranslateSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for PopupTranslateSelection", - "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nSample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", - "doc_gfm": "

Binds hotkeys for PopupTranslateSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • translate - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)
    • \n
    • translate_to_<lang> - translate the selected text to the given destination language. Source language will be auto-detected.
    • \n
    • translate_from_<lang> - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.
    • \n
    • translate_<from>_<to> - translate the selected text between the given languages.
    • \n
    \n
  • \n
\n

Sample value for mapping:

\n\n
 {\n    translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n    translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n    translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n    translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n    translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }
\n", - "examples": [], + "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nExamples:\n * Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "doc_gfm": "

Binds hotkeys for PopupTranslateSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • translate - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)
    • \n
    • translate_to_<lang> - translate the selected text to the given destination language. Source language will be auto-detected.
    • \n
    • translate_from_<lang> - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.
    • \n
    • translate_<from>_<to> - translate the selected text between the given languages.
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • Sample value for mapping:\n
    {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n}
    \n
  • \n
\n", + "examples": [ + " * Sample value for `mapping`:", + "```", + " {", + " translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },", + " translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " }", + "```" + ], "file": "Source/PopupTranslateSelection.spoon/init.lua", "lineno": "112", "name": "bindHotkeys", @@ -11309,7 +12500,7 @@ "returns": [], "returns_gfm": "", "signature": "PopupTranslateSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -11427,9 +12618,20 @@ "def": "PopupTranslateSelection:bindHotkeys(mapping)", "def_gfm": "PopupTranslateSelection:bindHotkeys(mapping)", "desc": "Binds hotkeys for PopupTranslateSelection", - "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nSample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", - "doc_gfm": "

Binds hotkeys for PopupTranslateSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • translate - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)
    • \n
    • translate_to_<lang> - translate the selected text to the given destination language. Source language will be auto-detected.
    • \n
    • translate_from_<lang> - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.
    • \n
    • translate_<from>_<to> - translate the selected text between the given languages.
    • \n
    \n
  • \n
\n

Sample value for mapping:

\n\n
 {\n    translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n    translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n    translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n    translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n    translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }
\n", - "examples": [], + "doc": "Binds hotkeys for PopupTranslateSelection\n\nParameters:\n * mapping - A table containing hotkey modifier/key details for the following items:\n * `translate` - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)\n * `translate_to_` - translate the selected text to the given destination language. Source language will be auto-detected.\n * `translate_from_` - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.\n * `translate__` - translate the selected text between the given languages.\n\nExamples:\n * Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "doc_gfm": "

Binds hotkeys for PopupTranslateSelection

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • translate - translate the selected text without specifying source/destination languages (source defaults to auto-detect, destination defaults to your last choice or to English)
    • \n
    • translate_to_<lang> - translate the selected text to the given destination language. Source language will be auto-detected.
    • \n
    • translate_from_<lang> - translate the selected text from the given destination language. Destination language will default to your last choice, or to English.
    • \n
    • translate_<from>_<to> - translate the selected text between the given languages.
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • Sample value for mapping:\n
    {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n}
    \n
  • \n
\n", + "examples": [ + " * Sample value for `mapping`:", + "```", + " {", + " translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },", + " translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },", + " translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },", + " }", + "```" + ], "file": "Source/PopupTranslateSelection.spoon/init.lua", "lineno": "112", "name": "bindHotkeys", @@ -11442,7 +12644,7 @@ "returns": [], "returns_gfm": "", "signature": "PopupTranslateSelection:bindHotkeys(mapping)", - "stripped_doc": "Sample value for `mapping`:\n```\n {\n translate_to_en = { { \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_to_de = { { \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n translate_to_es = { { \"ctrl\", \"alt\", \"cmd\" }, \"s\" },\n translate_de_en = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"e\" },\n translate_en_de = { { \"shift\", \"ctrl\", \"alt\", \"cmd\" }, \"d\" },\n }\n```", + "stripped_doc": "", "type": "Method" }, { @@ -11570,7 +12772,7 @@ "doc_gfm": "

Starts menu and key watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "130", + "lineno": "134", "name": "init", "notes": [], "notes_gfm": "", @@ -11592,7 +12794,7 @@ "doc_gfm": "

Stops PushToTalk

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "150", + "lineno": "154", "name": "stop", "notes": [], "notes_gfm": "", @@ -11614,7 +12816,7 @@ "doc_gfm": "

Cycle states in order

\n

Parameters:

\n
    \n
  • states - A array of states to toggle. For example: {'push-to-talk', 'release-to-talk'}
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "162", + "lineno": "166", "name": "toggleStates", "notes": [], "notes_gfm": "", @@ -11634,26 +12836,34 @@ "def": "PushToTalk.app_switcher", "def_gfm": "PushToTalk.app_switcher", "desc": "Takes mapping from application name to mic state.", - "doc": "Takes mapping from application name to mic state.\nFor example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", - "doc_gfm": "

Takes mapping from application name to mic state.\nFor example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.

\n", + "doc": "Takes mapping from application name to mic state.\n\nNotes:\n * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "doc_gfm": "

Takes mapping from application name to mic state.

\n

Notes:

\n
    \n
  • For example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.
  • \n
\n", "file": "Source/PushToTalk.spoon/init.lua", "lineno": "35", "name": "app_switcher", + "notes": [ + " * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts." + ], + "notes_gfm": "
    \n
  • For example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.
  • \n
\n", "signature": "PushToTalk.app_switcher", - "stripped_doc": "For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "stripped_doc": "", "type": "Variable" }, { "def": "PushToTalk.detect_on_start", "def_gfm": "PushToTalk.detect_on_start", "desc": "Check running applications when starting PushToTalk.", - "doc": "Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", - "doc_gfm": "

Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.

\n", + "doc": "Check running applications when starting PushToTalk.\n\nNotes:\n * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "doc_gfm": "

Check running applications when starting PushToTalk.

\n

Notes:

\n
    \n
  • Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.
  • \n
\n", "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "41", + "lineno": "43", "name": "detect_on_start", + "notes": [ + " * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters." + ], + "notes_gfm": "
    \n
  • Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.
  • \n
\n", "signature": "PushToTalk.detect_on_start", - "stripped_doc": "Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "stripped_doc": "", "type": "Variable" } ], @@ -11666,26 +12876,34 @@ "def": "PushToTalk.app_switcher", "def_gfm": "PushToTalk.app_switcher", "desc": "Takes mapping from application name to mic state.", - "doc": "Takes mapping from application name to mic state.\nFor example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", - "doc_gfm": "

Takes mapping from application name to mic state.\nFor example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.

\n", + "doc": "Takes mapping from application name to mic state.\n\nNotes:\n * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "doc_gfm": "

Takes mapping from application name to mic state.

\n

Notes:

\n
    \n
  • For example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.
  • \n
\n", "file": "Source/PushToTalk.spoon/init.lua", "lineno": "35", "name": "app_switcher", + "notes": [ + " * For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts." + ], + "notes_gfm": "
    \n
  • For example this { ['zoom.us'] = 'push-to-talk' } will switch mic to push-to-talk state when Zoom app starts.
  • \n
\n", "signature": "PushToTalk.app_switcher", - "stripped_doc": "For example this `{ ['zoom.us'] = 'push-to-talk' }` will switch mic to `push-to-talk` state when Zoom app starts.", + "stripped_doc": "", "type": "Variable" }, { "def": "PushToTalk.detect_on_start", "def_gfm": "PushToTalk.detect_on_start", "desc": "Check running applications when starting PushToTalk.", - "doc": "Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", - "doc_gfm": "

Check running applications when starting PushToTalk.\nDefaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.

\n", + "doc": "Check running applications when starting PushToTalk.\n\nNotes:\n * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "doc_gfm": "

Check running applications when starting PushToTalk.

\n

Notes:

\n
    \n
  • Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.
  • \n
\n", "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "41", + "lineno": "43", "name": "detect_on_start", + "notes": [ + " * Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters." + ], + "notes_gfm": "
    \n
  • Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.
  • \n
\n", "signature": "PushToTalk.detect_on_start", - "stripped_doc": "Defaults to false for backwards compatibility. With this disabled, PushToTalk will only change state when applications are launched or quit while PushToTalk is already active. Enable this to look through list of running applications when PushToTalk is started. If multiple apps defined in app_switcher are running, it will set state to the first one it encounters.", + "stripped_doc": "", "type": "Variable" }, { @@ -11696,7 +12914,7 @@ "doc_gfm": "

Starts menu and key watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "130", + "lineno": "134", "name": "init", "notes": [], "notes_gfm": "", @@ -11718,7 +12936,7 @@ "doc_gfm": "

Stops PushToTalk

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "150", + "lineno": "154", "name": "stop", "notes": [], "notes_gfm": "", @@ -11740,7 +12958,7 @@ "doc_gfm": "

Cycle states in order

\n

Parameters:

\n
    \n
  • states - A array of states to toggle. For example: {'push-to-talk', 'release-to-talk'}
  • \n
\n", "examples": [], "file": "Source/PushToTalk.spoon/init.lua", - "lineno": "162", + "lineno": "166", "name": "toggleStates", "notes": [], "notes_gfm": "", @@ -11772,14 +12990,22 @@ "def": "RecursiveBinder.recursiveBind(keymap)", "def_gfm": "RecursiveBinder.recursiveBind(keymap)", "desc": "Bind sequential keys by a nested keymap.", - "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNote:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\n\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", - "doc_gfm": "

Bind sequential keys by a nested keymap.

\n

Parameters:

\n
    \n
  • keymap - A table that specifies the mapping.
  • \n
\n

Returns:

\n
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n

Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.

\n

Each value of key can be in two form:

\n
    \n
  1. A function. Then pressing the key invokes the function
  2. \n
  3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
  4. \n
\n", + "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNotes:\n * Spec of keymap:\n * Every key is of format {{modifers}, key, (optional) description}\n * The first two element is what you usually pass into a hs.hotkey.bind() function.\n * Each value of key can be in two form:\n 1. A function. Then pressing the key invokes the function\n 2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "doc_gfm": "

Bind sequential keys by a nested keymap.

\n

Parameters:

\n
    \n
  • keymap - A table that specifies the mapping.
  • \n
\n

Returns:

\n
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n

Notes:

\n
    \n
  • Spec of keymap:
      \n
    • Every key is of format {{modifers}, key, (optional) description}
    • \n
    • The first two element is what you usually pass into a hs.hotkey.bind() function.
    • \n
    • Each value of key can be in two form:
        \n
      1. A function. Then pressing the key invokes the function
      2. \n
      3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
      4. \n
      \n
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "225", + "lineno": "229", "name": "recursiveBind", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Spec of keymap:", + " * Every key is of format {{modifers}, key, (optional) description}", + " * The first two element is what you usually pass into a hs.hotkey.bind() function.", + " * Each value of key can be in two form:", + " 1. A function. Then pressing the key invokes the function", + " 2. A table. Then pressing the key bring to another layer of keybindings.", + " And the table have the same format of top table: keys to keys, value to table or function" + ], + "notes_gfm": "
    \n
  • Spec of keymap:
      \n
    • Every key is of format {{modifers}, key, (optional) description}
    • \n
    • The first two element is what you usually pass into a hs.hotkey.bind() function.
    • \n
    • Each value of key can be in two form:
        \n
      1. A function. Then pressing the key invokes the function
      2. \n
      3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
      4. \n
      \n
    • \n
    \n
  • \n
\n", "parameters": [ " * keymap - A table that specifies the mapping." ], @@ -11789,7 +13015,7 @@ ], "returns_gfm": "
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n", "signature": "RecursiveBinder.recursiveBind(keymap)", - "stripped_doc": "Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "stripped_doc": "", "type": "Method" }, { @@ -11800,7 +13026,7 @@ "doc_gfm": "

this function simply return a table with empty modifiers also it translates capital letters to normal letter with shift modifer

\n

Parameters:

\n
    \n
  • key - a letter
  • \n
  • name - the description to pass to the keys binding function
  • \n
\n

Returns:

\n
    \n
  • a table of modifiers and keys and names, ready to be used in keymap\nto pass to RecursiveBinder.recursiveBind()
  • \n
\n", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "133", + "lineno": "137", "name": "singleKey", "notes": [], "notes_gfm": "", @@ -11863,26 +13089,42 @@ "def": "RecursiveBinder.helperFormat", "def_gfm": "RecursiveBinder.helperFormat", "desc": "format of helper, the helper is just a hs.alert", - "doc": "format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", - "doc_gfm": "

format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}

\n", + "doc": "format of helper, the helper is just a hs.alert\n\nNotes:\n * default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "doc_gfm": "

format of helper, the helper is just a hs.alert

\n

Notes:

\n
    \n
  • default to {atScreenEdge=2,\n
         strokeColor={ white = 0, alpha = 2 },\n     textFont='SF Mono'\n     textSize=20}
    \n
  • \n
\n", "file": "Source/RecursiveBinder.spoon/init.lua", "lineno": "35", "name": "helperFormat", + "notes": [ + " * default to {atScreenEdge=2,", + " strokeColor={ white = 0, alpha = 2 },", + " textFont='SF Mono'", + " textSize=20}" + ], + "notes_gfm": "
    \n
  • default to {atScreenEdge=2,\n
         strokeColor={ white = 0, alpha = 2 },\n     textFont='SF Mono'\n     textSize=20}
    \n
  • \n
\n", "signature": "RecursiveBinder.helperFormat", - "stripped_doc": "default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.helperModifierMapping()", "def_gfm": "RecursiveBinder.helperModifierMapping()", "desc": "The mapping used to display modifiers on helper.", - "doc": "The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", - "doc_gfm": "

The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}

\n", + "doc": "The mapping used to display modifiers on helper.\n\nNotes:\n * Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "doc_gfm": "

The mapping used to display modifiers on helper.

\n

Notes:

\n
    \n
  • Default to {\ncommand = '⌘',\ncontrol = '⌃',\noption = '⌥',\nshift = '⇧',\n}
  • \n
\n", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "52", + "lineno": "54", "name": "helperModifierMapping", + "notes": [ + " * Default to {", + " command = '⌘',", + " control = '⌃',", + " option = '⌥',", + " shift = '⇧',", + "}" + ], + "notes_gfm": "
    \n
  • Default to {\ncommand = '⌘',\ncontrol = '⌃',\noption = '⌥',\nshift = '⇧',\n}
  • \n
\n", "signature": "RecursiveBinder.helperModifierMapping()", - "stripped_doc": "Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "stripped_doc": "", "type": "Variable" }, { @@ -11892,7 +13134,7 @@ "doc": "whether to show helper, can be true of false", "doc_gfm": "

whether to show helper, can be true of false

\n", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "47", + "lineno": "49", "name": "showBindHelper", "signature": "RecursiveBinder.showBindHelper()", "stripped_doc": "", @@ -11947,40 +13189,64 @@ "def": "RecursiveBinder.helperFormat", "def_gfm": "RecursiveBinder.helperFormat", "desc": "format of helper, the helper is just a hs.alert", - "doc": "format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", - "doc_gfm": "

format of helper, the helper is just a hs.alert\ndefault to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}

\n", + "doc": "format of helper, the helper is just a hs.alert\n\nNotes:\n * default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "doc_gfm": "

format of helper, the helper is just a hs.alert

\n

Notes:

\n
    \n
  • default to {atScreenEdge=2,\n
         strokeColor={ white = 0, alpha = 2 },\n     textFont='SF Mono'\n     textSize=20}
    \n
  • \n
\n", "file": "Source/RecursiveBinder.spoon/init.lua", "lineno": "35", "name": "helperFormat", + "notes": [ + " * default to {atScreenEdge=2,", + " strokeColor={ white = 0, alpha = 2 },", + " textFont='SF Mono'", + " textSize=20}" + ], + "notes_gfm": "
    \n
  • default to {atScreenEdge=2,\n
         strokeColor={ white = 0, alpha = 2 },\n     textFont='SF Mono'\n     textSize=20}
    \n
  • \n
\n", "signature": "RecursiveBinder.helperFormat", - "stripped_doc": "default to {atScreenEdge=2,\n strokeColor={ white = 0, alpha = 2 },\n textFont='SF Mono'\n textSize=20}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.helperModifierMapping()", "def_gfm": "RecursiveBinder.helperModifierMapping()", "desc": "The mapping used to display modifiers on helper.", - "doc": "The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", - "doc_gfm": "

The mapping used to display modifiers on helper.\nDefault to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}

\n", + "doc": "The mapping used to display modifiers on helper.\n\nNotes:\n * Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "doc_gfm": "

The mapping used to display modifiers on helper.

\n

Notes:

\n
    \n
  • Default to {\ncommand = '⌘',\ncontrol = '⌃',\noption = '⌥',\nshift = '⇧',\n}
  • \n
\n", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "52", + "lineno": "54", "name": "helperModifierMapping", + "notes": [ + " * Default to {", + " command = '⌘',", + " control = '⌃',", + " option = '⌥',", + " shift = '⇧',", + "}" + ], + "notes_gfm": "
    \n
  • Default to {\ncommand = '⌘',\ncontrol = '⌃',\noption = '⌥',\nshift = '⇧',\n}
  • \n
\n", "signature": "RecursiveBinder.helperModifierMapping()", - "stripped_doc": "Default to {\n command = '⌘',\n control = '⌃',\n option = '⌥',\n shift = '⇧',\n}", + "stripped_doc": "", "type": "Variable" }, { "def": "RecursiveBinder.recursiveBind(keymap)", "def_gfm": "RecursiveBinder.recursiveBind(keymap)", "desc": "Bind sequential keys by a nested keymap.", - "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNote:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\n\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", - "doc_gfm": "

Bind sequential keys by a nested keymap.

\n

Parameters:

\n
    \n
  • keymap - A table that specifies the mapping.
  • \n
\n

Returns:

\n
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n

Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.

\n

Each value of key can be in two form:

\n
    \n
  1. A function. Then pressing the key invokes the function
  2. \n
  3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
  4. \n
\n", + "doc": "Bind sequential keys by a nested keymap.\n\nParameters:\n * keymap - A table that specifies the mapping.\n\nReturns:\n * A function to start. Bind it to a initial key binding.\n\nNotes:\n * Spec of keymap:\n * Every key is of format {{modifers}, key, (optional) description}\n * The first two element is what you usually pass into a hs.hotkey.bind() function.\n * Each value of key can be in two form:\n 1. A function. Then pressing the key invokes the function\n 2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "doc_gfm": "

Bind sequential keys by a nested keymap.

\n

Parameters:

\n
    \n
  • keymap - A table that specifies the mapping.
  • \n
\n

Returns:

\n
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n

Notes:

\n
    \n
  • Spec of keymap:
      \n
    • Every key is of format {{modifers}, key, (optional) description}
    • \n
    • The first two element is what you usually pass into a hs.hotkey.bind() function.
    • \n
    • Each value of key can be in two form:
        \n
      1. A function. Then pressing the key invokes the function
      2. \n
      3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
      4. \n
      \n
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "225", + "lineno": "229", "name": "recursiveBind", - "notes": [], - "notes_gfm": "", + "notes": [ + " * Spec of keymap:", + " * Every key is of format {{modifers}, key, (optional) description}", + " * The first two element is what you usually pass into a hs.hotkey.bind() function.", + " * Each value of key can be in two form:", + " 1. A function. Then pressing the key invokes the function", + " 2. A table. Then pressing the key bring to another layer of keybindings.", + " And the table have the same format of top table: keys to keys, value to table or function" + ], + "notes_gfm": "
    \n
  • Spec of keymap:
      \n
    • Every key is of format {{modifers}, key, (optional) description}
    • \n
    • The first two element is what you usually pass into a hs.hotkey.bind() function.
    • \n
    • Each value of key can be in two form:
        \n
      1. A function. Then pressing the key invokes the function
      2. \n
      3. A table. Then pressing the key bring to another layer of keybindings.\nAnd the table have the same format of top table: keys to keys, value to table or function
      4. \n
      \n
    • \n
    \n
  • \n
\n", "parameters": [ " * keymap - A table that specifies the mapping." ], @@ -11990,7 +13256,7 @@ ], "returns_gfm": "
    \n
  • A function to start. Bind it to a initial key binding.
  • \n
\n", "signature": "RecursiveBinder.recursiveBind(keymap)", - "stripped_doc": "Note:\nSpec of keymap:\nEvery key is of format {{modifers}, key, (optional) description}\nThe first two element is what you usually pass into a hs.hotkey.bind() function.\nEach value of key can be in two form:\n1. A function. Then pressing the key invokes the function\n2. A table. Then pressing the key bring to another layer of keybindings.\n And the table have the same format of top table: keys to keys, value to table or function", + "stripped_doc": "", "type": "Method" }, { @@ -12000,7 +13266,7 @@ "doc": "whether to show helper, can be true of false", "doc_gfm": "

whether to show helper, can be true of false

\n", "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "47", + "lineno": "49", "name": "showBindHelper", "signature": "RecursiveBinder.showBindHelper()", "stripped_doc": "", @@ -12014,7 +13280,7 @@ "doc_gfm": "

this function simply return a table with empty modifiers also it translates capital letters to normal letter with shift modifer

\n

Parameters:

\n
    \n
  • key - a letter
  • \n
  • name - the description to pass to the keys binding function
  • \n
\n

Returns:

\n
    \n
  • a table of modifiers and keys and names, ready to be used in keymap\nto pass to RecursiveBinder.recursiveBind()
  • \n
\n", "examples": [], "file": "Source/RecursiveBinder.spoon/init.lua", - "lineno": "133", + "lineno": "137", "name": "singleKey", "notes": [], "notes_gfm": "", @@ -12394,7 +13660,7 @@ "doc_gfm": "

Binds hotkeys for Seal

\n

Parameters:

\n
    \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
    \n
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "154", + "lineno": "156", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -12418,7 +13684,7 @@ "doc_gfm": "

Loads a plugin from a given file

\n

Parameters:

\n
    \n
  • pluginname - 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
\n

Returns:

\n
    \n
  • The Seal object if the plugin was successfully loaded, nil otherwise
  • \n
\n

Notes:

\n
    \n
  • You should normally use Seal:loadPlugins(). This method allows you to load plugins\nfrom non-standard locations and is mostly a development interface.
  • \n
  • Some plugins may immediately begin doing background work (e.g. Spotlight searches)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "91", + "lineno": "93", "name": "loadPluginFromFile", "notes": [ " * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins", @@ -12447,7 +13713,7 @@ "doc_gfm": "

Loads a list of Seal plugins

\n

Parameters:

\n
    \n
  • plugins - A list containing the names of plugins to load
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "119", + "lineno": "121", "name": "loadPlugins", "notes": [ " * The plugins live inside the Seal.spoon directory", @@ -12475,7 +13741,7 @@ "doc_gfm": "

Refresh the list of commands provided by all the currently loaded plugins.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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.
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "72", + "lineno": "74", "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." @@ -12501,7 +13767,7 @@ "doc_gfm": "

Refresh the list of commands provided by the given plugin.

\n

Parameters:

\n
    \n
  • plugin_name - the name of the plugin. Should be the name as passed to loadPlugins() or loadPluginFromFile.
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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.
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "47", + "lineno": "49", "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." @@ -12527,7 +13793,7 @@ "doc_gfm": "

Shows the Seal UI

\n

Parameters:

\n
    \n
  • query - An optional string to pre-populate the query box with
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • This may be useful if you wish to show Seal in response to something other than its hotkey
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "231", + "lineno": "233", "name": "show", "notes": [ " * This may be useful if you wish to show Seal in response to something other than its hotkey" @@ -12553,7 +13819,7 @@ "doc_gfm": "

Starts Seal

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "187", + "lineno": "189", "name": "start", "notes": [], "notes_gfm": "", @@ -12577,7 +13843,7 @@ "doc_gfm": "

Stops Seal

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \n
  • Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "207", + "lineno": "209", "name": "stop", "notes": [ " * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)" @@ -12603,7 +13869,7 @@ "doc_gfm": "

Shows or hides the Seal UI

\n

Parameters:

\n
    \n
  • query - An optional string to pre-populate the query box with
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "249", + "lineno": "251", "name": "toggle", "notes": [], "notes_gfm": "", @@ -12628,7 +13894,7 @@ "doc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.", "doc_gfm": "

List of directories where Seal will look for plugins. Defaults to ~/.hammerspoon/seal_plugins/ and the Seal Spoon directory.

\n", "file": "Source/Seal.spoon/init.lua", - "lineno": "42", + "lineno": "44", "name": "plugin_search_paths", "signature": "Seal.plugin_search_paths", "stripped_doc": "", @@ -12638,13 +13904,17 @@ "def": "Seal.queryChangedTimerDuration", "def_gfm": "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.\nDefaults to 0.02s (20ms).", - "doc_gfm": "

Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.\nDefaults to 0.02s (20ms).

\n", + "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).", + "doc_gfm": "

Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.

\n

Notes:

\n
    \n
  • Defaults to 0.02s (20ms).
  • \n
\n", "file": "Source/Seal.spoon/init.lua", "lineno": "36", "name": "queryChangedTimerDuration", + "notes": [ + " * Defaults to 0.02s (20ms)." + ], + "notes_gfm": "
    \n
  • Defaults to 0.02s (20ms).
  • \n
\n", "signature": "Seal.queryChangedTimerDuration", - "stripped_doc": "Defaults to 0.02s (20ms).", + "stripped_doc": "", "type": "Variable" } ], @@ -12661,7 +13931,7 @@ "doc_gfm": "

Binds hotkeys for Seal

\n

Parameters:

\n
    \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
    \n
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "154", + "lineno": "156", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -12685,7 +13955,7 @@ "doc_gfm": "

Loads a plugin from a given file

\n

Parameters:

\n
    \n
  • pluginname - 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
\n

Returns:

\n
    \n
  • The Seal object if the plugin was successfully loaded, nil otherwise
  • \n
\n

Notes:

\n
    \n
  • You should normally use Seal:loadPlugins(). This method allows you to load plugins\nfrom non-standard locations and is mostly a development interface.
  • \n
  • Some plugins may immediately begin doing background work (e.g. Spotlight searches)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "91", + "lineno": "93", "name": "loadPluginFromFile", "notes": [ " * You should normally use `Seal:loadPlugins()`. This method allows you to load plugins", @@ -12714,7 +13984,7 @@ "doc_gfm": "

Loads a list of Seal plugins

\n

Parameters:

\n
    \n
  • plugins - A list containing the names of plugins to load
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "119", + "lineno": "121", "name": "loadPlugins", "notes": [ " * The plugins live inside the Seal.spoon directory", @@ -12741,7 +14011,7 @@ "doc": "List of directories where Seal will look for plugins. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory.", "doc_gfm": "

List of directories where Seal will look for plugins. Defaults to ~/.hammerspoon/seal_plugins/ and the Seal Spoon directory.

\n", "file": "Source/Seal.spoon/init.lua", - "lineno": "42", + "lineno": "44", "name": "plugin_search_paths", "signature": "Seal.plugin_search_paths", "stripped_doc": "", @@ -12751,13 +14021,17 @@ "def": "Seal.queryChangedTimerDuration", "def_gfm": "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.\nDefaults to 0.02s (20ms).", - "doc_gfm": "

Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.\nDefaults to 0.02s (20ms).

\n", + "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).", + "doc_gfm": "

Time between the last keystroke and the start of the recalculation of the choices to display, in seconds.

\n

Notes:

\n
    \n
  • Defaults to 0.02s (20ms).
  • \n
\n", "file": "Source/Seal.spoon/init.lua", "lineno": "36", "name": "queryChangedTimerDuration", + "notes": [ + " * Defaults to 0.02s (20ms)." + ], + "notes_gfm": "
    \n
  • Defaults to 0.02s (20ms).
  • \n
\n", "signature": "Seal.queryChangedTimerDuration", - "stripped_doc": "Defaults to 0.02s (20ms).", + "stripped_doc": "", "type": "Variable" }, { @@ -12768,7 +14042,7 @@ "doc_gfm": "

Refresh the list of commands provided by all the currently loaded plugins.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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.
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "72", + "lineno": "74", "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." @@ -12794,7 +14068,7 @@ "doc_gfm": "

Refresh the list of commands provided by the given plugin.

\n

Parameters:

\n
    \n
  • plugin_name - the name of the plugin. Should be the name as passed to loadPlugins() or loadPluginFromFile.
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \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.
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "47", + "lineno": "49", "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." @@ -12820,7 +14094,7 @@ "doc_gfm": "

Shows the Seal UI

\n

Parameters:

\n
    \n
  • query - An optional string to pre-populate the query box with
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • This may be useful if you wish to show Seal in response to something other than its hotkey
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "231", + "lineno": "233", "name": "show", "notes": [ " * This may be useful if you wish to show Seal in response to something other than its hotkey" @@ -12846,7 +14120,7 @@ "doc_gfm": "

Starts Seal

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "187", + "lineno": "189", "name": "start", "notes": [], "notes_gfm": "", @@ -12870,7 +14144,7 @@ "doc_gfm": "

Stops Seal

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The Seal object
  • \n
\n

Notes:

\n
    \n
  • Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "207", + "lineno": "209", "name": "stop", "notes": [ " * Some Seal plugins will continue performing background work even after this call (e.g. Spotlight searches)" @@ -12896,7 +14170,7 @@ "doc_gfm": "

Shows or hides the Seal UI

\n

Parameters:

\n
    \n
  • query - An optional string to pre-populate the query box with
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Seal.spoon/init.lua", - "lineno": "249", + "lineno": "251", "name": "toggle", "notes": [], "notes_gfm": "", @@ -13415,13 +14689,54 @@ "def": "Seal.plugins.useractions.actions", "def_gfm": "Seal.plugins.useractions.actions", "desc": "", - "doc": "\nA 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 * 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\nExample 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 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```", - "doc_gfm": "

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
    \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
  • 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
    \n
  • \n
  • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
  • \n
\n

Example configuration:

\n\n
spoon.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         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", + "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 * 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 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```", + "doc_gfm": "

Notes:

\n
    \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
    • 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
      \n
    • \n
    • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
    • \n
    \n
  • \n
  • Example configuration:\n
    spoon.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      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
  • \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.", + " * 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),", + " 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,", + " }", + "```" + ], + "notes_gfm": "
    \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
    • 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
      \n
    • \n
    • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
    • \n
    \n
  • \n
  • Example configuration:\n
    spoon.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      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
  • \n
\n", "signature": "Seal.plugins.useractions.actions", - "stripped_doc": "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 * 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.\nExample 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 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```", + "stripped_doc": "", "type": "Variable" }, { @@ -13447,13 +14762,54 @@ "def": "Seal.plugins.useractions.actions", "def_gfm": "Seal.plugins.useractions.actions", "desc": "", - "doc": "\nA 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 * 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\nExample 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 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```", - "doc_gfm": "

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
    \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
  • 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
    \n
  • \n
  • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
  • \n
\n

Example configuration:

\n\n
spoon.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         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", + "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 * 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 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```", + "doc_gfm": "

Notes:

\n
    \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
    • 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
      \n
    • \n
    • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
    • \n
    \n
  • \n
  • Example configuration:\n
    spoon.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      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
  • \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.", + " * 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),", + " 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,", + " }", + "```" + ], + "notes_gfm": "
    \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
    • 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
      \n
    • \n
    • hotkey - (optional) A hotkey specification in the form { modifiers, key } by which this action can be invoked.
    • \n
    \n
  • \n
  • Example configuration:\n
    spoon.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      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
  • \n
\n", "signature": "Seal.plugins.useractions.actions", - "stripped_doc": "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 * 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.\nExample 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 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```", + "stripped_doc": "", "type": "Variable" }, { @@ -13558,13 +14914,46 @@ "def": "SendToOmniFocus.actions", "def_gfm": "SendToOmniFocus.actions", "desc": "Table containing application handlers for sending the current item to OmniFocus.", - "doc": "Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\n\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", - "doc_gfm": "

Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:

\n
    \n
  • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
  • \n
  • One of the following, invoked to do the actual filing:
      \n
    • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
    • \n
    • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
    • \n
    • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
    • \n
    • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
    • \n
    \n
  • \n
\n

The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using SendToOmniFocus:registerApplication()

\n

Default value:

\n\n
  {\n     [\"Microsoft Outlook\"] = {\n        as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n        itemname = \"message\"\n     },\n     Evernote = {\n        as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n        itemname = \"note\"\n     },\n     [\"Google Chrome\"] = {\n        apptype = \"chromeapp\",\n        itemname = \"tab\"\n     },\n     Mail = {\n        as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n        itemname = \"message\"\n     }\n  }
\n", + "doc": "Table containing application handlers for sending the current item to OmniFocus.\n\nNotes:\n * Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\n * New handlers can be registered using `SendToOmniFocus:registerApplication()`\n * Default value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "doc_gfm": "

Table containing application handlers for sending the current item to OmniFocus.

\n

Notes:

\n
    \n
  • Each entry's key is the application name, and its value is another table with the following keys:
      \n
    • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
    • \n
    • One of the following, invoked to do the actual filing:
        \n
      • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
      • \n
      • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
      • \n
      • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
      • \n
      • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
      • \n
      \n
    • \n
    \n
  • \n
  • The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.
  • \n
  • New handlers can be registered using SendToOmniFocus:registerApplication()
  • \n
  • Default value:\n
    {\n  [\"Microsoft Outlook\"] = {\n     as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  },\n  Evernote = {\n     as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n     itemname = \"note\"\n  },\n  [\"Google Chrome\"] = {\n     apptype = \"chromeapp\",\n     itemname = \"tab\"\n  },\n  Mail = {\n     as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  }\n}
    \n
  • \n
\n", "file": "Source/SendToOmniFocus.spoon/init.lua", "lineno": "65", "name": "actions", + "notes": [ + " * Each entry's key is the application name, and its value is another table with the following keys:", + " * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".", + " * One of the following, invoked to do the actual filing:", + " * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.", + " * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.", + " * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.", + " * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).", + " * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.", + " * New handlers can be registered using `SendToOmniFocus:registerApplication()`", + " * Default value:", + "```", + " {", + " [\"Microsoft Outlook\"] = {", + " as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " },", + " Evernote = {", + " as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),", + " itemname = \"note\"", + " },", + " [\"Google Chrome\"] = {", + " apptype = \"chromeapp\",", + " itemname = \"tab\"", + " },", + " Mail = {", + " as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " }", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Each entry's key is the application name, and its value is another table with the following keys:
      \n
    • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
    • \n
    • One of the following, invoked to do the actual filing:
        \n
      • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
      • \n
      • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
      • \n
      • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
      • \n
      • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
      • \n
      \n
    • \n
    \n
  • \n
  • The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.
  • \n
  • New handlers can be registered using SendToOmniFocus:registerApplication()
  • \n
  • Default value:\n
    {\n  [\"Microsoft Outlook\"] = {\n     as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  },\n  Evernote = {\n     as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n     itemname = \"note\"\n  },\n  [\"Google Chrome\"] = {\n     apptype = \"chromeapp\",\n     itemname = \"tab\"\n  },\n  Mail = {\n     as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  }\n}
    \n
  • \n
\n", "signature": "SendToOmniFocus.actions", - "stripped_doc": "Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -13616,13 +15005,46 @@ "def": "SendToOmniFocus.actions", "def_gfm": "SendToOmniFocus.actions", "desc": "Table containing application handlers for sending the current item to OmniFocus.", - "doc": "Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\n\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", - "doc_gfm": "

Table containing application handlers for sending the current item to OmniFocus.\nEach entry's key is the application name, and its value is another table with the following keys:

\n
    \n
  • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
  • \n
  • One of the following, invoked to do the actual filing:
      \n
    • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
    • \n
    • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
    • \n
    • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
    • \n
    • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
    • \n
    \n
  • \n
\n

The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using SendToOmniFocus:registerApplication()

\n

Default value:

\n\n
  {\n     [\"Microsoft Outlook\"] = {\n        as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n        itemname = \"message\"\n     },\n     Evernote = {\n        as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n        itemname = \"note\"\n     },\n     [\"Google Chrome\"] = {\n        apptype = \"chromeapp\",\n        itemname = \"tab\"\n     },\n     Mail = {\n        as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n        itemname = \"message\"\n     }\n  }
\n", + "doc": "Table containing application handlers for sending the current item to OmniFocus.\n\nNotes:\n * Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\n * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\n * New handlers can be registered using `SendToOmniFocus:registerApplication()`\n * Default value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "doc_gfm": "

Table containing application handlers for sending the current item to OmniFocus.

\n

Notes:

\n
    \n
  • Each entry's key is the application name, and its value is another table with the following keys:
      \n
    • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
    • \n
    • One of the following, invoked to do the actual filing:
        \n
      • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
      • \n
      • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
      • \n
      • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
      • \n
      • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
      • \n
      \n
    • \n
    \n
  • \n
  • The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.
  • \n
  • New handlers can be registered using SendToOmniFocus:registerApplication()
  • \n
  • Default value:\n
    {\n  [\"Microsoft Outlook\"] = {\n     as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  },\n  Evernote = {\n     as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n     itemname = \"note\"\n  },\n  [\"Google Chrome\"] = {\n     apptype = \"chromeapp\",\n     itemname = \"tab\"\n  },\n  Mail = {\n     as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  }\n}
    \n
  • \n
\n", "file": "Source/SendToOmniFocus.spoon/init.lua", "lineno": "65", "name": "actions", + "notes": [ + " * Each entry's key is the application name, and its value is another table with the following keys:", + " * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".", + " * One of the following, invoked to do the actual filing:", + " * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.", + " * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.", + " * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.", + " * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).", + " * The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.", + " * New handlers can be registered using `SendToOmniFocus:registerApplication()`", + " * Default value:", + "```", + " {", + " [\"Microsoft Outlook\"] = {", + " as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " },", + " Evernote = {", + " as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),", + " itemname = \"note\"", + " },", + " [\"Google Chrome\"] = {", + " apptype = \"chromeapp\",", + " itemname = \"tab\"", + " },", + " Mail = {", + " as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),", + " itemname = \"message\"", + " }", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Each entry's key is the application name, and its value is another table with the following keys:
      \n
    • itemname - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".
    • \n
    • One of the following, invoked to do the actual filing:
        \n
      • as_scriptfile - path of a file containing AppleScript code. It will be executed using the osascript command. If quickentrydialog is set to false, the string nodialog will be passed as argument to the script.
      • \n
      • as_script - string containing AppleScript code. There is no way to pass an argument to the script via this method.
      • \n
      • fn - a function. It will be passed a boolean indicating the value of quickentrydialog.
      • \n
      • apptype - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using Epichrome.
      • \n
      \n
    • \n
    \n
  • \n
  • The built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.
  • \n
  • New handlers can be registered using SendToOmniFocus:registerApplication()
  • \n
  • Default value:\n
    {\n  [\"Microsoft Outlook\"] = {\n     as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  },\n  Evernote = {\n     as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n     itemname = \"note\"\n  },\n  [\"Google Chrome\"] = {\n     apptype = \"chromeapp\",\n     itemname = \"tab\"\n  },\n  Mail = {\n     as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n     itemname = \"message\"\n  }\n}
    \n
  • \n
\n", "signature": "SendToOmniFocus.actions", - "stripped_doc": "Each entry's key is the application name, and its value is another table with the following keys:\n * `itemname` - how to name the current item in the context of the application. Purely for cosmetic purposes in the notifications (e.g. in Mail, the notification says \"filing message\" instead of \"filing item\". Defaults to \"item\".\n * One of the following, invoked to do the actual filing:\n * `as_scriptfile` - path of a file containing AppleScript code. It will be executed using the `osascript` command. If `quickentrydialog` is set to `false`, the string `nodialog` will be passed as argument to the script.\n * `as_script` - string containing AppleScript code. There is no way to pass an argument to the script via this method.\n * `fn` - a function. It will be passed a boolean indicating the value of `quickentrydialog`.\n * `apptype` - a predefined \"application type\" to trigger different behavior for application families. The only valid value at the moment is \"chromeapp\", which can be used for any Chrome-based applications, including Google Chrome itself and, for example, any site-specific browsers generated using [Epichrome](https://github.com/dmarmor/epichrome).\nThe built-in handlers for Outlook, Evernote, Chrome and Mail are implemented by scripts bundled with the SendToOmniFocus spoon.\nNew handlers can be registered using `SendToOmniFocus:registerApplication()`\nDefault value:\n```\n {\n [\"Microsoft Outlook\"] = {\n as_scriptfile = _resource_path(\"scripts/outlook-to-omnifocus.applescript\"),\n itemname = \"message\"\n },\n Evernote = {\n as_scriptfile = _resource_path(\"scripts/evernote-to-omnifocus.applescript\"),\n itemname = \"note\"\n },\n [\"Google Chrome\"] = {\n apptype = \"chromeapp\",\n itemname = \"tab\"\n },\n Mail = {\n as_scriptfile = _resource_path(\"scripts/mail-to-omnifocus.applescript\"),\n itemname = \"message\"\n }\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -13754,7 +15176,7 @@ "doc_gfm": "

Turns shade on/off

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "221", + "lineno": "220", "name": "toggleShade", "notes": [], "notes_gfm": "", @@ -13776,18 +15198,20 @@ "def": "Shade:bindHotkeys(map)", "def_gfm": "Shade:bindHotkeys(map)", "desc": "Binds hotkeys for Shade", - "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", - "doc_gfm": "

Binds hotkeys for Shade

\n

Parameters:

\n
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", - "examples": [], + "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\n\nExamples:\n * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", + "doc_gfm": "

Binds hotkeys for Shade

\n

Parameters:

\n
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", + "examples": [ + " * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + ], "file": "Source/Shade.spoon/init.lua", - "lineno": "253", + "lineno": "252", "name": "bindHotkeys", "notes": [], "notes_gfm": "", "parameters": [ - " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic" ], - "parameters_gfm": "
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
    • \n
    \n
  • \n
\n", + "parameters_gfm": "
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic
    • \n
    \n
  • \n
\n", "returns": [ " * None" ], @@ -13804,7 +15228,7 @@ "doc_gfm": "

Sets up the Spoon

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "122", + "lineno": "121", "name": "init", "notes": [], "notes_gfm": "", @@ -13828,7 +15252,7 @@ "doc_gfm": "

Turn the shade on, darkening the screen

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "177", + "lineno": "176", "name": "start", "notes": [], "notes_gfm": "", @@ -13852,7 +15276,7 @@ "doc_gfm": "

Turn the shade off, brightening the screen

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "203", + "lineno": "202", "name": "stop", "notes": [], "notes_gfm": "", @@ -13877,7 +15301,7 @@ "doc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "doc_gfm": "

Flag for Shade status, 'false' means shade off, 'true' means on.

\n", "file": "Source/Shade.spoon/init.lua", - "lineno": "113", + "lineno": "112", "name": "shadeIsOn", "signature": "Shade.shadeIsOn", "stripped_doc": "", @@ -13886,14 +15310,14 @@ { "def": "Shade.shadeTransparency", "def_gfm": "Shade.shadeTransparency", - "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely", - "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.", - "doc_gfm": "

Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.

\n", + "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc_gfm": "

Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.

\n", "file": "Source/Shade.spoon/init.lua", "lineno": "86", "name": "shadeTransparency", "signature": "Shade.shadeTransparency", - "stripped_doc": "transparent to 1.0 (completely opaque). Default is 0.5.", + "stripped_doc": "", "type": "Variable" } ], @@ -13906,18 +15330,20 @@ "def": "Shade:bindHotkeys(map)", "def_gfm": "Shade:bindHotkeys(map)", "desc": "Binds hotkeys for Shade", - "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", - "doc_gfm": "

Binds hotkeys for Shade

\n

Parameters:

\n
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic\nE.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", - "examples": [], + "doc": "Binds hotkeys for Shade\n\nParameters:\n * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic\n\nExamples:\n * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }\n\nReturns:\n * None", + "doc_gfm": "

Binds hotkeys for Shade

\n

Parameters:

\n
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic
    • \n
    \n
  • \n
\n

Examples:

\n
    \n
  • E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", + "examples": [ + " * E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + ], "file": "Source/Shade.spoon/init.lua", - "lineno": "253", + "lineno": "252", "name": "bindHotkeys", "notes": [], "notes_gfm": "", "parameters": [ - " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }" + " * map - A table containing hotkey modifier/key details for the following item:\n * toggleShade - This will toggle the shade on/off, and update the menubar graphic" ], - "parameters_gfm": "
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic E.g.: { toggleShade = {\"cmd\",\"alt\",\"ctrl\"},\"s\" }
    • \n
    \n
  • \n
\n", + "parameters_gfm": "
    \n
  • map - A table containing hotkey modifier/key details for the following item:
      \n
    • toggleShade - This will toggle the shade on/off, and update the menubar graphic
    • \n
    \n
  • \n
\n", "returns": [ " * None" ], @@ -13934,7 +15360,7 @@ "doc_gfm": "

Sets up the Spoon

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "122", + "lineno": "121", "name": "init", "notes": [], "notes_gfm": "", @@ -13957,7 +15383,7 @@ "doc": "Flag for Shade status, 'false' means shade off, 'true' means on.", "doc_gfm": "

Flag for Shade status, 'false' means shade off, 'true' means on.

\n", "file": "Source/Shade.spoon/init.lua", - "lineno": "113", + "lineno": "112", "name": "shadeIsOn", "signature": "Shade.shadeIsOn", "stripped_doc": "", @@ -13966,14 +15392,14 @@ { "def": "Shade.shadeTransparency", "def_gfm": "Shade.shadeTransparency", - "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely", - "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.", - "doc_gfm": "

Contains the alpha (transparency) of the overlay, from 0.0 (completely\ntransparent to 1.0 (completely opaque). Default is 0.5.

\n", + "desc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc": "Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.", + "doc_gfm": "

Contains the alpha (transparency) of the overlay, from 0.0 (completely transparent to 1.0 (completely opaque). Default is 0.5.

\n", "file": "Source/Shade.spoon/init.lua", "lineno": "86", "name": "shadeTransparency", "signature": "Shade.shadeTransparency", - "stripped_doc": "transparent to 1.0 (completely opaque). Default is 0.5.", + "stripped_doc": "", "type": "Variable" }, { @@ -13984,7 +15410,7 @@ "doc_gfm": "

Turn the shade on, darkening the screen

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "177", + "lineno": "176", "name": "start", "notes": [], "notes_gfm": "", @@ -14008,7 +15434,7 @@ "doc_gfm": "

Turn the shade off, brightening the screen

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "203", + "lineno": "202", "name": "stop", "notes": [], "notes_gfm": "", @@ -14032,7 +15458,7 @@ "doc_gfm": "

Turns shade on/off

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/Shade.spoon/init.lua", - "lineno": "221", + "lineno": "220", "name": "toggleShade", "notes": [], "notes_gfm": "", @@ -14070,7 +15496,7 @@ "doc_gfm": "

Binds hotkeys for SleepCorners

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for one or more of the following commands:
      \n
    • \"start\" - start monitoring the defined corners
    • \n
    • \"stop\" - stop monitoring the defined corners
    • \n
    • \"toggle\" - toggles monitoring on or off
    • \n
    • \"show\" - shows the current corners for 3 seconds as a reminder of their assigned locations
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • the mapping table is a table of one or more key-value pairs of the format command = { { modifiers }, key } where:
      \n
    • command - is one of the commands listed above
    • \n
    • modifiers - is a table containing keyboard modifiers, as specified in hs.hotkey.bind()
    • \n
    • key - is a string containing the name of a keyboard key, as specified in hs.hotkey.bind()
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "634", + "lineno": "632", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -14099,7 +15525,7 @@ "doc_gfm": "

Returns whether or not the sleep corners are currently active

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • true if the sleep corners are currently active or false if they are not
  • \n
\n

Notes:

\n
    \n
  • This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with SleepCorners.sleepNowCorner or SleepCorners.neverSleepCorner.
  • \n
  • If you want to check to see if SleepCorners has been started and that at least one of the corners is assigned to a corner, you should use something like SleepCorners:isActive() and (SleepCorners.sleepNowCorner ~= \"*\" or SleepCorners.neverSleepCorner ~= \"*\")
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "460", + "lineno": "458", "name": "isActive", "notes": [ " * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).", @@ -14126,7 +15552,7 @@ "doc_gfm": "

Temporarily show the SleepCorner feedback images in their current locations as a reminder of their positions on the screen.

\n

Parameters:

\n
    \n
  • duration - an optional number, default 3, specifying the number of seconds the feedback images should be displayed. If you specify false and the feedback images are currently being shown, the timer will be cur short and the images will be removed immediately.
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started).
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "582", + "lineno": "580", "name": "show", "notes": [ " * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started)." @@ -14152,7 +15578,7 @@ "doc_gfm": "

Starts monitoring the defined sleep corners to allow triggering or preventing the system display sleep state.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • has no effect if SleepCorners has already been started
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "480", + "lineno": "478", "name": "start", "notes": [ " * has no effect if SleepCorners has already been started" @@ -14178,7 +15604,7 @@ "doc_gfm": "

Stop monitoring the defined sleep corners.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • has no effect if SleepCorners has already been stopped
  • \n
  • if SleepCorners was active, this method will return the display idle sleep setting back to its previous state and reset the never sleep lock if it has been triggered.
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "510", + "lineno": "508", "name": "stop", "notes": [ " * has no effect if SleepCorners has already been stopped", @@ -14205,7 +15631,7 @@ "doc_gfm": "

Toggles or sets whether or not SleepCorners is currently monitoring the defined screen corners for managing the system display's sleep state and displays an alert indicating the new state of the SleepCorners spoon.

\n

Parameters:

\n
    \n
  • state - an optional boolean which specifies specifically whether SleepCorners should be started if it isn't already running (true) or stopped if it currently is running (false)
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • If state is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.
  • \n
  • SleepCorners:toggle(true) is equivalent to SleepCorners:start() with the addition of displaying an alert specifying that SleepCorners is active.
  • \n
  • SleepCorners:toggle(false) is equivalent to SleepCorners:stop() with the addition of displaying an alert specifying that SleepCorners has been deactivated.
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "546", + "lineno": "544", "name": "toggle", "notes": [ " * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.", @@ -14244,26 +15670,41 @@ "def": "SleepCorners.immediateSleepModifiers", "def_gfm": "SleepCorners.immediateSleepModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nThis variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", - "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for SleepCorners.sleepDelay seconds.

\n

This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:

\n
    \n
  • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
  • \n
  • cmd - Set to true to require that the Command (⌘) key be pressed
  • \n
  • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
  • \n
  • shift - Set to true to require that the Shift (⇧) key be pressed
  • \n
  • ctrl - Set to true to require that the Control (^) key be pressed
  • \n
\n

If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.

\n", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for SleepCorners.sleepDelay seconds.

\n

Notes:

\n
    \n
  • This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", "lineno": "120", "name": "immediateSleepModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect." + ], + "notes_gfm": "
    \n
  • This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.
  • \n
\n", "signature": "SleepCorners.immediateSleepModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "stripped_doc": "", "type": "Variable" }, { "def": "SleepCorners.immediateSleepShouldLock", "def_gfm": "SleepCorners.immediateSleepShouldLock", "desc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.", - "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nWhen this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", - "doc_gfm": "

Specifies whether the sleep now corner, when the modifiers defined for SleepCorners.immediateSleepModifiers are also held, should trigger the display sleep or lock the users session. Defaults to true.

\n

When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.

\n

Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.

\n", + "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc_gfm": "

Specifies whether the sleep now corner, when the modifiers defined for SleepCorners.immediateSleepModifiers are also held, should trigger the display sleep or lock the users session. Defaults to true.

\n

Notes:

\n
    \n
  • When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "144", + "lineno": "143", "name": "immediateSleepShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], + "notes_gfm": "
    \n
  • When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "signature": "SleepCorners.immediateSleepShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -14283,13 +15724,23 @@ "def": "SleepCorners.neverSleepLockModifiers", "def_gfm": "SleepCorners.neverSleepLockModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nThis variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", - "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.

\n

This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:

\n
    \n
  • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
  • \n
  • cmd - Set to true to require that the Command (⌘) key be pressed
  • \n
  • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
  • \n
  • shift - Set to true to require that the Shift (⇧) key be pressed
  • \n
  • ctrl - Set to true to require that the Control (^) key be pressed
  • \n
\n

If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.

\n", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.

\n

Notes:

\n
    \n
  • This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "153", + "lineno": "152", "name": "neverSleepLockModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered." + ], + "notes_gfm": "
    \n
  • This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.
  • \n
\n", "signature": "SleepCorners.neverSleepLockModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "stripped_doc": "", "type": "Variable" }, { @@ -14335,13 +15786,18 @@ "def": "SleepCorners.sleepNowShouldLock", "def_gfm": "SleepCorners.sleepNowShouldLock", "desc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.", - "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nWhen this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", - "doc_gfm": "

Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.

\n

When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.

\n

Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.

\n", + "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc_gfm": "

Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.

\n

Notes:

\n
    \n
  • When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "135", + "lineno": "134", "name": "sleepNowShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], + "notes_gfm": "
    \n
  • When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "signature": "SleepCorners.sleepNowShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -14384,7 +15840,7 @@ "doc_gfm": "

Binds hotkeys for SleepCorners

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for one or more of the following commands:
      \n
    • \"start\" - start monitoring the defined corners
    • \n
    • \"stop\" - stop monitoring the defined corners
    • \n
    • \"toggle\" - toggles monitoring on or off
    • \n
    • \"show\" - shows the current corners for 3 seconds as a reminder of their assigned locations
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • the mapping table is a table of one or more key-value pairs of the format command = { { modifiers }, key } where:
      \n
    • command - is one of the commands listed above
    • \n
    • modifiers - is a table containing keyboard modifiers, as specified in hs.hotkey.bind()
    • \n
    • key - is a string containing the name of a keyboard key, as specified in hs.hotkey.bind()
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "634", + "lineno": "632", "name": "bindHotkeys", "notes": [ " * the `mapping` table is a table of one or more key-value pairs of the format `command = { { modifiers }, key }` where:", @@ -14422,26 +15878,41 @@ "def": "SleepCorners.immediateSleepModifiers", "def_gfm": "SleepCorners.immediateSleepModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nThis variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", - "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for SleepCorners.sleepDelay seconds.

\n

This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:

\n
    \n
  • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
  • \n
  • cmd - Set to true to require that the Command (⌘) key be pressed
  • \n
  • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
  • \n
  • shift - Set to true to require that the Shift (⇧) key be pressed
  • \n
  • ctrl - Set to true to require that the Control (^) key be pressed
  • \n
\n

If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.

\n", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for [SleepCorners.sleepDelay](#sleepDelay) seconds.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the sleep now hot corner will trigger sleep immediately rather then delay for SleepCorners.sleepDelay seconds.

\n

Notes:

\n
    \n
  • This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", "lineno": "120", "name": "immediateSleepModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect." + ], + "notes_gfm": "
    \n
  • This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.
  • \n
\n", "signature": "SleepCorners.immediateSleepModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the immediate sleep option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for immediate sleep to take affect.", + "stripped_doc": "", "type": "Variable" }, { "def": "SleepCorners.immediateSleepShouldLock", "def_gfm": "SleepCorners.immediateSleepShouldLock", "desc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.", - "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nWhen this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", - "doc_gfm": "

Specifies whether the sleep now corner, when the modifiers defined for SleepCorners.immediateSleepModifiers are also held, should trigger the display sleep or lock the users session. Defaults to true.

\n

When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.

\n

Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.

\n", + "doc": "Specifies whether the sleep now corner, when the modifiers defined for [SleepCorners.immediateSleepModifiers](#immediateSleepModifiers) are also held, should trigger the display sleep or lock the users session. Defaults to true.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc_gfm": "

Specifies whether the sleep now corner, when the modifiers defined for SleepCorners.immediateSleepModifiers are also held, should trigger the display sleep or lock the users session. Defaults to true.

\n

Notes:

\n
    \n
  • When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "144", + "lineno": "143", "name": "immediateSleepShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], + "notes_gfm": "
    \n
  • When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "signature": "SleepCorners.immediateSleepShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner for immediate sleep will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -14452,7 +15923,7 @@ "doc_gfm": "

Returns whether or not the sleep corners are currently active

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • true if the sleep corners are currently active or false if they are not
  • \n
\n

Notes:

\n
    \n
  • This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with SleepCorners.sleepNowCorner or SleepCorners.neverSleepCorner.
  • \n
  • If you want to check to see if SleepCorners has been started and that at least one of the corners is assigned to a corner, you should use something like SleepCorners:isActive() and (SleepCorners.sleepNowCorner ~= \"*\" or SleepCorners.neverSleepCorner ~= \"*\")
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "460", + "lineno": "458", "name": "isActive", "notes": [ " * This method only identifies whether or not the SleepCorners spoon has been started; it does not check whether or not the specified corners have been set to a location of \"*\" with [SleepCorners.sleepNowCorner](#sleepNowCorner) or [SleepCorners.neverSleepCorner](#neverSleepCorner).", @@ -14488,13 +15959,23 @@ "def": "SleepCorners.neverSleepLockModifiers", "def_gfm": "SleepCorners.neverSleepLockModifiers", "desc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.", - "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nThis variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", - "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.

\n

This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:

\n
    \n
  • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
  • \n
  • cmd - Set to true to require that the Command (⌘) key be pressed
  • \n
  • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
  • \n
  • shift - Set to true to require that the Shift (⇧) key be pressed
  • \n
  • ctrl - Set to true to require that the Control (^) key be pressed
  • \n
\n

If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.

\n", + "doc": "A table, default `{ fn = true }`, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.\n\nNotes:\n * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\n * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "doc_gfm": "

A table, default { fn = true }, specifying keyboard modifiers which if held when the mouse pointer enters the never sleep hot corner will disable display sleep and leave it disabled even if the mouse pointer leaves the hot corner. While the never sleep lock is in effect the never sleep visual feedback will remain visible in the appropriate corner of the screen. The never sleep lock may is unlocked when you move the mouse pointer back into the never sleep corner with the modifiers held down a second time or move the mouse pointer into the sleep now corner.

\n

Notes:

\n
    \n
  • This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "153", + "lineno": "152", "name": "neverSleepLockModifiers", + "notes": [ + " * This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:", + " * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.", + " * `cmd` - Set to true to require that the Command (⌘) key be pressed", + " * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed", + " * `shift` - Set to true to require that the Shift (⇧) key be pressed", + " * `ctrl` - Set to true to require that the Control (^) key be pressed", + " * If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered." + ], + "notes_gfm": "
    \n
  • This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:
      \n
    • fn - Set to true to require that the Fn key be pressed. May not be available on all keyboards, especially non-Apple ones.
    • \n
    • cmd - Set to true to require that the Command (⌘) key be pressed
    • \n
    • alt - Set to true to require that the Alt (or Option) (⌥) key be pressed
    • \n
    • shift - Set to true to require that the Shift (⇧) key be pressed
    • \n
    • ctrl - Set to true to require that the Control (^) key be pressed
    • \n
    \n
  • \n
  • If this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.
  • \n
\n", "signature": "SleepCorners.neverSleepLockModifiers", - "stripped_doc": "This variable may be set to nil or an empty table, disabling the never sleep lock option, or a table containing one or more of the following keys:\n * `fn` - Set to true to require that the `Fn` key be pressed. May not be available on all keyboards, especially non-Apple ones.\n * `cmd` - Set to true to require that the Command (⌘) key be pressed\n * `alt` - Set to true to require that the Alt (or Option) (⌥) key be pressed\n * `shift` - Set to true to require that the Shift (⇧) key be pressed\n * `ctrl` - Set to true to require that the Control (^) key be pressed\nIf this table contains multiple keys, then all of the specified modifiers must be pressed for the never sleep lock to be triggered.", + "stripped_doc": "", "type": "Variable" }, { @@ -14518,7 +15999,7 @@ "doc_gfm": "

Temporarily show the SleepCorner feedback images in their current locations as a reminder of their positions on the screen.

\n

Parameters:

\n
    \n
  • duration - an optional number, default 3, specifying the number of seconds the feedback images should be displayed. If you specify false and the feedback images are currently being shown, the timer will be cur short and the images will be removed immediately.
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started).
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "582", + "lineno": "580", "name": "show", "notes": [ " * this method will temporarily show the feedback images even if SleepCorners has been stopped (or has not yet been started)." @@ -14566,13 +16047,18 @@ "def": "SleepCorners.sleepNowShouldLock", "def_gfm": "SleepCorners.sleepNowShouldLock", "desc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.", - "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nWhen this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", - "doc_gfm": "

Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.

\n

When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.

\n

Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.

\n", + "doc": "Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.\n\nNotes:\n * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\n * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "doc_gfm": "

Specifies whether the sleep now corner should trigger the display sleep or lock the users session. Defaults to false.

\n

Notes:

\n
    \n
  • When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "135", + "lineno": "134", "name": "sleepNowShouldLock", + "notes": [ + " * When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.", + " * Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately." + ], + "notes_gfm": "
    \n
  • When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.
  • \n
  • Note that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.
  • \n
\n", "signature": "SleepCorners.sleepNowShouldLock", - "stripped_doc": "When this variable is set to true, triggering the sleep now corner will lock the users session. When this variable is false, the display will be put to sleep instead.\nNote that depending upon the user's settings in the Security & Privacy System Preferences, triggering the display sleep may also lock the user session immediately.", + "stripped_doc": "", "type": "Variable" }, { @@ -14596,7 +16082,7 @@ "doc_gfm": "

Starts monitoring the defined sleep corners to allow triggering or preventing the system display sleep state.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • has no effect if SleepCorners has already been started
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "480", + "lineno": "478", "name": "start", "notes": [ " * has no effect if SleepCorners has already been started" @@ -14622,7 +16108,7 @@ "doc_gfm": "

Stop monitoring the defined sleep corners.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • has no effect if SleepCorners has already been stopped
  • \n
  • if SleepCorners was active, this method will return the display idle sleep setting back to its previous state and reset the never sleep lock if it has been triggered.
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "510", + "lineno": "508", "name": "stop", "notes": [ " * has no effect if SleepCorners has already been stopped", @@ -14649,7 +16135,7 @@ "doc_gfm": "

Toggles or sets whether or not SleepCorners is currently monitoring the defined screen corners for managing the system display's sleep state and displays an alert indicating the new state of the SleepCorners spoon.

\n

Parameters:

\n
    \n
  • state - an optional boolean which specifies specifically whether SleepCorners should be started if it isn't already running (true) or stopped if it currently is running (false)
  • \n
\n

Returns:

\n
    \n
  • the SleepCorners spoon object
  • \n
\n

Notes:

\n
    \n
  • If state is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.
  • \n
  • SleepCorners:toggle(true) is equivalent to SleepCorners:start() with the addition of displaying an alert specifying that SleepCorners is active.
  • \n
  • SleepCorners:toggle(false) is equivalent to SleepCorners:stop() with the addition of displaying an alert specifying that SleepCorners has been deactivated.
  • \n
\n", "examples": [], "file": "Source/SleepCorners.spoon/init.lua", - "lineno": "546", + "lineno": "544", "name": "toggle", "notes": [ " * If `state` is not provided, this method will start SleepCorners if it is currently stopped or stop it if is currently started.", @@ -14769,7 +16255,7 @@ "doc_gfm": "

Declaratively install, load and configure a Spoon

\n

Parameters:

\n
    \n
  • name - the name of the Spoon to install (without the .spoon extension). If the Spoon is already installed, it will be loaded using hs.loadSpoon(). If it is not installed, it will be installed using SpoonInstall:asyncInstallSpoonFromRepo() and then loaded.
  • \n
  • arg - if provided, can be used to specify the configuration of the Spoon. The following keys are recognized (all are optional):
      \n
    • repo - repository from where the Spoon should be installed if not present in the system, as defined in SpoonInstall.repos. Defaults to \"default\".
    • \n
    • config - a table containing variables to be stored in the Spoon object to configure it. For example, config = { answer = 42 } will result in spoon.<LoadedSpoon>.answer being set to 42.
    • \n
    • hotkeys - a table containing hotkey bindings. If provided, will be passed as-is to the Spoon's bindHotkeys() method. The special string \"default\" can be given to use the Spoons defaultHotkeys variable, if it exists.
    • \n
    • fn - a function which will be called with the freshly-loaded Spoon object as its first argument.
    • \n
    • loglevel - if the Spoon has a variable called logger, its setLogLevel() method will be called with this value.
    • \n
    • start - if true, call the Spoon's start() method after configuring everything else.
    • \n
    • disable - if true, do nothing. Easier than commenting it out when you want to temporarily disable a spoon.
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "388", + "lineno": "387", "name": "andUse", "notes": [], "notes_gfm": "", @@ -14794,7 +16280,7 @@ "doc_gfm": "

Asynchronously install a Spoon from a registered repository

\n

Parameters:

\n
    \n
  • name - Name of the Spoon to install.
  • \n
  • repo - Name of the repository to use. Defaults to \"default\"
  • \n
  • callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:
      \n
    • urlparts - Result of calling hs.http.urlParts on the URL of the Spoon zip file
    • \n
    • success - boolean indicating whether the installation was successful
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the installation was correctly initiated (i.e. the repo and spoon name were correct), false otherwise.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "349", + "lineno": "348", "name": "asyncInstallSpoonFromRepo", "notes": [], "notes_gfm": "", @@ -14820,7 +16306,7 @@ "doc_gfm": "

Asynchronously download a Spoon zip file and install it.

\n

Parameters:

\n
    \n
  • url - URL of the zip file to install.
  • \n
  • callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:
      \n
    • urlparts - Result of calling hs.http.urlParts on the URL of the Spoon zip file
    • \n
    • success - boolean indicating whether the installation was successful
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the installation was correctly initiated (i.e. the URL is valid), false otherwise
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "286", + "lineno": "285", "name": "asyncInstallSpoonFromZipURL", "notes": [], "notes_gfm": "", @@ -14845,7 +16331,7 @@ "doc_gfm": "

Asynchronously fetch the information about the contents of all Spoon repositories registered in SpoonInstall.repos

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "160", + "lineno": "159", "name": "asyncUpdateAllRepos", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -14871,7 +16357,7 @@ "doc_gfm": "

Asynchronously fetch the information about the contents of a Spoon repository

\n

Parameters:

\n
    \n
  • repo - name of the repository to update. Defaults to \"default\".
  • \n
  • callback - if given, a function to be called after the update finishes (also if it fails). The function will receive the following arguments:
      \n
    • repo - name of the repository
    • \n
    • success - boolean indicating whether the update succeeded
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the update was correctly initiated (i.e. the repo name is valid), nil otherwise
  • \n
\n

Notes:

\n
    \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "112", + "lineno": "111", "name": "asyncUpdateRepo", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -14898,7 +16384,7 @@ "doc_gfm": "

Synchronously install a Spoon from a registered repository

\n

Parameters:

\n
    \n
  • name = Name of the Spoon to install.
  • \n
  • repo - Name of the repository to use. Defaults to \"default\"
  • \n
\n

Returns:

\n
    \n
  • true if the installation was successful, nil otherwise.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "370", + "lineno": "369", "name": "installSpoonFromRepo", "notes": [], "notes_gfm": "", @@ -14923,7 +16409,7 @@ "doc_gfm": "

Synchronously download a Spoon zip file and install it.

\n

Parameters:

\n
    \n
  • url - URL of the zip file to install.
  • \n
\n

Returns:

\n
    \n
  • true if the installation was successful, nil otherwise
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "310", + "lineno": "309", "name": "installSpoonFromZipURL", "notes": [], "notes_gfm": "", @@ -14947,7 +16433,7 @@ "doc_gfm": "

Return a sorted list of registered Spoon repositories

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Table containing a list of strings with the repository identifiers
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "197", + "lineno": "196", "name": "repolist", "notes": [], "notes_gfm": "", @@ -14971,7 +16457,7 @@ "doc_gfm": "

Search repositories for a pattern

\n

Parameters:

\n
    \n
  • pat - Lua pattern that will be matched against the name and description of each spoon in the registered repositories. All text is converted to lowercase before searching it, so you can use all-lowercase in your pattern.
  • \n
\n

Returns:

\n
    \n
  • Table containing a list of matching entries. Each entry is a table with the following keys:
      \n
    • name - Spoon name
    • \n
    • desc - description of the spoon
    • \n
    • repo - identifier in the repository where the match was found
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "214", + "lineno": "213", "name": "search", "notes": [], "notes_gfm": "", @@ -14998,7 +16484,7 @@ "doc_gfm": "

Synchronously fetch the information about the contents of all Spoon repositories registered in SpoonInstall.repos

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • This is a synchronous call, which means Hammerspoon will be blocked until it finishes.
  • \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "178", + "lineno": "177", "name": "updateAllRepos", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.", @@ -15025,7 +16511,7 @@ "doc_gfm": "

Synchronously fetch the information about the contents of a Spoon repository

\n

Parameters:

\n
    \n
  • repo - name of the repository to update. Defaults to \"default\".
  • \n
\n

Returns:

\n
    \n
  • true if the update was successful, nil otherwise
  • \n
\n

Notes:

\n
    \n
  • This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use SpoonInstall.asyncUpdateRepo() instead.
  • \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "137", + "lineno": "136", "name": "updateRepo", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.", @@ -15062,27 +16548,48 @@ { "def": "SpoonInstall.repos", "def_gfm": "SpoonInstall.repos", - "desc": "Table containing the list of available Spoon repositories. The key", - "doc": "Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", - "doc_gfm": "

Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:

\n
    \n
  • desc - Human-readable description for the repository
  • \n
  • branch - Active git branch for the Spoon files
  • \n
  • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
  • \n
\n

Default value:

\n\n
{\n   default = {\n      url = \"https://github.com/Hammerspoon/Spoons\",\n      desc = \"Main Hammerspoon Spoon repository\",\n      branch = \"master\",\n   }\n}
\n", + "desc": "Table containing the list of available Spoon repositories.", + "doc": "Table containing the list of available Spoon repositories.\n\nNotes:\n * The key of each entry is an identifier for the repository, and its value is a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n * Default value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "doc_gfm": "

Table containing the list of available Spoon repositories.

\n

Notes:

\n
    \n
  • The key of each entry is an identifier for the repository, and its value is a table with the following entries:
      \n
    • desc - Human-readable description for the repository
    • \n
    • branch - Active git branch for the Spoon files
    • \n
    • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
    • \n
    \n
  • \n
  • Default value:\n
    {\ndefault = {\n   url = \"https://github.com/Hammerspoon/Spoons\",\n   desc = \"Main Hammerspoon Spoon repository\",\n   branch = \"master\",\n}\n}
    \n
  • \n
\n", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "22", "name": "repos", + "notes": [ + " * The key of each entry is an identifier for the repository, and its value is a table with the following entries:", + " * desc - Human-readable description for the repository", + " * branch - Active git branch for the Spoon files", + " * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.", + " * Default value:", + "```", + "{", + " default = {", + " url = \"https://github.com/Hammerspoon/Spoons\",", + " desc = \"Main Hammerspoon Spoon repository\",", + " branch = \"master\",", + " }", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The key of each entry is an identifier for the repository, and its value is a table with the following entries:
      \n
    • desc - Human-readable description for the repository
    • \n
    • branch - Active git branch for the Spoon files
    • \n
    • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
    • \n
    \n
  • \n
  • Default value:\n
    {\ndefault = {\n   url = \"https://github.com/Hammerspoon/Spoons\",\n   desc = \"Main Hammerspoon Spoon repository\",\n   branch = \"master\",\n}\n}
    \n
  • \n
\n", "signature": "SpoonInstall.repos", - "stripped_doc": "of each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { "def": "SpoonInstall.use_syncinstall", "def_gfm": "SpoonInstall.use_syncinstall", "desc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.", - "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nKeep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", - "doc_gfm": "

If true, andUse() will update repos and install packages synchronously. Defaults to false.

\n

Keep in mind that if you set this to true, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.

\n", + "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nNotes:\n * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.", + "doc_gfm": "

If true, andUse() will update repos and install packages synchronously. Defaults to false.

\n

Notes:

\n
    \n
  • Keep in mind that if you set this to true, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.
  • \n
\n", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "49", "name": "use_syncinstall", + "notes": [ + " * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate." + ], + "notes_gfm": "
    \n
  • Keep in mind that if you set this to true, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.
  • \n
\n", "signature": "SpoonInstall.use_syncinstall", - "stripped_doc": "Keep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "stripped_doc": "", "type": "Variable" } ], @@ -15099,7 +16606,7 @@ "doc_gfm": "

Declaratively install, load and configure a Spoon

\n

Parameters:

\n
    \n
  • name - the name of the Spoon to install (without the .spoon extension). If the Spoon is already installed, it will be loaded using hs.loadSpoon(). If it is not installed, it will be installed using SpoonInstall:asyncInstallSpoonFromRepo() and then loaded.
  • \n
  • arg - if provided, can be used to specify the configuration of the Spoon. The following keys are recognized (all are optional):
      \n
    • repo - repository from where the Spoon should be installed if not present in the system, as defined in SpoonInstall.repos. Defaults to \"default\".
    • \n
    • config - a table containing variables to be stored in the Spoon object to configure it. For example, config = { answer = 42 } will result in spoon.<LoadedSpoon>.answer being set to 42.
    • \n
    • hotkeys - a table containing hotkey bindings. If provided, will be passed as-is to the Spoon's bindHotkeys() method. The special string \"default\" can be given to use the Spoons defaultHotkeys variable, if it exists.
    • \n
    • fn - a function which will be called with the freshly-loaded Spoon object as its first argument.
    • \n
    • loglevel - if the Spoon has a variable called logger, its setLogLevel() method will be called with this value.
    • \n
    • start - if true, call the Spoon's start() method after configuring everything else.
    • \n
    • disable - if true, do nothing. Easier than commenting it out when you want to temporarily disable a spoon.
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "388", + "lineno": "387", "name": "andUse", "notes": [], "notes_gfm": "", @@ -15124,7 +16631,7 @@ "doc_gfm": "

Asynchronously install a Spoon from a registered repository

\n

Parameters:

\n
    \n
  • name - Name of the Spoon to install.
  • \n
  • repo - Name of the repository to use. Defaults to \"default\"
  • \n
  • callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:
      \n
    • urlparts - Result of calling hs.http.urlParts on the URL of the Spoon zip file
    • \n
    • success - boolean indicating whether the installation was successful
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the installation was correctly initiated (i.e. the repo and spoon name were correct), false otherwise.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "349", + "lineno": "348", "name": "asyncInstallSpoonFromRepo", "notes": [], "notes_gfm": "", @@ -15150,7 +16657,7 @@ "doc_gfm": "

Asynchronously download a Spoon zip file and install it.

\n

Parameters:

\n
    \n
  • url - URL of the zip file to install.
  • \n
  • callback - if given, a function to call after the installation finishes (also if it fails). The function receives the following arguments:
      \n
    • urlparts - Result of calling hs.http.urlParts on the URL of the Spoon zip file
    • \n
    • success - boolean indicating whether the installation was successful
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the installation was correctly initiated (i.e. the URL is valid), false otherwise
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "286", + "lineno": "285", "name": "asyncInstallSpoonFromZipURL", "notes": [], "notes_gfm": "", @@ -15175,7 +16682,7 @@ "doc_gfm": "

Asynchronously fetch the information about the contents of all Spoon repositories registered in SpoonInstall.repos

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "160", + "lineno": "159", "name": "asyncUpdateAllRepos", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -15201,7 +16708,7 @@ "doc_gfm": "

Asynchronously fetch the information about the contents of a Spoon repository

\n

Parameters:

\n
    \n
  • repo - name of the repository to update. Defaults to \"default\".
  • \n
  • callback - if given, a function to be called after the update finishes (also if it fails). The function will receive the following arguments:
      \n
    • repo - name of the repository
    • \n
    • success - boolean indicating whether the update succeeded
    • \n
    \n
  • \n
\n

Returns:

\n
    \n
  • true if the update was correctly initiated (i.e. the repo name is valid), nil otherwise
  • \n
\n

Notes:

\n
    \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "112", + "lineno": "111", "name": "asyncUpdateRepo", "notes": [ " * For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions." @@ -15228,7 +16735,7 @@ "doc_gfm": "

Synchronously install a Spoon from a registered repository

\n

Parameters:

\n
    \n
  • name = Name of the Spoon to install.
  • \n
  • repo - Name of the repository to use. Defaults to \"default\"
  • \n
\n

Returns:

\n
    \n
  • true if the installation was successful, nil otherwise.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "370", + "lineno": "369", "name": "installSpoonFromRepo", "notes": [], "notes_gfm": "", @@ -15253,7 +16760,7 @@ "doc_gfm": "

Synchronously download a Spoon zip file and install it.

\n

Parameters:

\n
    \n
  • url - URL of the zip file to install.
  • \n
\n

Returns:

\n
    \n
  • true if the installation was successful, nil otherwise
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "310", + "lineno": "309", "name": "installSpoonFromZipURL", "notes": [], "notes_gfm": "", @@ -15290,7 +16797,7 @@ "doc_gfm": "

Return a sorted list of registered Spoon repositories

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • Table containing a list of strings with the repository identifiers
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "197", + "lineno": "196", "name": "repolist", "notes": [], "notes_gfm": "", @@ -15309,14 +16816,31 @@ { "def": "SpoonInstall.repos", "def_gfm": "SpoonInstall.repos", - "desc": "Table containing the list of available Spoon repositories. The key", - "doc": "Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", - "doc_gfm": "

Table containing the list of available Spoon repositories. The key\nof each entry is an identifier for the repository, and its value\nis a table with the following entries:

\n
    \n
  • desc - Human-readable description for the repository
  • \n
  • branch - Active git branch for the Spoon files
  • \n
  • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
  • \n
\n

Default value:

\n\n
{\n   default = {\n      url = \"https://github.com/Hammerspoon/Spoons\",\n      desc = \"Main Hammerspoon Spoon repository\",\n      branch = \"master\",\n   }\n}
\n", + "desc": "Table containing the list of available Spoon repositories.", + "doc": "Table containing the list of available Spoon repositories.\n\nNotes:\n * The key of each entry is an identifier for the repository, and its value is a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\n * Default value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "doc_gfm": "

Table containing the list of available Spoon repositories.

\n

Notes:

\n
    \n
  • The key of each entry is an identifier for the repository, and its value is a table with the following entries:
      \n
    • desc - Human-readable description for the repository
    • \n
    • branch - Active git branch for the Spoon files
    • \n
    • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
    • \n
    \n
  • \n
  • Default value:\n
    {\ndefault = {\n   url = \"https://github.com/Hammerspoon/Spoons\",\n   desc = \"Main Hammerspoon Spoon repository\",\n   branch = \"master\",\n}\n}
    \n
  • \n
\n", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "22", "name": "repos", + "notes": [ + " * The key of each entry is an identifier for the repository, and its value is a table with the following entries:", + " * desc - Human-readable description for the repository", + " * branch - Active git branch for the Spoon files", + " * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.", + " * Default value:", + "```", + "{", + " default = {", + " url = \"https://github.com/Hammerspoon/Spoons\",", + " desc = \"Main Hammerspoon Spoon repository\",", + " branch = \"master\",", + " }", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The key of each entry is an identifier for the repository, and its value is a table with the following entries:
      \n
    • desc - Human-readable description for the repository
    • \n
    • branch - Active git branch for the Spoon files
    • \n
    • url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under docs/docs.json, and the Spoon zip files need to be stored under Spoons/.
    • \n
    \n
  • \n
  • Default value:\n
    {\ndefault = {\n   url = \"https://github.com/Hammerspoon/Spoons\",\n   desc = \"Main Hammerspoon Spoon repository\",\n   branch = \"master\",\n}\n}
    \n
  • \n
\n", "signature": "SpoonInstall.repos", - "stripped_doc": "of each entry is an identifier for the repository, and its value\nis a table with the following entries:\n * desc - Human-readable description for the repository\n * branch - Active git branch for the Spoon files\n * url - Base URL for the repository. For now the repository is assumed to be hosted in GitHub, and the URL should be the main base URL of the repository. Repository metadata needs to be stored under `docs/docs.json`, and the Spoon zip files need to be stored under `Spoons/`.\nDefault value:\n```\n{\n default = {\n url = \"https://github.com/Hammerspoon/Spoons\",\n desc = \"Main Hammerspoon Spoon repository\",\n branch = \"master\",\n }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -15327,7 +16851,7 @@ "doc_gfm": "

Search repositories for a pattern

\n

Parameters:

\n
    \n
  • pat - Lua pattern that will be matched against the name and description of each spoon in the registered repositories. All text is converted to lowercase before searching it, so you can use all-lowercase in your pattern.
  • \n
\n

Returns:

\n
    \n
  • Table containing a list of matching entries. Each entry is a table with the following keys:
      \n
    • name - Spoon name
    • \n
    • desc - description of the spoon
    • \n
    • repo - identifier in the repository where the match was found
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "214", + "lineno": "213", "name": "search", "notes": [], "notes_gfm": "", @@ -15354,7 +16878,7 @@ "doc_gfm": "

Synchronously fetch the information about the contents of all Spoon repositories registered in SpoonInstall.repos

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • This is a synchronous call, which means Hammerspoon will be blocked until it finishes.
  • \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "178", + "lineno": "177", "name": "updateAllRepos", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes.", @@ -15381,7 +16905,7 @@ "doc_gfm": "

Synchronously fetch the information about the contents of a Spoon repository

\n

Parameters:

\n
    \n
  • repo - name of the repository to update. Defaults to \"default\".
  • \n
\n

Returns:

\n
    \n
  • true if the update was successful, nil otherwise
  • \n
\n

Notes:

\n
    \n
  • This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use SpoonInstall.asyncUpdateRepo() instead.
  • \n
  • For now, the repository data is not persisted, so you need to update it after every restart if you want to use any of the install functions.
  • \n
\n", "examples": [], "file": "Source/SpoonInstall.spoon/init.lua", - "lineno": "137", + "lineno": "136", "name": "updateRepo", "notes": [ " * This is a synchronous call, which means Hammerspoon will be blocked until it finishes. For use in your configuration files, it's advisable to use `SpoonInstall.asyncUpdateRepo()` instead.", @@ -15404,13 +16928,17 @@ "def": "SpoonInstall.use_syncinstall", "def_gfm": "SpoonInstall.use_syncinstall", "desc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.", - "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nKeep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", - "doc_gfm": "

If true, andUse() will update repos and install packages synchronously. Defaults to false.

\n

Keep in mind that if you set this to true, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.

\n", + "doc": "If `true`, `andUse()` will update repos and install packages synchronously. Defaults to `false`.\n\nNotes:\n * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.", + "doc_gfm": "

If true, andUse() will update repos and install packages synchronously. Defaults to false.

\n

Notes:

\n
    \n
  • Keep in mind that if you set this to true, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.
  • \n
\n", "file": "Source/SpoonInstall.spoon/init.lua", "lineno": "49", "name": "use_syncinstall", + "notes": [ + " * Keep in mind that if you set this to `true`, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate." + ], + "notes_gfm": "
    \n
  • Keep in mind that if you set this to true, Hammerspoon will block until all missing Spoons are installed, but the notifications will happen at a more \"human readable\" rate.
  • \n
\n", "signature": "SpoonInstall.use_syncinstall", - "stripped_doc": "Keep in mind that if you set this to `true`, Hammerspoon will\nblock until all missing Spoons are installed, but the notifications\nwill happen at a more \"human readable\" rate.", + "stripped_doc": "", "type": "Variable" } ], @@ -15435,7 +16963,7 @@ "doc_gfm": "

Binds hotkeys for TextClipboardHistory

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • show_clipboard - Display the clipboard history chooser
    • \n
    • toggle_clipboard - Show/hide the clipboard history chooser
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "331", + "lineno": "337", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -15457,7 +16985,7 @@ "doc_gfm": "

If the pasteboard has changed, we add the current item to our history and update the counter

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "252", + "lineno": "258", "name": "checkAndStorePasteboard", "notes": [], "notes_gfm": "", @@ -15479,7 +17007,7 @@ "doc_gfm": "

Clears the clipboard and history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "clearAll", "notes": [], "notes_gfm": "", @@ -15501,7 +17029,7 @@ "doc_gfm": "

Clears the last added to the history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "156", + "lineno": "162", "name": "clearLastItem", "notes": [], "notes_gfm": "", @@ -15523,7 +17051,7 @@ "doc_gfm": "

Add the given string to the history

\n

Parameters:

\n
    \n
  • item - string to add to the clipboard history
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "184", + "lineno": "190", "name": "pasteboardToClipboard", "notes": [], "notes_gfm": "", @@ -15547,7 +17075,7 @@ "doc_gfm": "

Verify whether the pasteboard contents matches one of the values in TextClipboardHistory.ignoredIdentifiers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "226", + "lineno": "232", "name": "shouldBeStored", "notes": [], "notes_gfm": "", @@ -15569,7 +17097,7 @@ "doc_gfm": "

Display the current clipboard list in a chooser

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "301", + "lineno": "307", "name": "showClipboard", "notes": [], "notes_gfm": "", @@ -15591,7 +17119,7 @@ "doc_gfm": "

Start the clipboard history collector

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "279", + "lineno": "285", "name": "start", "notes": [], "notes_gfm": "", @@ -15613,7 +17141,7 @@ "doc_gfm": "

Show/hide the clipboard list, depending on its current state

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "317", + "lineno": "323", "name": "toggleClipboard", "notes": [], "notes_gfm": "", @@ -15635,7 +17163,7 @@ "doc_gfm": "

Toggle the value of TextClipboardHistory.paste_on_select

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "108", + "lineno": "114", "name": "togglePasteOnSelect", "notes": [], "notes_gfm": "", @@ -15658,7 +17186,7 @@ "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc_gfm": "

Whether to remove duplicates from the list, keeping only the latest one. Defaults to true.

\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "71", + "lineno": "74", "name": "deduplicate", "signature": "TextClipboardHistory.deduplicate", "stripped_doc": "", @@ -15706,14 +17234,29 @@ { "def": "TextClipboardHistory.ignoredIdentifiers", "def_gfm": "TextClipboardHistory.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", - "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):

\n\n
 {\n    [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n    [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n    [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n    [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n    [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n    [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n    [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n }
\n", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.

\n

Notes:

\n
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "file": "Source/TextClipboardHistory.spoon/init.lua", "lineno": "47", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "signature": "TextClipboardHistory.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -15732,12 +17275,16 @@ { "def": "TextClipboardHistory.menubar_title", "def_gfm": "TextClipboardHistory.menubar_title", - "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc_gfm": "

String to show in the menubar if TextClipboardHistory.show_in_menubar is true. Defaults to \"\\u{1f4ce}\", which is the Unicode paperclip character

\n", + "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.", + "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.\n\nNotes:\n * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", + "doc_gfm": "

String to show in the menubar if TextClipboardHistory.show_in_menubar is true.

\n

Notes:

\n\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "81", + "lineno": "84", "name": "menubar_title", + "notes": [ + " * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)" + ], + "notes_gfm": "\n", "signature": "TextClipboardHistory.menubar_title", "stripped_doc": "", "type": "Variable" @@ -15762,7 +17309,7 @@ "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc_gfm": "

Whether to show a menubar item to open the clipboard history. Defaults to true

\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "76", + "lineno": "79", "name": "show_in_menubar", "signature": "TextClipboardHistory.show_in_menubar", "stripped_doc": "", @@ -15782,7 +17329,7 @@ "doc_gfm": "

Binds hotkeys for TextClipboardHistory

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • show_clipboard - Display the clipboard history chooser
    • \n
    • toggle_clipboard - Show/hide the clipboard history chooser
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "331", + "lineno": "337", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -15804,7 +17351,7 @@ "doc_gfm": "

If the pasteboard has changed, we add the current item to our history and update the counter

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "252", + "lineno": "258", "name": "checkAndStorePasteboard", "notes": [], "notes_gfm": "", @@ -15826,7 +17373,7 @@ "doc_gfm": "

Clears the clipboard and history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "143", + "lineno": "149", "name": "clearAll", "notes": [], "notes_gfm": "", @@ -15848,7 +17395,7 @@ "doc_gfm": "

Clears the last added to the history

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "156", + "lineno": "162", "name": "clearLastItem", "notes": [], "notes_gfm": "", @@ -15869,7 +17416,7 @@ "doc": "Whether to remove duplicates from the list, keeping only the latest one. Defaults to `true`.", "doc_gfm": "

Whether to remove duplicates from the list, keeping only the latest one. Defaults to true.

\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "71", + "lineno": "74", "name": "deduplicate", "signature": "TextClipboardHistory.deduplicate", "stripped_doc": "", @@ -15917,14 +17464,29 @@ { "def": "TextClipboardHistory.ignoredIdentifiers", "def_gfm": "TextClipboardHistory.ignoredIdentifiers", - "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):", - "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", - "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):

\n\n
 {\n    [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n    [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n    [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n    [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n    [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n    [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n    [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n }
\n", + "desc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.", + "doc": "Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.\n\nNotes:\n * Default value (don't modify unless you know what you are doing):\n```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "doc_gfm": "

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua.

\n

Notes:

\n
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "file": "Source/TextClipboardHistory.spoon/init.lua", "lineno": "47", "name": "ignoredIdentifiers", + "notes": [ + " * Default value (don't modify unless you know what you are doing):", + "```", + " {", + " [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler", + " [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me", + " [\"Pasteboard generator type\"] = true, -- Transient : Typinator", + " [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password", + " [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient", + " [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed", + " [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic", + " }", + "```" + ], + "notes_gfm": "
    \n
  • Default value (don't modify unless you know what you are doing):\n
    {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"]                 = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"]              = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"]              = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"]         = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"]         = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"]     = true, -- Universal, Automatic\n}
    \n
  • \n
\n", "signature": "TextClipboardHistory.ignoredIdentifiers", - "stripped_doc": "```\n {\n [\"de.petermaurer.TransientPasteboardType\"] = true, -- Transient : Textpander, TextExpander, Butler\n [\"com.typeit4me.clipping\"] = true, -- Transient : TypeIt4Me\n [\"Pasteboard generator type\"] = true, -- Transient : Typinator\n [\"com.agilebits.onepassword\"] = true, -- Confidential : 1Password\n [\"org.nspasteboard.TransientType\"] = true, -- Universal, Transient\n [\"org.nspasteboard.ConcealedType\"] = true, -- Universal, Concealed\n [\"org.nspasteboard.AutoGeneratedType\"] = true, -- Universal, Automatic\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -15943,12 +17505,16 @@ { "def": "TextClipboardHistory.menubar_title", "def_gfm": "TextClipboardHistory.menubar_title", - "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`. Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", - "doc_gfm": "

String to show in the menubar if TextClipboardHistory.show_in_menubar is true. Defaults to \"\\u{1f4ce}\", which is the Unicode paperclip character

\n", + "desc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.", + "doc": "String to show in the menubar if `TextClipboardHistory.show_in_menubar` is `true`.\n\nNotes:\n * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)", + "doc_gfm": "

String to show in the menubar if TextClipboardHistory.show_in_menubar is true.

\n

Notes:

\n\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "81", + "lineno": "84", "name": "menubar_title", + "notes": [ + " * Defaults to `\"\\u{1f4ce}\"`, which is the [Unicode paperclip character](https://codepoints.net/U+1F4CE)" + ], + "notes_gfm": "\n", "signature": "TextClipboardHistory.menubar_title", "stripped_doc": "", "type": "Variable" @@ -15974,7 +17540,7 @@ "doc_gfm": "

Add the given string to the history

\n

Parameters:

\n
    \n
  • item - string to add to the clipboard history
  • \n
\n

Returns:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "184", + "lineno": "190", "name": "pasteboardToClipboard", "notes": [], "notes_gfm": "", @@ -15998,7 +17564,7 @@ "doc_gfm": "

Verify whether the pasteboard contents matches one of the values in TextClipboardHistory.ignoredIdentifiers

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "226", + "lineno": "232", "name": "shouldBeStored", "notes": [], "notes_gfm": "", @@ -16019,7 +17585,7 @@ "doc": "Whether to show a menubar item to open the clipboard history. Defaults to `true`", "doc_gfm": "

Whether to show a menubar item to open the clipboard history. Defaults to true

\n", "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "76", + "lineno": "79", "name": "show_in_menubar", "signature": "TextClipboardHistory.show_in_menubar", "stripped_doc": "", @@ -16033,7 +17599,7 @@ "doc_gfm": "

Display the current clipboard list in a chooser

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "301", + "lineno": "307", "name": "showClipboard", "notes": [], "notes_gfm": "", @@ -16055,7 +17621,7 @@ "doc_gfm": "

Start the clipboard history collector

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "279", + "lineno": "285", "name": "start", "notes": [], "notes_gfm": "", @@ -16077,7 +17643,7 @@ "doc_gfm": "

Show/hide the clipboard list, depending on its current state

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "317", + "lineno": "323", "name": "toggleClipboard", "notes": [], "notes_gfm": "", @@ -16099,7 +17665,7 @@ "doc_gfm": "

Toggle the value of TextClipboardHistory.paste_on_select

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TextClipboardHistory.spoon/init.lua", - "lineno": "108", + "lineno": "114", "name": "togglePasteOnSelect", "notes": [], "notes_gfm": "", @@ -16154,7 +17720,7 @@ "doc_gfm": "

Update the indicator and menu according to the current backup status.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "97", + "lineno": "95", "name": "refresh", "notes": [], "notes_gfm": "", @@ -16176,7 +17742,7 @@ "doc_gfm": "

Starts the indicator

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TimeMachineProgress object
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "205", + "lineno": "203", "name": "start", "notes": [], "notes_gfm": "", @@ -16200,7 +17766,7 @@ "doc_gfm": "

Stops the indicator

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TimeMachineProgress object
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "223", + "lineno": "221", "name": "stop", "notes": [], "notes_gfm": "", @@ -16221,14 +17787,16 @@ { "def": "TimeMachineProgress.backupIcon", "def_gfm": "TimeMachineProgress.backupIcon", - "desc": "", - "doc": "\nImage to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", - "doc_gfm": "

Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in /System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf. If this fails,\nit defaults to the Time Machine application icon, obtained as\nhs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18}).

\n", + "desc": "Image to use for the menubar icon.", + "doc": "Image to use for the menubar icon.\n\nNotes:", + "doc_gfm": "

Image to use for the menubar icon.

\n

Notes:

\n", "file": "Source/TimeMachineProgress.spoon/init.lua", "lineno": "31", "name": "backupIcon", + "notes": [], + "notes_gfm": "", "signature": "TimeMachineProgress.backupIcon", - "stripped_doc": "Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "stripped_doc": "", "type": "Variable" }, { @@ -16266,14 +17834,16 @@ { "def": "TimeMachineProgress.backupIcon", "def_gfm": "TimeMachineProgress.backupIcon", - "desc": "", - "doc": "\nImage to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", - "doc_gfm": "

Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in /System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf. If this fails,\nit defaults to the Time Machine application icon, obtained as\nhs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18}).

\n", + "desc": "Image to use for the menubar icon.", + "doc": "Image to use for the menubar icon.\n\nNotes:", + "doc_gfm": "

Image to use for the menubar icon.

\n

Notes:

\n", "file": "Source/TimeMachineProgress.spoon/init.lua", "lineno": "31", "name": "backupIcon", + "notes": [], + "notes_gfm": "", "signature": "TimeMachineProgress.backupIcon", - "stripped_doc": "Image to use for the menubar icon. Defaults to the default macOS Time\nMachine menubar icon stored in `/System/Library/CoreServices/Menu\nExtras/TimeMachine.menu/Contents/Resources/TMBackingUp.pdf`. If this fails,\nit defaults to the Time Machine application icon, obtained as\n`hs.image.imageFromAppBundle('com.apple.backup.launcher'):setSize({w=18,h=18})`.", + "stripped_doc": "", "type": "Variable" }, { @@ -16297,7 +17867,7 @@ "doc_gfm": "

Update the indicator and menu according to the current backup status.

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "97", + "lineno": "95", "name": "refresh", "notes": [], "notes_gfm": "", @@ -16332,7 +17902,7 @@ "doc_gfm": "

Starts the indicator

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TimeMachineProgress object
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "205", + "lineno": "203", "name": "start", "notes": [], "notes_gfm": "", @@ -16356,7 +17926,7 @@ "doc_gfm": "

Stops the indicator

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TimeMachineProgress object
  • \n
\n", "examples": [], "file": "Source/TimeMachineProgress.spoon/init.lua", - "lineno": "223", + "lineno": "221", "name": "stop", "notes": [], "notes_gfm": "", @@ -16394,7 +17964,7 @@ "doc_gfm": "

Binds hotkeys for ToggleScreenRotation.

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details to rotate screens. Instead of fixed \"key names\", each key must be the name of a screen to rotate, or a Lua pattern - in this case the first screen to match the pattern will be rotated. The value is a table containing the hotkey modifier/key details as usual. You can use the special key first (or the Lua pattern [\".*\"]) to match the first external screen, which should be sufficient unless you have more than one external screen. Example (bind Ctrl-Cmd-Alt-F15 to rotate the first external screen):\n
      [\".*\"] = { {\"ctrl\", \"cmd\", \"alt\"}, \"f15\" }
    \n
  • \n
\n", "examples": [], "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "95", + "lineno": "97", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -16417,7 +17987,7 @@ "doc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "doc_gfm": "

Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to { 0, 90 } and should only be changed if you really know what you are doing.

\n", "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "33", + "lineno": "35", "name": "rotating_angles", "signature": "ToggleScreenRotation.rotating_angles", "stripped_doc": "", @@ -16427,13 +17997,17 @@ "def": "ToggleScreenRotation.screens_to_skip", "def_gfm": "ToggleScreenRotation.screens_to_skip", "desc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.", - "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", - "doc_gfm": "

Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.

\n", + "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\n\nNotes:\n * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "doc_gfm": "

Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.

\n

Notes:

\n
    \n
  • Defaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.
  • \n
\n", "file": "Source/ToggleScreenRotation.spoon/init.lua", "lineno": "27", "name": "screens_to_skip", + "notes": [ + " * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs." + ], + "notes_gfm": "
    \n
  • Defaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.
  • \n
\n", "signature": "ToggleScreenRotation.screens_to_skip", - "stripped_doc": "Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "stripped_doc": "", "type": "Variable" } ], @@ -16450,7 +18024,7 @@ "doc_gfm": "

Binds hotkeys for ToggleScreenRotation.

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details to rotate screens. Instead of fixed \"key names\", each key must be the name of a screen to rotate, or a Lua pattern - in this case the first screen to match the pattern will be rotated. The value is a table containing the hotkey modifier/key details as usual. You can use the special key first (or the Lua pattern [\".*\"]) to match the first external screen, which should be sufficient unless you have more than one external screen. Example (bind Ctrl-Cmd-Alt-F15 to rotate the first external screen):\n
      [\".*\"] = { {\"ctrl\", \"cmd\", \"alt\"}, \"f15\" }
    \n
  • \n
\n", "examples": [], "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "95", + "lineno": "97", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -16471,7 +18045,7 @@ "doc": "Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to `{ 0, 90 }` and should only be changed if you really know what you are doing.", "doc_gfm": "

Two-element table containing the rotation angles for \"normal\" and \"rotated\". Defaults to { 0, 90 } and should only be changed if you really know what you are doing.

\n", "file": "Source/ToggleScreenRotation.spoon/init.lua", - "lineno": "33", + "lineno": "35", "name": "rotating_angles", "signature": "ToggleScreenRotation.rotating_angles", "stripped_doc": "", @@ -16481,13 +18055,17 @@ "def": "ToggleScreenRotation.screens_to_skip", "def_gfm": "ToggleScreenRotation.screens_to_skip", "desc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.", - "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", - "doc_gfm": "

Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\nDefaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.

\n", + "doc": "Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.\n\nNotes:\n * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "doc_gfm": "

Lua patterns for screens that shouldn't be rotated, even if they match one of the patterns.

\n

Notes:

\n
    \n
  • Defaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.
  • \n
\n", "file": "Source/ToggleScreenRotation.spoon/init.lua", "lineno": "27", "name": "screens_to_skip", + "notes": [ + " * Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs." + ], + "notes_gfm": "
    \n
  • Defaults to { \"Color LCD\", \"iMac\" }, which excludes the built-in display on laptops and iMacs.
  • \n
\n", "signature": "ToggleScreenRotation.screens_to_skip", - "stripped_doc": "Defaults to `{ \"Color LCD\", \"iMac\" }`, which excludes the built-in display on laptops and iMacs.", + "stripped_doc": "", "type": "Variable" } ], @@ -17098,7 +18676,7 @@ "doc_gfm": "

Binds hotkeys for TurboBoost

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • hello - Say Hello
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "200", + "lineno": "197", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -17116,11 +18694,11 @@ "def": "TurboBoost:setState(state, notify)", "def_gfm": "TurboBoost:setState(state, notify)", "desc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).", - "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled\n (load kernel extension), true if it should be enabled (unload\n kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification\n should be produced. If not given, the value of\n TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", - "doc_gfm": "

Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).

\n

Parameters:

\n
    \n
  • state - A boolean, false if Turbo Boost should be disabled\n(load kernel extension), true if it should be enabled (unload\nkernel extension if loaded).
  • \n
  • notify - Optional boolean indicating whether a notification\nshould be produced. If not given, the value of\nTurboBoost.notify is used.
  • \n
\n

Returns:

\n
    \n
  • Boolean indicating new state
  • \n
\n", + "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", + "doc_gfm": "

Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).

\n

Parameters:

\n
    \n
  • state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).
  • \n
  • notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.
  • \n
\n

Returns:

\n
    \n
  • Boolean indicating new state
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "128", + "lineno": "129", "name": "setState", "notes": [], "notes_gfm": "", @@ -17145,7 +18723,7 @@ "doc_gfm": "

Starts TurboBoost

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TurboBoost object
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "212", + "lineno": "209", "name": "start", "notes": [], "notes_gfm": "", @@ -17169,7 +18747,7 @@ "doc_gfm": "

Check whether Turbo Boost is enabled

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • true if TurboBoost is enabled (kernel ext not loaded), false otherwise.
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "171", + "lineno": "168", "name": "status", "notes": [], "notes_gfm": "", @@ -17193,7 +18771,7 @@ "doc_gfm": "

Stops TurboBoost

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TurboBoost object
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "233", + "lineno": "230", "name": "stop", "notes": [], "notes_gfm": "", @@ -17217,7 +18795,7 @@ "doc_gfm": "

Toggle TurboBoost status

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • New TurboBoost status, after the toggle
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "186", + "lineno": "183", "name": "toggle", "notes": [], "notes_gfm": "", @@ -17238,14 +18816,18 @@ { "def": "TurboBoost.check_kext_cmd", "def_gfm": "TurboBoost.check_kext_cmd", - "desc": "Command to execute to check whether the DisableTurboBoost kernel", - "doc": "Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", - "doc_gfm": "

Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"

\n", + "desc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.", + "doc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.\n\nNotes:\n * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "doc_gfm": "

Command to execute to check whether the DisableTurboBoost kernel extension is loaded.

\n

Notes:

\n
    \n
  • Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "102", + "lineno": "100", "name": "check_kext_cmd", + "notes": [ + " * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`" + ], + "notes_gfm": "
    \n
  • Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"
  • \n
\n", "signature": "TurboBoost.check_kext_cmd", - "stripped_doc": "extension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17264,27 +18846,35 @@ { "def": "TurboBoost.disabled_icon_path", "def_gfm": "TurboBoost.disabled_icon_path", - "desc": "Where to find the icon to use for the \"Disabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", - "doc_gfm": "

Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"

\n", + "desc": "Where to find the icon to use for the \"Disabled\" icon.", + "doc": "Where to find the icon to use for the \"Disabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "doc_gfm": "

Where to find the icon to use for the \"Disabled\" icon.

\n

Notes:

\n
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "121", "name": "disabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`" + ], + "notes_gfm": "
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"
  • \n
\n", "signature": "TurboBoost.disabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { "def": "TurboBoost.enabled_icon_path", "def_gfm": "TurboBoost.enabled_icon_path", - "desc": "Where to find the icon to use for the \"Enabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", - "doc_gfm": "

Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"

\n", + "desc": "Where to find the icon to use for the \"Enabled\" icon.", + "doc": "Where to find the icon to use for the \"Enabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "doc_gfm": "

Where to find the icon to use for the \"Enabled\" icon.

\n

Notes:

\n
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "114", + "lineno": "113", "name": "enabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`" + ], + "notes_gfm": "
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"
  • \n
\n", "signature": "TurboBoost.enabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17316,14 +18906,19 @@ { "def": "TurboBoost.load_kext_cmd", "def_gfm": "TurboBoost.load_kext_cmd", - "desc": "Command to execute to load the DisableTurboBoost kernel", - "doc": "Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", - "doc_gfm": "

Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"

\n", + "desc": "Command to execute to load the DisableTurboBoost kernel extension.", + "doc": "Command to execute to load the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "doc_gfm": "

Command to execute to load the DisableTurboBoost kernel extension.

\n

Notes:

\n
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "82", "name": "load_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`" + ], + "notes_gfm": "
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"
  • \n
\n", "signature": "TurboBoost.load_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17342,14 +18937,14 @@ { "def": "TurboBoost.notify", "def_gfm": "TurboBoost.notify", - "desc": "Boolean indicating whether notifications should be generated when", - "doc": "Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: `true`", - "doc_gfm": "

Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: true

\n", + "desc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc_gfm": "

Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: true

\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "108", "name": "notify", "signature": "TurboBoost.notify", - "stripped_doc": "Turbo Boost is enabled/disabled. Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { @@ -17368,14 +18963,19 @@ { "def": "TurboBoost.unload_kext_cmd", "def_gfm": "TurboBoost.unload_kext_cmd", - "desc": "Command to execute to unload the DisableTurboBoost kernel", - "doc": "Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", - "doc_gfm": "

Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"

\n", + "desc": "Command to execute to unload the DisableTurboBoost kernel extension.", + "doc": "Command to execute to unload the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "doc_gfm": "

Command to execute to unload the DisableTurboBoost kernel extension.

\n

Notes:

\n
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "92", + "lineno": "91", "name": "unload_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`" + ], + "notes_gfm": "
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"
  • \n
\n", "signature": "TurboBoost.unload_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "stripped_doc": "", "type": "Variable" } ], @@ -17392,7 +18992,7 @@ "doc_gfm": "

Binds hotkeys for TurboBoost

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • hello - Say Hello
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "200", + "lineno": "197", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -17409,14 +19009,18 @@ { "def": "TurboBoost.check_kext_cmd", "def_gfm": "TurboBoost.check_kext_cmd", - "desc": "Command to execute to check whether the DisableTurboBoost kernel", - "doc": "Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", - "doc_gfm": "

Command to execute to check whether the DisableTurboBoost kernel\nextension is loaded. Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"

\n", + "desc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.", + "doc": "Command to execute to check whether the DisableTurboBoost kernel extension is loaded.\n\nNotes:\n * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "doc_gfm": "

Command to execute to check whether the DisableTurboBoost kernel extension is loaded.

\n

Notes:

\n
    \n
  • Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "102", + "lineno": "100", "name": "check_kext_cmd", + "notes": [ + " * Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`" + ], + "notes_gfm": "
    \n
  • Default value: \"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"
  • \n
\n", "signature": "TurboBoost.check_kext_cmd", - "stripped_doc": "extension is loaded. Default value: `\"/usr/sbin/kextstat | grep com.rugarciap.DisableTurboBoost\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17435,27 +19039,35 @@ { "def": "TurboBoost.disabled_icon_path", "def_gfm": "TurboBoost.disabled_icon_path", - "desc": "Where to find the icon to use for the \"Disabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", - "doc_gfm": "

Where to find the icon to use for the \"Disabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"

\n", + "desc": "Where to find the icon to use for the \"Disabled\" icon.", + "doc": "Where to find the icon to use for the \"Disabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "doc_gfm": "

Where to find the icon to use for the \"Disabled\" icon.

\n

Notes:

\n
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "121", "name": "disabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`" + ], + "notes_gfm": "
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"
  • \n
\n", "signature": "TurboBoost.disabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon_off.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { "def": "TurboBoost.enabled_icon_path", "def_gfm": "TurboBoost.enabled_icon_path", - "desc": "Where to find the icon to use for the \"Enabled\" icon. Default value", - "doc": "Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", - "doc_gfm": "

Where to find the icon to use for the \"Enabled\" icon. Default value\nuses the icon from the Turbo Boost application:\n\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"

\n", + "desc": "Where to find the icon to use for the \"Enabled\" icon.", + "doc": "Where to find the icon to use for the \"Enabled\" icon.\n\nNotes:\n * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "doc_gfm": "

Where to find the icon to use for the \"Enabled\" icon.

\n

Notes:

\n
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "114", + "lineno": "113", "name": "enabled_icon_path", + "notes": [ + " * Default value uses the icon from the Turbo Boost application: `\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`" + ], + "notes_gfm": "
    \n
  • Default value uses the icon from the Turbo Boost application: \"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"
  • \n
\n", "signature": "TurboBoost.enabled_icon_path", - "stripped_doc": "uses the icon from the Turbo Boost application:\n`\"/Applications/Turbo Boost Switcher.app/Contents/Resources/icon.tiff\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17487,14 +19099,19 @@ { "def": "TurboBoost.load_kext_cmd", "def_gfm": "TurboBoost.load_kext_cmd", - "desc": "Command to execute to load the DisableTurboBoost kernel", - "doc": "Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", - "doc_gfm": "

Command to execute to load the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"

\n", + "desc": "Command to execute to load the DisableTurboBoost kernel extension.", + "doc": "Command to execute to load the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "doc_gfm": "

Command to execute to load the DisableTurboBoost kernel extension.

\n

Notes:

\n
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "82", "name": "load_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`" + ], + "notes_gfm": "
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /usr/bin/kextutil '%s'\"
  • \n
\n", "signature": "TurboBoost.load_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /usr/bin/kextutil '%s'\"`", + "stripped_doc": "", "type": "Variable" }, { @@ -17513,14 +19130,14 @@ { "def": "TurboBoost.notify", "def_gfm": "TurboBoost.notify", - "desc": "Boolean indicating whether notifications should be generated when", - "doc": "Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: `true`", - "doc_gfm": "

Boolean indicating whether notifications should be generated when\nTurbo Boost is enabled/disabled. Default value: true

\n", + "desc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc": "Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: `true`", + "doc_gfm": "

Boolean indicating whether notifications should be generated when Turbo Boost is enabled/disabled. Default value: true

\n", "file": "Source/TurboBoost.spoon/init.lua", "lineno": "108", "name": "notify", "signature": "TurboBoost.notify", - "stripped_doc": "Turbo Boost is enabled/disabled. Default value: `true`", + "stripped_doc": "", "type": "Variable" }, { @@ -17540,11 +19157,11 @@ "def": "TurboBoost:setState(state, notify)", "def_gfm": "TurboBoost:setState(state, notify)", "desc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).", - "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled\n (load kernel extension), true if it should be enabled (unload\n kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification\n should be produced. If not given, the value of\n TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", - "doc_gfm": "

Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).

\n

Parameters:

\n
    \n
  • state - A boolean, false if Turbo Boost should be disabled\n(load kernel extension), true if it should be enabled (unload\nkernel extension if loaded).
  • \n
  • notify - Optional boolean indicating whether a notification\nshould be produced. If not given, the value of\nTurboBoost.notify is used.
  • \n
\n

Returns:

\n
    \n
  • Boolean indicating new state
  • \n
\n", + "doc": "Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).\n\nParameters:\n * state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).\n * notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.\n\nReturns:\n * Boolean indicating new state", + "doc_gfm": "

Sets whether Turbo Boost should be disabled (kernel extension loaded) or enabled (normal state, kernel extension not loaded).

\n

Parameters:

\n
    \n
  • state - A boolean, false if Turbo Boost should be disabled (load kernel extension), true if it should be enabled (unload kernel extension if loaded).
  • \n
  • notify - Optional boolean indicating whether a notification should be produced. If not given, the value of TurboBoost.notify is used.
  • \n
\n

Returns:

\n
    \n
  • Boolean indicating new state
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "128", + "lineno": "129", "name": "setState", "notes": [], "notes_gfm": "", @@ -17569,7 +19186,7 @@ "doc_gfm": "

Starts TurboBoost

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TurboBoost object
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "212", + "lineno": "209", "name": "start", "notes": [], "notes_gfm": "", @@ -17593,7 +19210,7 @@ "doc_gfm": "

Check whether Turbo Boost is enabled

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • true if TurboBoost is enabled (kernel ext not loaded), false otherwise.
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "171", + "lineno": "168", "name": "status", "notes": [], "notes_gfm": "", @@ -17617,7 +19234,7 @@ "doc_gfm": "

Stops TurboBoost

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The TurboBoost object
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "233", + "lineno": "230", "name": "stop", "notes": [], "notes_gfm": "", @@ -17641,7 +19258,7 @@ "doc_gfm": "

Toggle TurboBoost status

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • New TurboBoost status, after the toggle
  • \n
\n", "examples": [], "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "186", + "lineno": "183", "name": "toggle", "notes": [], "notes_gfm": "", @@ -17660,14 +19277,19 @@ { "def": "TurboBoost.unload_kext_cmd", "def_gfm": "TurboBoost.unload_kext_cmd", - "desc": "Command to execute to unload the DisableTurboBoost kernel", - "doc": "Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", - "doc_gfm": "

Command to execute to unload the DisableTurboBoost kernel\nextension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"

\n", + "desc": "Command to execute to unload the DisableTurboBoost kernel extension.", + "doc": "Command to execute to unload the DisableTurboBoost kernel extension.\n\nNotes:\n * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.\n * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "doc_gfm": "

Command to execute to unload the DisableTurboBoost kernel extension.

\n

Notes:

\n
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"
  • \n
\n", "file": "Source/TurboBoost.spoon/init.lua", - "lineno": "92", + "lineno": "91", "name": "unload_kext_cmd", + "notes": [ + " * This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.", + " * The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`" + ], + "notes_gfm": "
    \n
  • This command must execute with root privileges and either query the user for the credentials, or be configured (e.g. with sudo) to run without prompting.
  • \n
  • The string \"%s\" in this variable gets replaced with the value of TurboBoost.kext_path. Default value: \"/usr/bin/sudo /sbin/kextunload '%s'\"
  • \n
\n", "signature": "TurboBoost.unload_kext_cmd", - "stripped_doc": "extension. This command must execute with root privileges and\neither query the user for the credentials, or be configured\n(e.g. with sudo) to run without prompting. The string \"%s\" in this\nvariable gets replaced with the value of\nTurboBoost.kext_path. Default value: `\"/usr/bin/sudo /sbin/kextunload '%s'\"`", + "stripped_doc": "", "type": "Variable" } ], @@ -17692,7 +19314,7 @@ "doc_gfm": "

Binds hotkeys for UniversalArchive

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • archive - hotkey for trigger the universalArchive() method, to archive the current item on the current application.
    • \n
    • <app>_<dest> - if an application handler supports multiple destinations, you can specify hotkeys for specific destinations using this format. For example, to assign a hotkey that files the current note in Evernote to the \"MyProject\" notebook using Ctrl-Alt-Cmd-M, you would specify Evernote_MyProject = { { \"ctrl\", \"alt\", \"cmd\" }, \"m\" } as one of the elements of mapping. Keep in mind that the application name must appear exactly as the system sees it (including upper/lowercase), and that if either the application or the destination name contain spaces or other non-alphanumeric characters, you need to use the Lua table notation. For example: [\"Evernote_Some Long Notebook Name\"] = { keybinding }. At the moment only the Evernote handler supports multiple destinations.
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "182", + "lineno": "183", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -17714,7 +19336,7 @@ "doc_gfm": "

Archive current note in Evernote.

\n

Parameters:

\n
    \n
  • where - destination notebook. Defaults to the value of UniversalArchive.evernote_archive_notebook.
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "60", + "lineno": "61", "name": "evernoteArchive", "notes": [], "notes_gfm": "", @@ -17736,7 +19358,7 @@ "doc_gfm": "

Archive current message in Mail using the built-in Archive functionality

\n

Parameters:

\n
    \n
  • none
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "84", + "lineno": "85", "name": "mailArchive", "notes": [], "notes_gfm": "", @@ -17758,7 +19380,7 @@ "doc_gfm": "

Archive current message in Outlook using one of two methods:

\n

Parameters:

\n
    \n
  • none
  • \n
\n

Notes:

\n
    \n
  • If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)
  • \n
  • Otherwise, the message gets manually moved to the folder specified in UniversalArchive.outlook_archive_folder. The folder has to appear in the Message -> Move submenu for this to work. Since this submenu only lists the last few destination folders, you have to move a message by hand the first time (or periodically if you don't archive very often).
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "120", + "lineno": "121", "name": "outlookArchive", "notes": [ " * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)", @@ -17783,7 +19405,7 @@ "doc_gfm": "

Register a handler function for an application.

\n

Parameters:

\n
    \n
  • appname - string containing the name of the application. If the application already has a handler, it will be replaced with the new one.
  • \n
  • fn - handler function (to remove the handler for an application, use nil). The function receives the following arguments:
      \n
    • self - the UniversalArchive object, so the handler can make use of all the object methods and variables.
    • \n
    • where - optional \"destination\" for the archive operation. Handlers must provide a default destination when where == nil. Destination doesn't make sense for all applications, so the implementation of this is optional and depending on the handler.
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "165", + "lineno": "166", "name": "registerApplication", "notes": [], "notes_gfm": "", @@ -17806,7 +19428,7 @@ "doc_gfm": "

Archive current message in Spark using the built-in Archive functionality

\n

Parameters:

\n
    \n
  • none
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "102", + "lineno": "103", "name": "sparkArchive", "notes": [], "notes_gfm": "", @@ -17828,7 +19450,7 @@ "doc_gfm": "

Main entry point for archiving an item.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • If a handler function is defined for the current application, it is called with the UniversalArchive object as its first argument, and the archive destination (if provided) as the second.
  • \n
  • Handlers must have a \"default destination\" that gets used when no destination is provided. Not all handlers support specifying a destination. New handlers can be registered using the registerApplication() method.
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "142", + "lineno": "143", "name": "universalArchive", "notes": [ " * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.", @@ -17876,14 +19498,20 @@ { "def": "UniversalArchive.evernote_delay_before_typing", "def_gfm": "UniversalArchive.evernote_delay_before_typing", - "desc": "In Evernote, archive is done by selectin \"Move note\" and then", - "doc": "In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", - "doc_gfm": "

In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing

\n", + "desc": "A short pause to make typing into Evernote more reliable", + "doc": "A short pause to make typing into Evernote more reliable\n\nNotes:\n * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.\n * This variable controls how much to wait, in seconds.\n * Do not change this unless you know what you are doing", + "doc_gfm": "

A short pause to make typing into Evernote more reliable

\n

Notes:

\n
    \n
  • In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.
  • \n
  • This variable controls how much to wait, in seconds.
  • \n
  • Do not change this unless you know what you are doing
  • \n
\n", "file": "Source/UniversalArchive.spoon/init.lua", "lineno": "51", "name": "evernote_delay_before_typing", + "notes": [ + " * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.", + " * This variable controls how much to wait, in seconds.", + " * Do not change this unless you know what you are doing" + ], + "notes_gfm": "
    \n
  • In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.
  • \n
  • This variable controls how much to wait, in seconds.
  • \n
  • Do not change this unless you know what you are doing
  • \n
\n", "signature": "UniversalArchive.evernote_delay_before_typing", - "stripped_doc": "simulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "stripped_doc": "", "type": "Variable" }, { @@ -17939,7 +19567,7 @@ "doc_gfm": "

Binds hotkeys for UniversalArchive

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey modifier/key details for the following items:
      \n
    • archive - hotkey for trigger the universalArchive() method, to archive the current item on the current application.
    • \n
    • <app>_<dest> - if an application handler supports multiple destinations, you can specify hotkeys for specific destinations using this format. For example, to assign a hotkey that files the current note in Evernote to the \"MyProject\" notebook using Ctrl-Alt-Cmd-M, you would specify Evernote_MyProject = { { \"ctrl\", \"alt\", \"cmd\" }, \"m\" } as one of the elements of mapping. Keep in mind that the application name must appear exactly as the system sees it (including upper/lowercase), and that if either the application or the destination name contain spaces or other non-alphanumeric characters, you need to use the Lua table notation. For example: [\"Evernote_Some Long Notebook Name\"] = { keybinding }. At the moment only the Evernote handler supports multiple destinations.
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "182", + "lineno": "183", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -17969,14 +19597,20 @@ { "def": "UniversalArchive.evernote_delay_before_typing", "def_gfm": "UniversalArchive.evernote_delay_before_typing", - "desc": "In Evernote, archive is done by selectin \"Move note\" and then", - "doc": "In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", - "doc_gfm": "

In Evernote, archive is done by selectin \"Move note\" and then\nsimulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing

\n", + "desc": "A short pause to make typing into Evernote more reliable", + "doc": "A short pause to make typing into Evernote more reliable\n\nNotes:\n * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.\n * This variable controls how much to wait, in seconds.\n * Do not change this unless you know what you are doing", + "doc_gfm": "

A short pause to make typing into Evernote more reliable

\n

Notes:

\n
    \n
  • In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.
  • \n
  • This variable controls how much to wait, in seconds.
  • \n
  • Do not change this unless you know what you are doing
  • \n
\n", "file": "Source/UniversalArchive.spoon/init.lua", "lineno": "51", "name": "evernote_delay_before_typing", + "notes": [ + " * In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.", + " * This variable controls how much to wait, in seconds.", + " * Do not change this unless you know what you are doing" + ], + "notes_gfm": "
    \n
  • In Evernote, archive is done by selectin \"Move note\" and then simulating typing of the notebook name. A short pause in between makes it more reliable for Evernote to recognize the notebook name correctly.
  • \n
  • This variable controls how much to wait, in seconds.
  • \n
  • Do not change this unless you know what you are doing
  • \n
\n", "signature": "UniversalArchive.evernote_delay_before_typing", - "stripped_doc": "simulating typing of the notebook name. A short pause in between\nmakes it more reliable for Evernote to recognize the notebook name\ncorrectly. This variable controls how much to wait, in seconds.\nDo not change this unless you know what you are doing", + "stripped_doc": "", "type": "Variable" }, { @@ -17987,7 +19621,7 @@ "doc_gfm": "

Archive current note in Evernote.

\n

Parameters:

\n
    \n
  • where - destination notebook. Defaults to the value of UniversalArchive.evernote_archive_notebook.
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "60", + "lineno": "61", "name": "evernoteArchive", "notes": [], "notes_gfm": "", @@ -18022,7 +19656,7 @@ "doc_gfm": "

Archive current message in Mail using the built-in Archive functionality

\n

Parameters:

\n
    \n
  • none
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "84", + "lineno": "85", "name": "mailArchive", "notes": [], "notes_gfm": "", @@ -18057,7 +19691,7 @@ "doc_gfm": "

Archive current message in Outlook using one of two methods:

\n

Parameters:

\n
    \n
  • none
  • \n
\n

Notes:

\n
    \n
  • If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)
  • \n
  • Otherwise, the message gets manually moved to the folder specified in UniversalArchive.outlook_archive_folder. The folder has to appear in the Message -> Move submenu for this to work. Since this submenu only lists the last few destination folders, you have to move a message by hand the first time (or periodically if you don't archive very often).
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "120", + "lineno": "121", "name": "outlookArchive", "notes": [ " * If the \"Message -> Archive\" menu item exists, it is used (this has been added in recent versions of Outlook)", @@ -18082,7 +19716,7 @@ "doc_gfm": "

Register a handler function for an application.

\n

Parameters:

\n
    \n
  • appname - string containing the name of the application. If the application already has a handler, it will be replaced with the new one.
  • \n
  • fn - handler function (to remove the handler for an application, use nil). The function receives the following arguments:
      \n
    • self - the UniversalArchive object, so the handler can make use of all the object methods and variables.
    • \n
    • where - optional \"destination\" for the archive operation. Handlers must provide a default destination when where == nil. Destination doesn't make sense for all applications, so the implementation of this is optional and depending on the handler.
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "165", + "lineno": "166", "name": "registerApplication", "notes": [], "notes_gfm": "", @@ -18105,7 +19739,7 @@ "doc_gfm": "

Archive current message in Spark using the built-in Archive functionality

\n

Parameters:

\n
    \n
  • none
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "102", + "lineno": "103", "name": "sparkArchive", "notes": [], "notes_gfm": "", @@ -18127,7 +19761,7 @@ "doc_gfm": "

Main entry point for archiving an item.

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Notes:

\n
    \n
  • If a handler function is defined for the current application, it is called with the UniversalArchive object as its first argument, and the archive destination (if provided) as the second.
  • \n
  • Handlers must have a \"default destination\" that gets used when no destination is provided. Not all handlers support specifying a destination. New handlers can be registered using the registerApplication() method.
  • \n
\n", "examples": [], "file": "Source/UniversalArchive.spoon/init.lua", - "lineno": "142", + "lineno": "143", "name": "universalArchive", "notes": [ " * If a handler function is defined for the current application, it is called with the `UniversalArchive` object as its first argument, and the archive destination (if provided) as the second.", @@ -18204,7 +19838,7 @@ "doc_gfm": "

Dispatch a URL to an application according to the defined url_patterns.

\n

Parameters:

\n
    \n
  • scheme - A string containing the URL scheme (i.e. \"http\")
  • \n
  • host - A string containing the host requested (e.g. \"www.hammerspoon.org\")
  • \n
  • params - A table containing the key/value pairs of all the URL parameters
  • \n
  • fullURL - A string containing the full, original URL. This is the only parameter used in this implementation.
  • \n
\n

Notes:

\n
    \n
  • The parameters (follow to the httpCallback specification)
  • \n
\n", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "86", + "lineno": "83", "name": "dispatchURL", "notes": [ " * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)" @@ -18231,7 +19865,7 @@ "doc_gfm": "

Start dispatching URLs according to the rules

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "153", + "lineno": "150", "name": "start", "notes": [], "notes_gfm": "", @@ -18280,7 +19914,7 @@ "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "logger", "signature": "URLDispatcher.logger", "stripped_doc": "", @@ -18293,7 +19927,7 @@ "doc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "doc_gfm": "

If true, URLDispatcher set itself as system handler for http requests. Defaults to true

\n", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "67", + "lineno": "64", "name": "set_system_handler", "signature": "URLDispatcher.set_system_handler", "stripped_doc": "", @@ -18303,13 +19937,20 @@ "def": "URLDispatcher.url_patterns", "def_gfm": "URLDispatcher.url_patterns", "desc": "URL dispatch rules.", - "doc": "URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", - "doc_gfm": "

URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: { \"url pattern\", \"application bundle ID\", \"function\"\n}, and they are evaluated in the order they are declared. Note that the\npatterns are Lua patterns and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the default_handler. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.

\n", + "doc": "URL dispatch rules.\n\nNotes:\n * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.\n * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.\n * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.\n * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.", + "doc_gfm": "

URL dispatch rules.

\n

Notes:

\n
    \n
  • A table containing a list of dispatch rules. Each rule should be its own table in the format: { \"url pattern\", \"application bundle ID\", \"function\" }, and they are evaluated in the order they are declared.
  • \n
  • Note that the patterns are Lua patterns and not regular expressions.
  • \n
  • Defaults to an empty table, which has the effect of having all URLs dispatched to the default_handler.
  • \n
  • If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.
  • \n
\n", "file": "Source/URLDispatcher.spoon/init.lua", "lineno": "48", "name": "url_patterns", + "notes": [ + " * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.", + " * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.", + " * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.", + " * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL." + ], + "notes_gfm": "
    \n
  • A table containing a list of dispatch rules. Each rule should be its own table in the format: { \"url pattern\", \"application bundle ID\", \"function\" }, and they are evaluated in the order they are declared.
  • \n
  • Note that the patterns are Lua patterns and not regular expressions.
  • \n
  • Defaults to an empty table, which has the effect of having all URLs dispatched to the default_handler.
  • \n
  • If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.
  • \n
\n", "signature": "URLDispatcher.url_patterns", - "stripped_doc": "A table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "stripped_doc": "", "type": "Variable" }, { @@ -18365,7 +20006,7 @@ "doc_gfm": "

Dispatch a URL to an application according to the defined url_patterns.

\n

Parameters:

\n
    \n
  • scheme - A string containing the URL scheme (i.e. \"http\")
  • \n
  • host - A string containing the host requested (e.g. \"www.hammerspoon.org\")
  • \n
  • params - A table containing the key/value pairs of all the URL parameters
  • \n
  • fullURL - A string containing the full, original URL. This is the only parameter used in this implementation.
  • \n
\n

Notes:

\n
    \n
  • The parameters (follow to the httpCallback specification)
  • \n
\n", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "86", + "lineno": "83", "name": "dispatchURL", "notes": [ " * The parameters (follow to the [httpCallback](http://www.hammerspoon.org/docs/hs.urlevent.html#httpCallback) specification)" @@ -18391,7 +20032,7 @@ "doc": "Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.", "doc_gfm": "

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

\n", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "62", + "lineno": "59", "name": "logger", "signature": "URLDispatcher.logger", "stripped_doc": "", @@ -18404,7 +20045,7 @@ "doc": "If true, URLDispatcher set itself as system handler for http requests. Defaults to `true`", "doc_gfm": "

If true, URLDispatcher set itself as system handler for http requests. Defaults to true

\n", "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "67", + "lineno": "64", "name": "set_system_handler", "signature": "URLDispatcher.set_system_handler", "stripped_doc": "", @@ -18418,7 +20059,7 @@ "doc_gfm": "

Start dispatching URLs according to the rules

\n

Parameters:

\n
    \n
  • None
  • \n
\n", "examples": [], "file": "Source/URLDispatcher.spoon/init.lua", - "lineno": "153", + "lineno": "150", "name": "start", "notes": [], "notes_gfm": "", @@ -18436,13 +20077,20 @@ "def": "URLDispatcher.url_patterns", "def_gfm": "URLDispatcher.url_patterns", "desc": "URL dispatch rules.", - "doc": "URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", - "doc_gfm": "

URL dispatch rules.\nA table containing a list of dispatch rules. Each rule should be its own\ntable in the format: { \"url pattern\", \"application bundle ID\", \"function\"\n}, and they are evaluated in the order they are declared. Note that the\npatterns are Lua patterns and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the default_handler. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.

\n", + "doc": "URL dispatch rules.\n\nNotes:\n * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.\n * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.\n * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.\n * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.", + "doc_gfm": "

URL dispatch rules.

\n

Notes:

\n
    \n
  • A table containing a list of dispatch rules. Each rule should be its own table in the format: { \"url pattern\", \"application bundle ID\", \"function\" }, and they are evaluated in the order they are declared.
  • \n
  • Note that the patterns are Lua patterns and not regular expressions.
  • \n
  • Defaults to an empty table, which has the effect of having all URLs dispatched to the default_handler.
  • \n
  • If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.
  • \n
\n", "file": "Source/URLDispatcher.spoon/init.lua", "lineno": "48", "name": "url_patterns", + "notes": [ + " * A table containing a list of dispatch rules. Each rule should be its own table in the format: `{ \"url pattern\", \"application bundle ID\", \"function\" }`, and they are evaluated in the order they are declared.", + " * Note that the patterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not regular expressions.", + " * Defaults to an empty table, which has the effect of having all URLs dispatched to the `default_handler`.", + " * If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL." + ], + "notes_gfm": "
    \n
  • A table containing a list of dispatch rules. Each rule should be its own table in the format: { \"url pattern\", \"application bundle ID\", \"function\" }, and they are evaluated in the order they are declared.
  • \n
  • Note that the patterns are Lua patterns and not regular expressions.
  • \n
  • Defaults to an empty table, which has the effect of having all URLs dispatched to the default_handler.
  • \n
  • If \"application bundle ID\" is specified, that application will be used to open matching URLs. If no \"application bundle ID\" is specified, but \"function\" is provided (and is a Lua function) it will be called with the URL.
  • \n
\n", "signature": "URLDispatcher.url_patterns", - "stripped_doc": "A table containing a list of dispatch rules. Each rule should be its own\ntable in the format: `{ \"url pattern\", \"application bundle ID\", \"function\"\n}`, and they are evaluated in the order they are declared. Note that the\npatterns are [Lua patterns](https://www.lua.org/pil/20.2.html) and not\nregular expressions. Defaults to an empty table, which has the effect of\nhaving all URLs dispatched to the `default_handler`. If \"application bundle\nID\" is specified, that application will be used to open matching URLs. If no\n\"application bundle ID\" is specified, but \"function\" is provided (and is a\nLua function) it will be called with the URL.", + "stripped_doc": "", "type": "Variable" }, { @@ -18550,13 +20198,25 @@ "def": "USBDeviceActions.devices (Table)", "def_gfm": "USBDeviceActions.devices (Table)", "desc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).", - "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nThe value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\n\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", - "doc_gfm": "

A table where the keys should correspond to productNames of USB devices and the values should be tables containing the keys apps and/or fn. (You can find the productName for a connected USB device using hs.usb.attachedDevices()).

\n

The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.

\n

Example:

\n\n
{\n  ScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n  Planck                     = { fn = toggleKeyboardLayout },\n  [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
\n", + "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nNotes:\n * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "doc_gfm": "

A table where the keys should correspond to productNames of USB devices and the values should be tables containing the keys apps and/or fn. (You can find the productName for a connected USB device using hs.usb.attachedDevices()).

\n

Notes:

\n
    \n
  • The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.\nExample:\n
    {\nScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\nPlanck                     = { fn = toggleKeyboardLayout },\n[\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
    \n
  • \n
\n", "file": "Source/USBDeviceActions.spoon/init.lua", "lineno": "87", "name": "devices", + "notes": [ + " * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.", + "Example:", + "```", + "{", + " ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },", + " Planck = { fn = toggleKeyboardLayout },", + " [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.\nExample:\n
    {\nScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\nPlanck                     = { fn = toggleKeyboardLayout },\n[\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
    \n
  • \n
\n", "signature": "USBDeviceActions.devices (Table)", - "stripped_doc": "The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "stripped_doc": "", "type": "Variable" } ], @@ -18569,13 +20229,25 @@ "def": "USBDeviceActions.devices (Table)", "def_gfm": "USBDeviceActions.devices (Table)", "desc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).", - "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nThe value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\n\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", - "doc_gfm": "

A table where the keys should correspond to productNames of USB devices and the values should be tables containing the keys apps and/or fn. (You can find the productName for a connected USB device using hs.usb.attachedDevices()).

\n

The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.

\n

Example:

\n\n
{\n  ScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n  Planck                     = { fn = toggleKeyboardLayout },\n  [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
\n", + "doc": "A table where the keys should correspond to `productName`s of USB devices and the values should be tables containing the keys `apps` and/or `fn`. (You can find the `productName` for a connected USB device using `hs.usb.attachedDevices()`).\n\nNotes:\n * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "doc_gfm": "

A table where the keys should correspond to productNames of USB devices and the values should be tables containing the keys apps and/or fn. (You can find the productName for a connected USB device using hs.usb.attachedDevices()).

\n

Notes:

\n
    \n
  • The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.\nExample:\n
    {\nScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\nPlanck                     = { fn = toggleKeyboardLayout },\n[\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
    \n
  • \n
\n", "file": "Source/USBDeviceActions.spoon/init.lua", "lineno": "87", "name": "devices", + "notes": [ + " * The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.", + "Example:", + "```", + "{", + " ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },", + " Planck = { fn = toggleKeyboardLayout },", + " [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }", + "}", + "```" + ], + "notes_gfm": "
    \n
  • The value of the apps key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the fn key should be a single parameter function that will be passed true/false when the USB device is connected/disconnected.\nExample:\n
    {\nScanSnapiX500EE            = { apps = { \"ScanSnap Manager Evernote Edition\" } },\nPlanck                     = { fn = toggleKeyboardLayout },\n[\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}
    \n
  • \n
\n", "signature": "USBDeviceActions.devices (Table)", - "stripped_doc": "The value of the `apps` key should contain a list of apps that will be launched/killed when the USB device is connected/disconnected. The value of the `fn` key should be a single parameter function that will be passed `true`/`false` when the USB device is connected/disconnected.\nExample:\n```\n{\n ScanSnapiX500EE = { apps = { \"ScanSnap Manager Evernote Edition\" } },\n Planck = { fn = toggleKeyboardLayout },\n [\"Corne Keyboard (crkbd)\"] = { fn = toggleKeyboardLayout }\n}\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -19098,7 +20770,7 @@ "doc_gfm": "

Process the rules and execute any actions corresponding to the specified transition.

\n

Parameters:

\n
    \n
  • new_ssid - new SSID name
  • \n
  • prev_ssid - previous SSID name. Defaults to nil
  • \n
  • interface - interface where the transition occurred. Defaults to nil
  • \n
\n

Notes:

\n
    \n
  • This method is called internally by the hs.wifi.watcher object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason.
  • \n
\n", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "54", + "lineno": "57", "name": "processTransition", "notes": [ " * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason." @@ -19124,7 +20796,7 @@ "doc_gfm": "

Start the WiFi watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The WiFiTransitions spoon object
  • \n
\n", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "101", + "lineno": "104", "name": "start", "notes": [], "notes_gfm": "", @@ -19145,14 +20817,26 @@ { "def": "WiFiTransitions.actions", "def_gfm": "WiFiTransitions.actions", - "desc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", - "doc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", - "doc_gfm": "

Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:

\n
    \n
  • to - if given, pattern to match against the new SSID. Defaults to match any network.
  • \n
  • from - if given, pattern to match against the previous SSID. Defaults to match any network.
  • \n
  • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
      \n
    • event - always \"SSIDChange\"
    • \n
    • interface - name of the interface on which the SSID changed
    • \n
    • old_ssid - previous SSID name
    • \n
    • new_ssid - new SSID name
    • \n
    \n
  • \n
  • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
  • \n
\n", + "desc": "Table containing a list of actions to execute for SSID transitions.", + "doc": "Table containing a list of actions to execute for SSID transitions.\n\nNotes:\n * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "doc_gfm": "

Table containing a list of actions to execute for SSID transitions.

\n

Notes:

\n
    \n
  • Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:
      \n
    • to - if given, pattern to match against the new SSID. Defaults to match any network.
    • \n
    • from - if given, pattern to match against the previous SSID. Defaults to match any network.
    • \n
    • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
        \n
      • event - always \"SSIDChange\"
      • \n
      • interface - name of the interface on which the SSID changed
      • \n
      • old_ssid - previous SSID name
      • \n
      • new_ssid - new SSID name
      • \n
      \n
    • \n
    • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
    • \n
    \n
  • \n
\n", "file": "Source/WiFiTransitions.spoon/init.lua", "lineno": "22", "name": "actions", + "notes": [ + " * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", + " * to - if given, pattern to match against the new SSID. Defaults to match any network.", + " * from - if given, pattern to match against the previous SSID. Defaults to match any network.", + " * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:", + " * event - always \"SSIDChange\"", + " * interface - name of the interface on which the SSID changed", + " * old_ssid - previous SSID name", + " * new_ssid - new SSID name", + " * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored." + ], + "notes_gfm": "
    \n
  • Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:
      \n
    • to - if given, pattern to match against the new SSID. Defaults to match any network.
    • \n
    • from - if given, pattern to match against the previous SSID. Defaults to match any network.
    • \n
    • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
        \n
      • event - always \"SSIDChange\"
      • \n
      • interface - name of the interface on which the SSID changed
      • \n
      • old_ssid - previous SSID name
      • \n
      • new_ssid - new SSID name
      • \n
      \n
    • \n
    • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
    • \n
    \n
  • \n
\n", "signature": "WiFiTransitions.actions", - "stripped_doc": " * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "stripped_doc": "", "type": "Variable" }, { @@ -19162,7 +20846,7 @@ "doc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "doc_gfm": "

Whether to evaluate WiFiTransitions.actions if the \"to\" network is no network (nil). Defaults to false to maintain backward compatibility; if unset, note that from transitions may not execute as expected.

\n", "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "35", + "lineno": "38", "name": "actOnNilTransitions", "signature": "WiFiTransitions.actOnNilTransitions", "stripped_doc": "", @@ -19190,14 +20874,26 @@ { "def": "WiFiTransitions.actions", "def_gfm": "WiFiTransitions.actions", - "desc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", - "doc": "Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", - "doc_gfm": "

Table containing a list of actions to execute for SSID transitions. Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:

\n
    \n
  • to - if given, pattern to match against the new SSID. Defaults to match any network.
  • \n
  • from - if given, pattern to match against the previous SSID. Defaults to match any network.
  • \n
  • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
      \n
    • event - always \"SSIDChange\"
    • \n
    • interface - name of the interface on which the SSID changed
    • \n
    • old_ssid - previous SSID name
    • \n
    • new_ssid - new SSID name
    • \n
    \n
  • \n
  • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
  • \n
\n", + "desc": "Table containing a list of actions to execute for SSID transitions.", + "doc": "Table containing a list of actions to execute for SSID transitions.\n\nNotes:\n * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:\n * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "doc_gfm": "

Table containing a list of actions to execute for SSID transitions.

\n

Notes:

\n
    \n
  • Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:
      \n
    • to - if given, pattern to match against the new SSID. Defaults to match any network.
    • \n
    • from - if given, pattern to match against the previous SSID. Defaults to match any network.
    • \n
    • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
        \n
      • event - always \"SSIDChange\"
      • \n
      • interface - name of the interface on which the SSID changed
      • \n
      • old_ssid - previous SSID name
      • \n
      • new_ssid - new SSID name
      • \n
      \n
    • \n
    • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
    • \n
    \n
  • \n
\n", "file": "Source/WiFiTransitions.spoon/init.lua", "lineno": "22", "name": "actions", + "notes": [ + " * Transitions to a \"no network\" state (`nil` SSID) are ignored unless you set `WiFiTransitions.actOnNilTransitions`. Each action is itself a table with the following keys:", + " * to - if given, pattern to match against the new SSID. Defaults to match any network.", + " * from - if given, pattern to match against the previous SSID. Defaults to match any network.", + " * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:", + " * event - always \"SSIDChange\"", + " * interface - name of the interface on which the SSID changed", + " * old_ssid - previous SSID name", + " * new_ssid - new SSID name", + " * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored." + ], + "notes_gfm": "
    \n
  • Transitions to a \"no network\" state (nil SSID) are ignored unless you set WiFiTransitions.actOnNilTransitions. Each action is itself a table with the following keys:
      \n
    • to - if given, pattern to match against the new SSID. Defaults to match any network.
    • \n
    • from - if given, pattern to match against the previous SSID. Defaults to match any network.
    • \n
    • fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:
        \n
      • event - always \"SSIDChange\"
      • \n
      • interface - name of the interface on which the SSID changed
      • \n
      • old_ssid - previous SSID name
      • \n
      • new_ssid - new SSID name
      • \n
      \n
    • \n
    • cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using hs.execute. If fn is given, cmd is ignored.
    • \n
    \n
  • \n
\n", "signature": "WiFiTransitions.actions", - "stripped_doc": " * to - if given, pattern to match against the new SSID. Defaults to match any network.\n * from - if given, pattern to match against the previous SSID. Defaults to match any network.\n * fn - function to execute if there is a match. Can also be a list of functions, which will be executed in sequence. Each function will receive the following arguments:\n * event - always \"SSIDChange\"\n * interface - name of the interface on which the SSID changed\n * old_ssid - previous SSID name\n * new_ssid - new SSID name\n * cmd - shell command to execute if there is a match. Can also be a list of commands, which will be executed in sequence using `hs.execute`. If `fn` is given, `cmd` is ignored.", + "stripped_doc": "", "type": "Variable" }, { @@ -19207,7 +20903,7 @@ "doc": "Whether to evaluate `WiFiTransitions.actions` if the \"to\" network is no network (`nil`). Defaults to `false` to maintain backward compatibility; if unset, note that `from` transitions may not execute as expected.", "doc_gfm": "

Whether to evaluate WiFiTransitions.actions if the \"to\" network is no network (nil). Defaults to false to maintain backward compatibility; if unset, note that from transitions may not execute as expected.

\n", "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "35", + "lineno": "38", "name": "actOnNilTransitions", "signature": "WiFiTransitions.actOnNilTransitions", "stripped_doc": "", @@ -19234,7 +20930,7 @@ "doc_gfm": "

Process the rules and execute any actions corresponding to the specified transition.

\n

Parameters:

\n
    \n
  • new_ssid - new SSID name
  • \n
  • prev_ssid - previous SSID name. Defaults to nil
  • \n
  • interface - interface where the transition occurred. Defaults to nil
  • \n
\n

Notes:

\n
    \n
  • This method is called internally by the hs.wifi.watcher object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason.
  • \n
\n", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "54", + "lineno": "57", "name": "processTransition", "notes": [ " * This method is called internally by the `hs.wifi.watcher` object when WiFi transitions happen. It does not get any system information nor does it set any Spoon state information, so it can also be used to \"trigger\" transitions manually, either for testing or if the automated processing fails for any reason." @@ -19260,7 +20956,7 @@ "doc_gfm": "

Start the WiFi watcher

\n

Parameters:

\n
    \n
  • None
  • \n
\n

Returns:

\n
    \n
  • The WiFiTransitions spoon object
  • \n
\n", "examples": [], "file": "Source/WiFiTransitions.spoon/init.lua", - "lineno": "101", + "lineno": "104", "name": "start", "notes": [], "notes_gfm": "", @@ -19643,14 +21339,41 @@ { "def": "WindowHalfsAndThirds.defaultHotkeys", "def_gfm": "WindowHalfsAndThirds.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", - "doc_gfm": "

Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\nspoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)\nafter loading the spoon. Value:

\n\n
 {\n    left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n    right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n    top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n    bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n    third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n    third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n    third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n    third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n    top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n    top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n    bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n    bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n    max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n    max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n    undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n    center      = { {        \"alt\", \"cmd\"}, \"c\" },\n    larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n    smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }
\n", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "doc_gfm": "

Table containing a sample set of hotkeys that can be assigned to the different operations.

\n

Notes:

\n
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n center      = { {        \"alt\", \"cmd\"}, \"c\" },\n larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n}
    \n
  • \n
\n", "file": "Source/WindowHalfsAndThirds.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },", + " right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },", + " top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },", + " bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },", + " third_left = { {\"ctrl\", \"alt\" }, \"Left\" },", + " third_right = { {\"ctrl\", \"alt\" }, \"Right\" },", + " third_up = { {\"ctrl\", \"alt\" }, \"Up\" },", + " third_down = { {\"ctrl\", \"alt\" }, \"Down\" },", + " top_left = { {\"ctrl\", \"cmd\"}, \"1\" },", + " top_right = { {\"ctrl\", \"cmd\"}, \"2\" },", + " bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },", + " bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },", + " max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },", + " max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },", + " undo = { { \"alt\", \"cmd\"}, \"z\" },", + " center = { { \"alt\", \"cmd\"}, \"c\" },", + " larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },", + " smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n center      = { {        \"alt\", \"cmd\"}, \"c\" },\n larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n}
    \n
  • \n
\n", "signature": "WindowHalfsAndThirds.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -19749,14 +21472,41 @@ { "def": "WindowHalfsAndThirds.defaultHotkeys", "def_gfm": "WindowHalfsAndThirds.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", - "doc_gfm": "

Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\nspoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)\nafter loading the spoon. Value:

\n\n
 {\n    left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n    right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n    top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n    bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n    third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n    third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n    third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n    third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n    top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n    top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n    bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n    bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n    max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n    max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n    undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n    center      = { {        \"alt\", \"cmd\"}, \"c\" },\n    larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n    smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }
\n", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "doc_gfm": "

Table containing a sample set of hotkeys that can be assigned to the different operations.

\n

Notes:

\n
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n center      = { {        \"alt\", \"cmd\"}, \"c\" },\n larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n}
    \n
  • \n
\n", "file": "Source/WindowHalfsAndThirds.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },", + " right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },", + " top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },", + " bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },", + " third_left = { {\"ctrl\", \"alt\" }, \"Left\" },", + " third_right = { {\"ctrl\", \"alt\" }, \"Right\" },", + " third_up = { {\"ctrl\", \"alt\" }, \"Up\" },", + " third_down = { {\"ctrl\", \"alt\" }, \"Down\" },", + " top_left = { {\"ctrl\", \"cmd\"}, \"1\" },", + " top_right = { {\"ctrl\", \"cmd\"}, \"2\" },", + " bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },", + " bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },", + " max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },", + " max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },", + " undo = { { \"alt\", \"cmd\"}, \"z\" },", + " center = { { \"alt\", \"cmd\"}, \"c\" },", + " larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },", + " smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n left_half   = { {\"ctrl\",        \"cmd\"}, \"Left\" },\n right_half  = { {\"ctrl\",        \"cmd\"}, \"Right\" },\n top_half    = { {\"ctrl\",        \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\",        \"cmd\"}, \"Down\" },\n third_left  = { {\"ctrl\", \"alt\"       }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\"       }, \"Right\" },\n third_up    = { {\"ctrl\", \"alt\"       }, \"Up\" },\n third_down  = { {\"ctrl\", \"alt\"       }, \"Down\" },\n top_left    = { {\"ctrl\",        \"cmd\"}, \"1\" },\n top_right   = { {\"ctrl\",        \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\",        \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\",        \"cmd\"}, \"4\" },\n max_toggle  = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max         = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo        = { {        \"alt\", \"cmd\"}, \"z\" },\n center      = { {        \"alt\", \"cmd\"}, \"c\" },\n larger      = { {        \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller     = { {        \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n}
    \n
  • \n
\n", "signature": "WindowHalfsAndThirds.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowHalfsAndThirds:bindHotkeys(spoon.WindowHalfsAndThirds.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n left_half = { {\"ctrl\", \"cmd\"}, \"Left\" },\n right_half = { {\"ctrl\", \"cmd\"}, \"Right\" },\n top_half = { {\"ctrl\", \"cmd\"}, \"Up\" },\n bottom_half = { {\"ctrl\", \"cmd\"}, \"Down\" },\n third_left = { {\"ctrl\", \"alt\" }, \"Left\" },\n third_right = { {\"ctrl\", \"alt\" }, \"Right\" },\n third_up = { {\"ctrl\", \"alt\" }, \"Up\" },\n third_down = { {\"ctrl\", \"alt\" }, \"Down\" },\n top_left = { {\"ctrl\", \"cmd\"}, \"1\" },\n top_right = { {\"ctrl\", \"cmd\"}, \"2\" },\n bottom_left = { {\"ctrl\", \"cmd\"}, \"3\" },\n bottom_right= { {\"ctrl\", \"cmd\"}, \"4\" },\n max_toggle = { {\"ctrl\", \"alt\", \"cmd\"}, \"f\" },\n max = { {\"ctrl\", \"alt\", \"cmd\"}, \"Up\" },\n undo = { { \"alt\", \"cmd\"}, \"z\" },\n center = { { \"alt\", \"cmd\"}, \"c\" },\n larger = { { \"alt\", \"cmd\", \"shift\"}, \"Right\" },\n smaller = { { \"alt\", \"cmd\", \"shift\"}, \"Left\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -19932,7 +21682,7 @@ "doc_gfm": "

Binds hotkeys for WindowScreenLeftAndRight

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • screen_left, screen_right - move the window to the left/right screen (if you have more than one monitor connected, does nothing otherwise)
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", - "lineno": "87", + "lineno": "88", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -19951,27 +21701,43 @@ { "def": "WindowScreenLeftAndRight.animationDuration", "def_gfm": "WindowScreenLeftAndRight.animationDuration", - "desc": "Length of the animation to use for the window movements across the", - "doc": "Length of the animation to use for the window movements across the\nscreens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", - "doc_gfm": "

Length of the animation to use for the window movements across the\nscreens. nil means to use the existing value from\nhs.window.animationDuration. 0 means to disable the\nanimations. Default: nil.

\n", + "desc": "Length of the animation to use for the window movements across the screens.", + "doc": "Length of the animation to use for the window movements across the screens.\n\nNotes:\n * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.\n * Default: `nil`.", + "doc_gfm": "

Length of the animation to use for the window movements across the screens.

\n

Notes:

\n
    \n
  • nil means to use the existing value from hs.window.animationDuration. 0 means to disable the animations.
  • \n
  • Default: nil.
  • \n
\n", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "40", "name": "animationDuration", + "notes": [ + " * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.", + " * Default: `nil`." + ], + "notes_gfm": "
    \n
  • nil means to use the existing value from hs.window.animationDuration. 0 means to disable the animations.
  • \n
  • Default: nil.
  • \n
\n", "signature": "WindowScreenLeftAndRight.animationDuration", - "stripped_doc": "screens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "stripped_doc": "", "type": "Variable" }, { "def": "WindowScreenLeftAndRight.defaultHotkeys", "def_gfm": "WindowScreenLeftAndRight.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", - "doc_gfm": "

Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\nspoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)\nafter loading the spoon. Value:

\n\n
 {\n    screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n    screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }
\n", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "doc_gfm": "

Table containing a sample set of hotkeys that can be assigned to the different operations.

\n

Notes:

\n
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n}
    \n
  • \n
\n", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },", + " screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n}
    \n
  • \n
\n", "signature": "WindowScreenLeftAndRight.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, { @@ -19996,14 +21762,19 @@ { "def": "WindowScreenLeftAndRight.animationDuration", "def_gfm": "WindowScreenLeftAndRight.animationDuration", - "desc": "Length of the animation to use for the window movements across the", - "doc": "Length of the animation to use for the window movements across the\nscreens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", - "doc_gfm": "

Length of the animation to use for the window movements across the\nscreens. nil means to use the existing value from\nhs.window.animationDuration. 0 means to disable the\nanimations. Default: nil.

\n", + "desc": "Length of the animation to use for the window movements across the screens.", + "doc": "Length of the animation to use for the window movements across the screens.\n\nNotes:\n * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.\n * Default: `nil`.", + "doc_gfm": "

Length of the animation to use for the window movements across the screens.

\n

Notes:

\n
    \n
  • nil means to use the existing value from hs.window.animationDuration. 0 means to disable the animations.
  • \n
  • Default: nil.
  • \n
\n", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "40", "name": "animationDuration", + "notes": [ + " * `nil` means to use the existing value from `hs.window.animationDuration`. 0 means to disable the animations.", + " * Default: `nil`." + ], + "notes_gfm": "
    \n
  • nil means to use the existing value from hs.window.animationDuration. 0 means to disable the animations.
  • \n
  • Default: nil.
  • \n
\n", "signature": "WindowScreenLeftAndRight.animationDuration", - "stripped_doc": "screens. `nil` means to use the existing value from\n`hs.window.animationDuration`. 0 means to disable the\nanimations. Default: `nil`.", + "stripped_doc": "", "type": "Variable" }, { @@ -20014,7 +21785,7 @@ "doc_gfm": "

Binds hotkeys for WindowScreenLeftAndRight

\n

Parameters:

\n
    \n
  • mapping - A table containing hotkey objifier/key details for the following items:
      \n
    • screen_left, screen_right - move the window to the left/right screen (if you have more than one monitor connected, does nothing otherwise)
    • \n
    \n
  • \n
\n", "examples": [], "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", - "lineno": "87", + "lineno": "88", "name": "bindHotkeys", "notes": [], "notes_gfm": "", @@ -20031,14 +21802,25 @@ { "def": "WindowScreenLeftAndRight.defaultHotkeys", "def_gfm": "WindowScreenLeftAndRight.defaultHotkeys", - "desc": "Table containing a sample set of hotkeys that can be", - "doc": "Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", - "doc_gfm": "

Table containing a sample set of hotkeys that can be\nassigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\nspoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)\nafter loading the spoon. Value:

\n\n
 {\n    screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n    screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }
\n", + "desc": "Table containing a sample set of hotkeys that can be assigned to the different operations.", + "doc": "Table containing a sample set of hotkeys that can be assigned to the different operations.\n\nNotes:\n * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.\n * Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "doc_gfm": "

Table containing a sample set of hotkeys that can be assigned to the different operations.

\n

Notes:

\n
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n}
    \n
  • \n
\n", "file": "Source/WindowScreenLeftAndRight.spoon/init.lua", "lineno": "22", "name": "defaultHotkeys", + "notes": [ + " * These are not bound by default - if you want to use them you have to call: `spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)` after loading the spoon.", + " * Value:", + "```", + " {", + " screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },", + " screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },", + " }", + "```" + ], + "notes_gfm": "
    \n
  • These are not bound by default - if you want to use them you have to call: spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys) after loading the spoon.
  • \n
  • Value:\n
    {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n}
    \n
  • \n
\n", "signature": "WindowScreenLeftAndRight.defaultHotkeys", - "stripped_doc": "assigned to the different operations. These are not bound\nby default - if you want to use them you have to call:\n`spoon.WindowScreenLeftAndRight:bindHotkeys(spoon.WindowScreenLeftAndRight.defaultHotkeys)`\nafter loading the spoon. Value:\n```\n {\n screen_left = { {\"ctrl\", \"alt\", \"cmd\"}, \"Left\" },\n screen_right= { {\"ctrl\", \"alt\", \"cmd\"}, \"Right\" },\n }\n```", + "stripped_doc": "", "type": "Variable" }, {