[hammerspoon] fix stopping of Quitter
change
commit 0a3de81e64213569da4cdf3253e7eb327e027638
author Alpha Chen <alpha@kejadlen.dev>
date
parent 933f775c
diff --git a/.hammerspoon/Spoons/Quitter.spoon/init.lua b/.hammerspoon/Spoons/Quitter.spoon/init.lua
index 84ba0c6a..a315ba8a 100644
--- a/.hammerspoon/Spoons/Quitter.spoon/init.lua
+++ b/.hammerspoon/Spoons/Quitter.spoon/init.lua
@@ -14,6 +14,11 @@ obj.license = "MIT - https://opensource.org/licenses/MIT"
 
 obj.logger = hs.logger.new("quitter", "debug")
 obj.lastFocused = {}
+obj.windowFocusedFn = function(window, appName)
+  local bundleID = window:application():bundleID()
+  if not obj.quitAppsAfter[bundleID] then return end
+  obj.lastFocused[bundleID] = os.time()
+end
 
 --- Quitter.quitAppsAfter
 --- Variable
@@ -38,11 +43,7 @@ function obj:start()
   end)
 
   -- Set last focused time for relevant apps
-  self.windowFilter = hs.window.filter.default:subscribe(hs.window.filter.windowFocused, function(window, appName)
-    local bundleID = window:application():bundleID()
-    if not self.quitAppsAfter[bundleID] then return end
-    self.lastFocused[bundleID] = os.time()
-  end)
+  self.windowFilter = hs.window.filter.default:subscribe(hs.window.filter.windowFocused, self.windowFocusedFn)
 
   self.timer = hs.timer.doEvery(60, function()
     self:reap()
@@ -59,7 +60,7 @@ end
 ---  * None
 function obj:stop()
   self.watcher:stop()
-  self.windowFilter:unsubscribe(hs.window.filter.windowFocused)
+  self.windowFilter:unsubscribe(hs.window.filter.windowFocused, self.windowFocusedFn)
   self.timer:stop()
 end