| Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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.
|
|
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>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- 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>
|
|
- 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>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
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>
|