Files
hammerspoon/affine_quick_note copy.lua
T
2026-05-14 18:59:23 -04:00

57 lines
1.7 KiB
Lua

-- ~/.hammerspoon/affine_quick_note.lua
local obj = {}
-- CONFIGURATION
local NODE_PATH = "/opt/homebrew/bin/node"
local SYNC_SCRIPT = os.getenv("HOME") .. "/.hammerspoon/scripts/sync_note.js"
local function affineQuickNote(text)
local syncNotify = hs.notify.new({
title="AFFiNE Sync",
informativeText="Syncing large note... Please wait."
}):send()
local task = hs.task.new(NODE_PATH, function(exitCode, stdOut, stdErr)
syncNotify:withdraw()
if exitCode == 0 then
hs.notify.new({title="AFFiNE Success", informativeText="Multi-line note appended."}):send()
else
hs.notify.new({title="AFFiNE Error", informativeText="Check Console."}):send()
print("Sync Error: " .. stdErr)
end
end, {SYNC_SCRIPT, text})
task:start()
end
-- Function to trigger a proper macOS multi-line text box
local function getMultiLineInput()
local appleScript = [[
tell application "System Events"
activate
set theResponse to display dialog "Enter your detailed note:" default answer "" with title "AFFiNE Multi-Line Capture" buttons {"Cancel", "Send"} default button "Send"
return text returned of theResponse
end tell
]]
local ok, result = hs.applescript(appleScript)
if ok and result ~= "" then
return result
end
return nil
end
function obj.init()
if hyper then
hs.hotkey.bind(hyper, "N", function()
local text = getMultiLineInput()
if text then
affineQuickNote(text)
end
end)
else
print("AFFiNE Error: 'hyper' variable not found.")
end
end
return obj