7 releases
0.2.1 | Aug 18, 2024 |
---|---|
0.2.0 | Aug 16, 2024 |
0.1.4 | Aug 15, 2024 |
#287 in Command-line interface
557 downloads per month
285KB
762 lines
ttysvr
Screensavers for your terminal.
Uses bevy_ratatui_render, my bevy plugin that allows you to render a bevy application to the terminal using ratatui and ratatui-image.
Triggering immediately works in any shell, triggering after a delay is currently Zsh only.
installation
# cargo
cargo install --locked ttysvr
# homebrew
brew install cxreiff/tap/ttysvr
usage
Starts the screensaver immediately. If no variant is specified, one is randomly selected.
ttysvr [VARIANT]
Some variants have subvariants.
ttysvr [VARIANT] [SUBVARIANT]
Sets up the screensaver to activate after DELAY
seconds of inactivity in your current shell session.
eval `ttysvr [VARIANT] --init [DELAY]`
Cancels the screensaver in your current shell session.
eval `ttysvr --cancel`
[!IMPORTANT] Note that the
--init
and--cancel
options require being wrapped ineval
and backticks. This is because activating the screensaver after a set period of inactivity relies on setting the TMOUT environment variable in your current shell, instead of the child shell created by thettysvr
process. Issues/PRs are greatly appreciated if somebody is aware of a better way of doing this!
variants
variant | subvariants? | description |
---|---|---|
bubbles | Colorful bubbles bounce around the screen. | |
logo | dvd , tty |
DVD player style bouncing logo. |
maze | Not yet implemented. |
compatibility
zsh only
The screensaver delay works based on setting a session timeout and catching the ALRM signal in a way only compatible with ZSH. If you know a way to achieve something similar in another shell, please open an issue!
terminal
This requires that your terminal:
- Supports 24bit color.
- Has reasonably efficient rendering.
This includes a decent variety of terminals, but I have personally confirmed good results in the following:
- Alacritty (macOS, linux)
- Kitty (macOS)
- WezTerm (macOS)
- iTerm2 (macOS)
Dependencies
~32–46MB
~755K SLoC