diff options
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | docs.json | 83 | ||||
-rw-r--r-- | init.lua | 36 |
3 files changed, 127 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c03d62a --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +HS ?= /Applications/Hammerspoon.app/Contents/Resources/extensions/hs/ipc/bin/hs + +.PHONY: doc +doc: docs.json + +docs.json: *.lua + $(HS) -c "hs.doc.builder.genJSON(\"$(CURDIR)\")" \ + | grep -v "^--" > $@ diff --git a/docs.json b/docs.json new file mode 100644 index 0000000..269959e --- /dev/null +++ b/docs.json @@ -0,0 +1,83 @@ +[ + { + "Constant" : [ + + ], + "submodules" : [ + + ], + "Function" : [ + + ], + "Variable" : [ + + ], + "stripped_doc" : [ + + ], + "desc" : "Adds a hotkey mode for manipulating windows.", + "type" : "Module", + "Deprecated" : [ + + ], + "Constructor" : [ + + ], + "doc" : "Adds a hotkey mode for manipulating windows.\n\nUpon activating the mode, the following shortcuts are available:\n\nh: Move window left 20 units\nj: Move window down 20 units\nk: Move window up 20 units\nl: Move window right 20 units\n\nShift-h: Move window left 5 units\nShift-j: Move window down 5 units\nShift-k: Move window up 5 units\nShift-l: Move window right 5 units\n\n[: Move window left one screen\n]: Move window right one screen\n\ne: Reduce window height 20 units\ns: Reduce window width 20 units\nd: Increase window height 20 units\nf: Increase window width 20 units\n\nShift-e: Reduce window height 5 units\nShift-s: Reduce window width 5 units\nShift-d: Increase window height 5 units\nShift-f: Increase window width 5 units", + "Field" : [ + + ], + "Command" : [ + + ], + "items" : [ + { + "doc" : "Bind keys for WindowMode\n\nParameters:\n * mapping – A table containing hotkey modifier\/key details for the following items:\n * mode – Activate and deactivate window mode", + "desc" : "Bind keys for WindowMode", + "stripped_doc" : [ + "Bind keys for WindowMode", + "" + ], + "parameters" : [ + " * mapping – A table containing hotkey modifier\/key details for the following items:", + " * mode – Activate and deactivate window mode" + ], + "notes" : [ + + ], + "signature" : "WindowMode:bindModal(mapping)", + "type" : "Method", + "returns" : [ + + ], + "def" : "WindowMode:bindModal(mapping)", + "name" : "bindModal" + } + ], + "Method" : [ + { + "doc" : "Bind keys for WindowMode\n\nParameters:\n * mapping – A table containing hotkey modifier\/key details for the following items:\n * mode – Activate and deactivate window mode", + "desc" : "Bind keys for WindowMode", + "stripped_doc" : [ + "Bind keys for WindowMode", + "" + ], + "parameters" : [ + " * mapping – A table containing hotkey modifier\/key details for the following items:", + " * mode – Activate and deactivate window mode" + ], + "notes" : [ + + ], + "signature" : "WindowMode:bindModal(mapping)", + "type" : "Method", + "returns" : [ + + ], + "def" : "WindowMode:bindModal(mapping)", + "name" : "bindModal" + } + ], + "name" : "WindowMode" + } +] @@ -1,3 +1,32 @@ +--- === WindowMode === +--- +--- Adds a hotkey mode for manipulating windows. +--- +--- Upon activating the mode, the following shortcuts are available: +--- +--- h: Move window left 20 units +--- j: Move window down 20 units +--- k: Move window up 20 units +--- l: Move window right 20 units +--- +--- Shift-h: Move window left 5 units +--- Shift-j: Move window down 5 units +--- Shift-k: Move window up 5 units +--- Shift-l: Move window right 5 units +--- +--- [: Move window left one screen +--- ]: Move window right one screen +--- +--- e: Reduce window height 20 units +--- s: Reduce window width 20 units +--- d: Increase window height 20 units +--- f: Increase window width 20 units +--- +--- Shift-e: Reduce window height 5 units +--- Shift-s: Reduce window width 5 units +--- Shift-d: Increase window height 5 units +--- Shift-f: Increase window width 5 units + -- Copyright (c) 2019 Teddy Wing -- -- This program is free software: you can redistribute it and/or modify @@ -31,6 +60,13 @@ obj.spoonPath = script_path() local window = dofile(obj.spoonPath .. '/window.lua') +--- WindowMode:bindModal(mapping) +--- Method +--- Bind keys for WindowMode +--- +--- Parameters: +--- * mapping – A table containing hotkey modifier/key details for the following items: +--- * mode – Activate and deactivate window mode function obj:bindHotkeys(keys) local mode = keys['mode'] window:bindModal(mode[1], mode[2]) |