[Media] I built a terminal screensaver using ratatui

443 points AtmosphereRich4021 27 comments
[Media] I built a terminal screensaver using ratatui

So I built a tui screensaver... Ig? (who cares, it looks cool)....basically, if your shell sits idle for a while, it takes over your terminal with an animated pixel-art scene. The moment you press any key, it disappears and drops you right back to your prompt, just like an old-school screensaver.

current scenes:

  • Cafe (default): a cozy cat café with two animated cats wandering around, a neon sign, rain running down the window, and pastries in the display case.
  • City: a cyberpunk skyline with neon buildings, flying traffic, rain, and your distro logo flashing on one of the buildings.

the City theme is reverse-engineered from Metropolis (https://github.com/5c0/metropolis). I came across their project and it inspired me to build this, so huge thanks to them for the amazing work....the Cat Café scene was also inspired by some post I saw on reddit.

Stack: Rust, Ratatui, Crossterm, and the Kitty graphics protocol.

the release binary is only ~1.4 mb with no runtime dependencies.

Now i cant post videos/gifs here so y can check the demo in the github readme.

If you want to try it out, check: https://github.com/Itz-Agasta/metrocity