summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorKen D'Ambrosio <ken.dambrosio@constantcontact.com>2026-07-11 23:03:10 -0400
committerKen D'Ambrosio <ken.dambrosio@constantcontact.com>2026-07-11 23:03:10 -0400
commit56856c7490d44beab065fdc2510cae33b973ccbc (patch)
tree4b37b4c1991d08ba01f52a0f8dc7dbe2177df99b /bin
parent6f5864ae666f80641c22cebe274802648b12d7f4 (diff)
Fix taskbar detection and off-screen floor landing; add periodic bathmaster
The taskbar (run, run_begin, jump, walk_task2, and everything gated on only="taskbar") was completely unreachable: WayfireWindows never populated self._taskbar, it was hardcoded to None. Detect it for real by unioning any wide, thin desktop-environment layer-shell surface (waybar, a top/bottom panel) anchored to top or bottom. That surfaced two more bugs once sheep actually started landing on it: - The taskbar floor was placed at the panel's top edge unconditionally, which is correct for a bottom-anchored bar but puts the sheep above y=0 (off-screen) for a top-anchored one like this desktop's waybar. Now it stands on whichever edge faces the screen interior. - Toplevel windows were used as landing floors regardless of whether their reported y was actually on the visible screen. This compositor's wide-viewport layout returns raw/absolute geometry for windows on other workspaces, so a window can have x within screen bounds while y sits off the top entirely — landing there also put sheep above y=0, invisible. Windows are now only used as floors when their top edge is within [0, screenH]. Also added a periodic timer (mirroring the existing eat/hop timers) to trigger the batha→bathb→bathc→bathd bath sequence on an idle sheep every 90-180s. It was only ever reachable via a ~3% spawn-time roll, so in practice it was almost never seen.
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions