- Notifications
You must be signed in to change notification settings - Fork2
2D recreation of the ancient Pipes screensaver for terminals.
License
inunix3/rxpipes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This program is a 2D screensaver which recreates the Pipes screensaver from old MS Windows versions.
- 6 available piece sets (see thePiece Sets section to see them).
- Custom piece sets are supported.
- Depth mode - in this mode several layers of pipes are drawn, and when a new layer is created,old pipes are made darker which gives a sense of depth. Usable only with RGB palette.
- Background color setting (by default transparent).
- Each pipe has its own color; available palettes are: none (colorless), base colors (16 colorsdefined by your terminal) and RGB.
- There is a gradient mode for use with RGB palette.
- Stats widget - decoration that shows various pipe/piece/layer counters and the current pipe color.
- Changeable FPS (frames per second).
- The minimal and maximal length of pipes can be specified.
- The maximal number of drawn characters can be also specified. To ignore this setting specify 0via CLI. The screen will be cleared when this number is reached.
- The probability of turning pipes is changeable, it's given as a percentage in decimal form (0 .. 1).
- It enters an alternate screen so it won't mess up your previous output (if your terminal does notsupport alternate screen, seeInstallation).
You'll need the Rust toolchain (rustup or from system package repo) and makesure it's up to date.
When the toolchain will be prepared, typecargo install rxpipes
. If you want to disable thealternate screen feature, add--no-default-features
(currently, cargo does not support disablingof individual features).
If you have installed successfully rxpipes, you can now run the it simply by typingrxpipes
. Ifthe shell says that the command does not exists, make sure that$HOME/.cargo/bin
(or whatever thedefault cargo dir will be) is in thePATH
environment variable.
To see all available options, pass-h
or--help
.
Key | Action |
---|---|
q /Q /Escape /Ctrl-C | Quit |
Space | Pause |
c | Clear screen |
s | Show stats widget |
l | Clear and redraw everything |
, | Change speed by -1 |
. | Change speed by +1 |
< | Change speed by -10 |
> | Change speed by +10 |
You can select a set by passing-P <ID>
to rxpipes.
ID | Description | Image |
---|---|---|
0 | ASCII pipes | ![]() |
1 | Thin dots | ![]() |
2 | Bold dots | ![]() |
3 | Thin pipes | ![]() |
4 | Thin pipes with rounded corners | ![]() |
5 | Double pipes | ![]() |
6 | Bold pipes (default) | ![]() |
The look of the selected set may differ from the screenshots as it depends on the font that you use.
To set your own piece set see the-c
/--custom-piece-set
flag in the help message (-h
).
If you have found a problem or have a suggestion, feel free to open an issue or send a pull request.I'd appreciate it.
The rxpipes project is licensed under theMIT license.
About
2D recreation of the ancient Pipes screensaver for terminals.