Home/Projects/GuineaPig Desktop

C# · Python · 2026 · Windows · Linux

GuineaPig Desktop

A pixel guinea pig that lives on your desktop. Like a desktop hamster, but a guinea pig. It sleeps when guinea pigs sleep, wanders the empty parts of your desktop, purrs when you pet it, and squeaks every morning until you feed it. The Windows build is C# on .NET 9; the Pop!_OS port is Python, GTK 3 and GStreamer.

11pm–7ammain sleep, plus daytime naps
2platforms with full feature parity
1+pigs, each in its own window
1food icon you duplicate to feed it

What it does

It acts like a guinea pig.

01

Transparent and click-through

A per-pixel alpha window. Only the pig is solid; clicks on empty space go straight to your desktop.

02

Avoids your icons

On Windows it reads the real desktop icon positions and steers around them.

03

Pet it to hear it purr

Move the mouse slowly back and forth over the pig. It switches sprites, loops purr.wav and floats hearts.

04

Feed it every morning

Copy the Guinea Pig Food icon, drag the copy onto the pig, and watch it eat. The master icon is never eaten.

05

Idle wheeks

Random wheeks get more likely as feeding time gets closer.

06

Wayland ready

On COSMIC it uses gtk-layer-shell so the pig can still sit on top of everything.

Sleep schedule

Right now, your pig would be awake.

Guinea pigs are crepuscular: most active around dawn and dusk. The clock uses your local time.

Two platforms, one pig

WindowsPop!_OS / Linux
LanguageC# on .NET 9Python 3, GTK 3, GStreamer
Installdotnet publish, single exe.deb package, or install.sh
Starts withWindows Run key (HKCU)XDG autostart entry
Click-throughPer-pixel alpha layered windowInput shape from the sprite's alpha
Avoids iconsYes, reads real icon positionsRoams freely (no icon API)
Waylandn/agtk-layer-shell on COSMIC
Save file%APPDATA%\GuineaPigDesktop\state.json~/.config/GuineaPigDesktop/state.json

Try it: click the pig, or move your mouse slowly back and forth over it until it purrs.