Note
This project was largely LLM generated.
This contains a port of eSheep to KWin wayland.
Wayland doesn't provide the position of other windows on the desktop, and you can't even (easily) position your own window in global coordinates.
To work around the second issue, a wlr-layer-shell overlay spanning the whole desktop is created. This is a standard protocol and should work, more or less, on all wayland composers implementing it.
To be able to let sheep interact with the windows on your desktop, compositor specific workarounds are required. For KWin, this is a KWin script over D-Bus, and there's an as of yet untested implementation using Hyprland IPC.
This reuses the assets from Adrianotiger/desktopPet, which itself is a port of the original Sheep program to 64-bit windows.
The Sheep program is based on the work of Japanese animator Tatsutoshi Nomura's 1994 "Stray Sheep" series of five-minute animation shorts that were shown at midnight on the Fuji Television network in Japan. A series of books followed from Mr. Nomura a decade later as well as other merchandise including Playstation games.
My own code, that is, the Rust files in this repository, is put into public domain and licensed under CC0-1.0 OR MIT OR Unlicense - at your convenience. The sheep assets retain their original copyright.