Giter VIP home page Giter VIP logo

rxpipes's Introduction

rxpipes

This program is a 2D screensaver which recreates the Pipes screensaver from old MS Windows versions.

Features

  • 6 available piece sets (see the Piece 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.
  • Each pipe has its own color; available palettes are: none (colorless), base colors (16 colors defined 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 0 via 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 not support alternate screen, see Installation).

Screenshots

First screenshot with doubled pipes Second screenshot with bold pipes Third screenshot with depth-mode Fourth screenshot with enabled gradient mode Fifth screenshot with stats widget

Installation

You'll need the Rust toolchain (rustup or from system package repo) and make sure it's up to date.

When the toolchain will be prepared, type cargo install rxpipes. If you want to disable the alternate screen feature, add --no-default-features (currently, cargo does not support disabling of individual features).

If you have installed successfully rxpipes, you can now run the it simply by typing rxpipes. If the shell says that the command does not exists, make sure that $HOME/.cargo/bin (or whatever the default cargo dir will be) is in the PATH environment variable.

To see all available options, pass -h or --help.

Controls

Key Action
q / Q / Escape Quit
Space Pause
c Clear screen
s Show stats widget
l Clear and redraw everything

Piece Sets

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).

Contribution

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.

License

The rxpipes project is licensed under the MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.