Skip to content

Instantly share code, notes, and snippets.

@braddevelop
braddevelop / hellfred-basics.require-bootstrap.lua
Last active August 7, 2022 05:25
Hellfred Basics: Require the Hellfred bootstrap file
-- ~/.hammerspoon/init.lua
require('hellfred.hellfred-bootstrap')
@braddevelop
braddevelop / hellfred-basics.init-hellfire.lua
Created August 7, 2022 05:29
Hellfred Basics: Initialise Hellfire
-- ... hellfred/hellfred-bootstrap.lua
local hellfire = require('hellfred.hellfire.hellfire')
-- Initialise Hellfire, passing a hotkey
hellfire.init({{'shift','cmd'},'h'})
@braddevelop
braddevelop / hellfred-basics.hellfire-subs-struct.lua
Created August 7, 2022 05:34
Hellfred Basics: Hellfire subscriber structure
-- Structure of a Hellfire subscriber
{
trigger, -- a key or sequence of keys that triggers the callback
callback -- a function that wraps an action/behaviour
fireIfModeIs, -- only execute callback if Hellfire is in this mode
}
@braddevelop
braddevelop / hellfred-basics.hellfirepack-applications.lua
Last active August 9, 2022 05:12
Hellfred Basics: hellfirepack-applications
-- ... hellfred/extend/basics/hellfirepack-applications.lua
---
--- A convenience method to create Subscriber objects
---
--- @param trigger any A key or key sequence
--- @param app any Name of the app to launch
--- @return table Subscriber object
local _factory = function(trigger, app)
return {
@braddevelop
braddevelop / hellfred-basics.hellfire-reg-app-subs.lua
Last active August 7, 2022 05:44
Hellfred Basics: Hellfire - Register subs for applications
-- ... hellfred/hellfred-bootstrap.lua
-- Initialise Hellfire, passing a hotkey
hellfire.init({{'shift','cmd'},'h'})
-- Load subscribers from packs
-- ... other code ...
hellfire.addSubscribers(require('hellfred.extend.basics.hellfirepack-applications'))
@braddevelop
braddevelop / hellfred-basics.hellfirepack-common-links-1.lua
Created August 7, 2022 05:49
Hellfred Basics: hellfirepack-common-links step 1
@braddevelop
braddevelop / hellfred-basics.hellfire-reg-common-links-subs.lua
Last active August 9, 2022 05:15
Hellfred Basics: Hellfire - Register subs for common links
@braddevelop
braddevelop / hellfred-basics.hellfire-modes-extended.lua
Created August 7, 2022 05:58
Hellfred Basics: Hellfire modes extended
-- ... hellfred/extend/basics/hellfire-modes-extended.lua
local modes = {
COMMON_LINKS = {
name = 'Common Links'
},
}
return modes
@braddevelop
braddevelop / hellfred-basics.global-hellfire-modes.lua
Last active August 7, 2022 06:03
Hellfred Basics: Globally accessible Hellfire modes
-- ... hellfred/hellfred-bootstrap.lua
-- Metadata
-- ... metadata is here ..
_G.HELLFIRE_MODES = require('hellfred.hellfire.hellfire-modes')
_G.HELLFIRE_MODES_EXTENDED = require('hellfred.extend.basics.hellfire-modes-extended')
@braddevelop
braddevelop / hellfred-basics.hellfire-mode-triggers.lua
Created August 7, 2022 06:05
Hellfred Basics: hellfire-mode-triggers
-- ... hellfred/extend/basics/hellfire-mode-triggers.lua
---
--- A convenience method to create Subscriber objects
---
--- @param trigger any A key or key sequence
--- @param nextMode any Mode to change to
--- @return table Subscriber object
local _factory = function(trigger, nextMode)
return {