Need help?
<- Back

Comments (63)

  • throwaway2037
    How can anyone have a bad day when great projects like this pop up on the front page of HN?Did you see the library of viz? https://github.com/attogram/bash-screensavers/blob/main/libr...My favourite API: lov_die_with_honor()
  • jsmailes
    I like how all the tests seem to be contained within a "jury" folder which judges the merit of your code, made me smile - It's always nice for open-source/FOSS projects to retain a bit of whimsy and joy.
  • attogram
  • seba_dos1
    You can put them onto your Plasma wallpaper and/or lockscreen background with plasma-wallpaper-application: https://invent.kde.org/dos/plasma-wallpaper-application(thought I'd share that since its raison d'ĂȘtre was to put Asciiquarium there :))
  • PessimalDecimal
    I've used Emacs for years but just recently learned about zone.el. I wonder if this is based on it too. I see some of the same screensavers here.
  • dakinitribe
    Never a nice surprise when I find rm -rf / --no-preserve-root in a public repo, apart from this time!Also, found one of the easter eggs!
  • dorianmariecom
    a simple one: #!/usr/bin/env bash _cleanup_and_exit() { tput cnorm tput sgr0 clear exit 0 } trap _cleanup_and_exit SIGINT while true; do width=$(tput cols) height=$(tput lines) tput setab 0 clear tput civis x=$((RANDOM % width + 1)) y=$((RANDOM % height + 1)) color_code=$((RANDOM % 256)) printf "\e[${y};${x}H\e[38;5;${color_code}m" sleep 1 done
  • Agingcoder
    Why bother with Xwindow when you can have this ?
  • lucideer
    Nice!First feature request: allow disabling all the `tput setab 0` calls throughout the codebase. This may make screensavers look weird on white terminals but should improve them for anyone using non-black-but-dark terminal themes.
  • culebron21
    In the good ol' days, ~1990, Norton Commander had a screensaver with stars, similar to the one in the gallery readme, but with fewer stars, that grew from a dot to bigger dot, to shining, then bursted. Nice to see something like that again.
  • LeoPanthera
    Of course, if used as an actual screensaver on a phosphor or plasma based screen, eventually the character grid would be burned into your screen.A lot of screensavers, even historically, forget the original purpose of what "saving" your screen means.
  • nickstinemates
    You can also experiment and make your own[1] using TerminalTextEffects[2]. I added this to my ~/.zshrc > /home/keeb/code/projects/login/motd.sh Which has.. #!/usr/bin/env zsh values=("bubbles" "slide" "beams" "rain" "pour" "synthgrid" "unstable" "poop") len=${#values[@]} index=$(( (RANDOM % (len - 1)) + 1 )) selected=${values[$index]} cat /home/keeb/code/projects/login/motd | tte $selected Change motd to have an ascii art of your choice. Run it in a loop if you want :)1: https://keeb.dev/static/login.mp4 2: https://github.com/ChrisBuilds/terminaltexteffects
  • huhtenberg
    For the 'life' screensaver it might make sense to use half blocks as a base rendering unit. ASCII 220 and 223.
  • skeptrune
    I love seeing projects like this on the front page. They are so fun and can be little small tricks that improve your quality of life drastically.
  • LocoPadre
    Recommendation: Use the terminal control codes 1049h and 1049l [1][2] to keep the terminal 'clean'.[1]: https://en.wikipedia.org/wiki/ANSI_escape_code#Control_Seque...[2]: https://unix.stackexchange.com/a/789031
  • rkapsoro
    fwiw I've noticed that Omarchy[1] uses some terminal-based screensavers, using something called tte[2] to do so.1: https://omarchy.org/2: https://github.com/ChrisBuilds/terminaltexteffects
  • anon
    undefined
  • corranh
    Very cool! Reminds me of the various 90s movie pretend hacker typing screensavers like Neo-HackerTyper.
  • Evidlo
    Why does the cursor flicker around the screen for most of these? Does it have something to do with not double buffering the display?
  • panki27
    For tmux users: you can use the lock-command option with something like cmatrix for a quick and dirty screensaver.
  • hk1337
    This reminds me of having a screensaver in DOS.
  • FergusArgyll
    CoolWhat are those commit messages?
  • _def
    unfortunately quite inefficient, I'm sure higher framerates must be possible(at least when running in docker, maybe that's the bottleneck, but I hesitated to run this on my machine directly)
  • alejoar
    Doesn't work for me on MacOS:I get "mapfile: command not found"
  • ratelimitsteve
    ive always wanted to build something like this for divination, an X by Y field in which each cell is randomly assigned a character from a set which refreshes on a tick that you're meant to just gaze on and look for spontaneous patterns in, maybe with some conway game of life style rules about how cells can be more or less likely to update based on the states of their neighbors. Fork incoming.
  • imiric
    Nice! I won't use this since screensavers are much more interesting when not limited to characters, but this is a neat project.Screensavers are a lost art. I still enjoy them, but at some point we just gave up on them. In the era of CRTs they had a practical purpose (they're screen savers, after all), but modern OLED displays also suffer from burn-in for which screensavers would be useful. My enjoyment is purely aesthetic, though. Sometimes I just want to have something pleasing to glance at in the background, instead of a black screen.Nowadays most operating systems and desktop environments don't even support them. The state of the art on Linux still seems to be `xscreensaver`, which does have many great ones, but the collection is static, and most of it is visually stuck in the 90s. I wouldn't even try getting it to run on Wayland, and when I last looked into it, it required some hacks and 3rd-party tools.Also, I've always found the feature of screen locking and screen saving to be orthogonal. Often I want to see pretty graphics without locking my screen, and viceversa.