Compare commits

...

4 Commits

Author SHA1 Message Date
bluepython508
8edac33374 Remove resolved TODO 2026-02-12 16:38:20 +00:00
bluepython508
f49896ae32 Don't return fibers to from spawn -- errors when parsing 2026-02-12 16:36:03 +00:00
bluepython508
b17a6df1b9 Don't crash Waybar's status-display by stringifying pulldown tuples 2026-02-12 16:35:39 +00:00
bluepython508
bdd32a8a6d Handle focus changes correctly on lock - refocus the "focused" window 2026-02-12 16:35:18 +00:00

View File

@@ -211,12 +211,11 @@
(defn seat/focus [seat window]
(defn focus-window [window]
(unless (= (seat :focused) window)
(:focus-window (seat :obj) (window :obj))
(put seat :focused window)
(set (wm :render-order) (filter |(not (= $ window)) (wm :render-order)))
(array/push (wm :render-order) window)
(:place-top (window :node))))
(:focus-window (seat :obj) (window :obj))
(put seat :focused window)
(set (wm :render-order) (filter |(not (= $ window)) (wm :render-order)))
(array/push (wm :render-order) window)
(:place-top (window :node)))
(defn clear-focus []
(when (seat :focused)
(:clear-focus (seat :obj))
@@ -287,6 +286,9 @@
(if (or (not (seat :focused-output)) ((seat :focused-output) :removed))
(seat/focus-output seat (first (wm :outputs))))
(when (not= (seat :layer-focus) :non-exclusive)
(seat/focus seat (seat :focused)))
(seat/focus seat nil)
(if-let [window (seat :window-interaction)]
@@ -428,7 +430,7 @@
:period ">"
"")
" "
(string/join (map |(string ":" $) (output :tags-other)))))
(string/join (map |(string ":" $) (filter keyword? (output :tags-other))))))
(defn action/target-in [obj list dir]
@@ -444,7 +446,8 @@
(action/target-in window windows dir)))
(defn spawn [command]
(ev/spawn (os/proc-wait (os/spawn ["/bin/sh" "-c" command] :p))))
(ev/spawn (os/proc-wait (os/spawn ["/bin/sh" "-c" command] :p)))
true)
(defn action/spawn [command]
(fn [seat binding] (spawn command)))
@@ -606,8 +609,6 @@
# TODO: layout flexibility
# TODO: swap display tags
# TODO: reload with repl?
(defn configure-keymap []