Hammerspoon / Hammerspoon/Spoons
Making Spoons more Discoverable and Easier to Use
- Dominant language
- Lua
- Stars
- 567
- Forks
- 171
- PR merge metrics
- No merged PRs in 30d
Description
Spoons are a tremendous idea! Thanks for implementing. Should make HS much more approachable to non-experts. Currently they are a bit hard to discover and use for novices. Some ideas to make this easier for even non-Lua-aware users (based loosely on how Emacs packages work):
- A list of Spoons in the repository, with version, one-line description, an accessible longer description, website, and author for each, linked to from the HS menu. A popularity score based on download count would be useful too.
- Enable/disable installed Spoons and list associated bindings from a menu.
- A minimal example for configuring each Spoon would be very helpful (on the Spoon's website).
- Instead of the current (and hard to discover) Spoon invocation method of:
```Lua
local obj=hs.loadSpoon(NAME)
obj:bindHotKeys(...)
obj:start()
```
consider a simpler method that "just works" out of the box — loading and starting all installed spoons _automatically_, and offering a fully optional configuration field to interact with the Spoon, ala
```Lua
SpoonName.config={Hotkeys = {DoFeature = {{"ctrl"},"c"}},
configVar1 = "MyLabel",
configVar2 = 1.0}
```
This would require Spoon authors to create sensible defaults for these that work "out of the box" (even for key bindings!). HS would need to report on duplicate bindings. But many people would just adopt the default.
For this method to work, HS would load all Spoons, run the user config files to pick up any optional new configuration, then start all loaded and enabled Spoons.
Maybe this is too big a change this late. If the load/bind/start version is kept, some clear examples of this pattern in the docs would be helpful.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.