diff options
| author | Ken D'Ambrosio <ken.dambrosio@constantcontact.com> | 2026-06-03 21:32:55 -0400 |
|---|---|---|
| committer | Ken D'Ambrosio <ken.dambrosio@constantcontact.com> | 2026-06-03 21:32:55 -0400 |
| commit | ef25374771e78d503d14446ed9d637306c0eb224 (patch) | |
| tree | 79f2357966182ebda0272fd90a4cbf2e389a1d5e /README.md | |
| parent | 860bb203df525648d1d143421d3edce505923907 (diff) | |
Add README, launcher script, and .desktop entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..59a7e04 --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# esheep-wayland + +A Wayland desktop pet — the classic eSheep, ported to run as a +wlr-layer-shell overlay on wlroots-based compositors (Wayfire, Sway, +Hyprland, etc.). + +The sheep wanders along the bottom of your screen, climbs on top of +open windows, gets abducted by UFOs, and can be picked up and dragged +anywhere with the mouse. + +## Requirements + +- A wlroots compositor with `wlr-layer-shell` support (Wayfire, Sway, Hyprland, …) +- Python 3.8+ +- `gtk3` +- `gtk-layer-shell` +- Python packages: `pygobject`, `pycairo`, `Pillow`, `numpy` +- For window-top landing: the [pywayfire](https://github.com/WayfireWM/pywayfire) package and the `ipc` + `ipc-rules` Wayfire plugins enabled + +### Install Python dependencies + +```bash +pip install pygobject pycairo Pillow numpy wayfire +``` + +### Enable Wayfire IPC (for window detection) + +In `~/.config/wayfire.ini`, add `ipc` and `ipc-rules` to your plugins line: + +```ini +[core] +plugins = ... ipc ipc-rules ... +``` + +Then restart Wayfire. + +## Installation + +```bash +# Copy files into place +mkdir -p ~/.local/share/esheep ~/.local/bin +cp esheep.py animations.xml ~/.local/share/esheep/ +cp bin/esheep ~/.local/bin/esheep +chmod +x ~/.local/bin/esheep + +# Optional: install the .desktop entry +cp esheep.desktop ~/.local/share/applications/ +``` + +## Usage + +```bash +esheep # one sheep +esheep --count 3 # three sheep +``` + +### Click-to-drag + +Left-click the sheep and drag him anywhere on screen. Release and he +falls back to the nearest surface below him. + +## Options + +| Option | Default | Description | +|--------|---------|-------------| +| `--xml PATH` | `animations.xml` next to the script | Path to animations XML | +| `--count N` | `1` | Number of sheep to spawn | + +## Files + +| File | Description | +|------|-------------| +| `esheep.py` | Main script | +| `animations.xml` | Sprite sheet and animation state machine (original eSheep format) | +| `bin/esheep` | Shell launcher | +| `esheep.desktop` | XDG desktop entry | + +## Credits + +- Original eSheep concept and animations by [Adriano Petrucci](https://esheep.petrucci.ch/) +- Wayland port and click-to-drag by ken + Claude |
