にてwatcherを使った実装をしていましたが、sleepから戻ると実行できなくなっていました。
調べて見ると
Hammerspoon のイベント監視が止まるのはGCのせい - Qiita
GC対象となってしまっていたようです。
対応方法は
local 宣言を外しグローバルスコープにするだけ。
@@ -40,7 +40,7 @@ local notVimBindingApps = { "Atom", "CotEditor", "iTerm", "Google Chrome", "Night Owl" } -local function handleGlobalAppEvent(name, event, app) +function handleGlobalAppEvent(name, event, app) if event == hs.application.watcher.activated then -- hs.alert(name) if hasValue(notVimBindingApps, name) then @@ -51,7 +51,7 @@ local function handleGlobalAppEvent(name, event, app) end end -local appsWatcher = hs.application.watcher.new(handleGlobalAppEvent) +appsWatcher = hs.application.watcher.new(handleGlobalAppEvent) appsWatcher:start()