[hammerspoon][quitter] add per-app timeouts
change
commit e0696b27d623c985b030962834ce8c3fb1bccc15
author Alpha Chen <alpha@kejadlen.dev>
date
parent f8fee2f5
diff --git a/.hammerspoon/quitter.fnl b/.hammerspoon/quitter.fnl
index b6dc0cca..e889d6ce 100644
--- a/.hammerspoon/quitter.fnl
+++ b/.hammerspoon/quitter.fnl
@@ -10,7 +10,7 @@
 
 (local log (logger.new :quitter :debug))
 
-(local keep-apps [:Safari
+(local permanent [:Safari
                   :Arc
                   "Firefox Developer Edition"
                   :Ghostty
@@ -19,6 +19,8 @@
                   :Phanpy
                   :Obsidian])
 
+(local kill-delay {:Raindrop 900 "UniFi Protect" 900 :Zoom 1800})
+
 (local to-kill {})
 
 (fn kill [app]
@@ -47,12 +49,13 @@
   (when (= (app:kind) 1)
     (unmark app)
     (log.i (.. "marking " (app:name)))
-    (set (. to-kill (app:bundleID)) (timer.doAfter 300 #(kill app)))))
+    (set (. to-kill (app:bundleID))
+         (timer.doAfter (or (?. kill-delay (app:name)) 300) #(kill app)))))
 
 (fn mark-all-apps []
   (log.d :mark-all-apps)
   (each [_ app (ipairs (ifilter [(application.find "")]
-                                #(not (contains keep-apps ($1:name)))))]
+                                #(not (contains permanent ($1:name)))))]
     (mark app)))
 
 (local cw (caffeinate.watcher.new #(when (= $1 caffeinate.watcher.systemDidWake)