Diagnosed live in a VM: the bar rendered twice (two stacked rows). `hyprctl layers` showed two `gtk-layer-shell` bar surfaces owned by two different eww pids — an `eww daemon` and an `eww open bar`. The monitor count was correctly 1, so the per-monitor loop was not at fault. Root cause: ewwstart.sh started `eww daemon` and then immediately ran `eww open` in a loop. The first `eww open` frequently ran before the freshly-started daemon was ready, so it spawned its OWN second daemon and drew a second bar. Fix (all three DE variants — hyprlua, hyprland, niri): - Drop the separate `eww daemon`; rely on `eww open` to auto-start the daemon and block until the window is mapped, so the first call establishes a single daemon that the rest reuse (no race, no second daemon). - killall eww + short settle before opening, so a reload starts clean. - hyprlua/hyprland: count monitors via `hyprctl monitors -j | jq length` instead of the fragile `hyprctl monitors | grep ID | wc -l`. - export GTK_THEME (the bare assignment never took effect). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5kHioUMK3mtf2eiLEozCM |
||
|---|---|---|
| .. | ||
| hyprland | ||
| hyprlua | ||
| niri | ||
| sway | ||
| migrate-hyprland-to-hyprlua.sh | ||