Better eww
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
{ lib, writeShellScriptBin, eww, systemd }:
|
||||
|
||||
# `eww open` silently becomes a NEW daemon when it can't reach the socket,
|
||||
# rebinding the same socket path and orphaning the previous daemon. The old
|
||||
# daemon keeps rendering its layer-shell surfaces but no longer answers any
|
||||
# `eww close` — that is the "zombie panel I can't close" / "bar opened twice".
|
||||
# Every open path must go through here first, so the socket is always live
|
||||
# before a client touches it and no client ever self-daemonizes.
|
||||
writeShellScriptBin "eww-ensure-daemon" ''
|
||||
${lib.getExe eww} ping >/dev/null 2>&1 && exit 0
|
||||
|
||||
${systemd}/bin/systemctl --user start eww.service >/dev/null 2>&1 || true
|
||||
|
||||
for _ in $(seq 1 100); do
|
||||
${lib.getExe eww} ping >/dev/null 2>&1 && exit 0
|
||||
sleep 0.1
|
||||
done
|
||||
exit 1
|
||||
''
|
||||
Reference in New Issue
Block a user