summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2026-07-11Fix taskbar detection and off-screen floor landing; add periodic bathmasterKen D'Ambrosio1-6/+58
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.
2026-07-11Use real flower sprite, add small hops, and --daemon flagKen D'Ambrosio1-51/+76
Flower now draws the sprite frames from animation 27 (looping while the sheep eats) instead of a procedurally-drawn petal graphic, matching the rest of the sprite-sheet-driven rendering. Also patches fall-soft (9), not just fall-hard (10), to occasionally bounce into boing on landing, and adds a periodic small hop for grounded/walking sheep so falls (and their boing chance) happen more than just from window-edge drops. --daemon detaches the process from the launching terminal so it survives shell exit without needing external backgrounding.
2026-06-05Fix flipped-sprite draw offset (right-facing sheep unclickable)Ken D'Ambrosio1-2/+2
The flip clip rect (-tile_w, 0, tile_w, tile_h) mapped to device x [dest_x+tile_w, dest_x+2*tile_w] — one tile_w off to the right — so the visual and the input hit-box didn't overlap for right-facing sheep. Correct clip is (0, 0, tile_w, tile_h) with source offset -sx/-sy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05Remove black sheep featureKen D'Ambrosio1-57/+8
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03Add hard-landing bounce and --exit flagKen D'Ambrosio1-1/+26
- 20% of hard falls (fall fast → fall hard) now trigger a boing instead of walking immediately, matching the original eSheep behaviour - esheep --exit kills all running eSheep instances (uses pgrep/SIGTERM, skips its own pid) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03Add flower-chomping, greetings, black sheep, and bumpingKen D'Ambrosio1-8/+194
- Flowers: every 60-120s a sheep stops to eat a daisy (procedurally drawn with petals disappearing as it chomps, using anim 26) - Greetings: two sheep approaching each other freeze and face one another for ~2s before going their separate ways - Bumping: overlapping sheep boing off each other and reverse direction - Black sheep: a near-black-tinted visitor wanders in from a random edge every 3-6 minutes, does the full blacksheep sequence (anims 28-34) and fades out; UFOs won't abduct it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03Add README, launcher script, and .desktop entryKen D'Ambrosio3-0/+96
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03Initial commit: esheep Wayland desktop petKen D'Ambrosio2-0/+2528
GTK3/cairo layer-shell desktop sheep for wlroots compositors (Wayfire, Sway, Hyprland). Parses original eSheep animations.xml, runs the full state machine, UFO abductions, Wayfire IPC window detection, and click-to-drag support. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>