{"id":25168696,"url":"https://github.com/inunix3/rxpipes","last_synced_at":"2025-05-01T13:41:29.256Z","repository":{"id":238006663,"uuid":"791439958","full_name":"inunix3/rxpipes","owner":"inunix3","description":"2D recreation of the ancient Pipes screensaver for terminals.","archived":false,"fork":false,"pushed_at":"2024-09-07T12:57:40.000Z","size":177,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T15:04:42.993Z","etag":null,"topics":["just-for-fun","pipes","rust","screensaver","terminal","termwiz","tui"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/rxpipes","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inunix3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-24T18:10:52.000Z","updated_at":"2025-02-07T13:56:57.000Z","dependencies_parsed_at":"2024-05-09T15:13:51.733Z","dependency_job_id":"f6d589ad-225d-4df8-a474-71e2155fd111","html_url":"https://github.com/inunix3/rxpipes","commit_stats":null,"previous_names":["inunix3/rxpipes"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inunix3%2Frxpipes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inunix3%2Frxpipes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inunix3%2Frxpipes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inunix3%2Frxpipes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inunix3","download_url":"https://codeload.github.com/inunix3/rxpipes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251882740,"owners_count":21659322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["just-for-fun","pipes","rust","screensaver","terminal","termwiz","tui"],"created_at":"2025-02-09T07:18:40.850Z","updated_at":"2025-05-01T13:41:29.236Z","avatar_url":"https://github.com/inunix3.png","language":"Rust","funding_links":[],"categories":["Table of Contents"],"sub_categories":[],"readme":"# rxpipes\nThis program is a 2D screensaver which recreates the Pipes screensaver from old MS Windows versions.\n\n## Features\n- 6 available piece sets (see the [Piece Sets](#piece-sets) section to see them).\n- Custom piece sets are supported.\n- **Depth mode** - in this mode several layers of pipes are drawn, and when a new layer is created,\nold pipes are made darker which gives a sense of depth. Usable only with RGB palette.\n- Background color setting (by default transparent).\n- Each pipe has its own color; available palettes are: none (colorless), base colors (16 colors\ndefined by your terminal) and RGB.\n- There is a gradient mode for use with RGB palette.\n- Stats widget - decoration that shows various pipe/piece/layer counters and the current pipe color.\n- Changeable FPS (frames per second).\n- The minimal and maximal length of pipes can be specified.\n- The maximal number of drawn characters can be also specified. To ignore this setting specify 0\nvia CLI. The screen will be cleared when this number is reached.\n- The probability of turning pipes is changeable, it's given as a percentage in decimal form (0 .. 1).\n- It enters an alternate screen so it won't mess up your previous output (if your terminal does not\nsupport alternate screen, see [Installation](#installation)).\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshots/screenshot_1.png\" alt=\"First screenshot with doubled pipes\" width=\"500\"\u003e\n  \u003cimg src=\"screenshots/screenshot_2.png\" alt=\"Second screenshot with bold pipes\" width=\"500\"\u003e\n  \u003cimg src=\"screenshots/screenshot_3.png\" alt=\"Third screenshot with depth-mode\" width=\"500\"\u003e\n  \u003cimg src=\"screenshots/screenshot_4.png\" alt=\"Fourth screenshot with enabled gradient mode\" width=\"500\"\u003e\n  \u003cimg src=\"screenshots/screenshot_5.png\" alt=\"Fifth screenshot with stats widget\" width=\"500\"\u003e\n\u003c/p\u003e\n\n## Installation\nYou'll need the Rust toolchain ([rustup](https://rustup.rs/) or from system package repo) and make\nsure it's up to date.\n\nWhen the toolchain will be prepared, type `cargo install rxpipes`. If you want to disable the\nalternate screen feature, add `--no-default-features` (currently, cargo does not support disabling\nof individual features).\n\nIf you have installed successfully rxpipes, you can now run the it simply by typing `rxpipes`. If\nthe shell says that the command does not exists, make sure that `$HOME/.cargo/bin` (or whatever the\ndefault cargo dir will be) is in the `PATH` environment variable.\n\nTo see all available options, pass `-h` or `--help`.\n\n## Controls\n| Key                             | Action                      |\n|---------------------------------|-----------------------------|\n| `q` / `Q` / `Escape` / `Ctrl-C` | Quit                        |\n| `Space`                         | Pause                       |\n| `c`                             | Clear screen                |\n| `s`                             | Show stats widget           |\n| `l`                             | Clear and redraw everything |\n| `,`                             | Change speed by -1          |\n| `.`                             | Change speed by +1          |\n| `\u003c`                             | Change speed by -10         |\n| `\u003e`                             | Change speed by +10         |\n\n## Piece Sets\n\nYou can select a set by passing `-P \u003cID\u003e` to rxpipes.\n\n| ID | Description                     | Image                             |\n|----|---------------------------------|-----------------------------------|\n| 0  | ASCII pipes                     | ![](screenshots/screenshot_p0.png) |\n| 1  | Thin dots                       | ![](screenshots/screenshot_p1.png) |\n| 2  | Bold dots                       | ![](screenshots/screenshot_p2.png) |\n| 3  | Thin pipes                      | ![](screenshots/screenshot_p3.png) |\n| 4  | Thin pipes with rounded corners | ![](screenshots/screenshot_p4.png) |\n| 5  | Double pipes                    | ![](screenshots/screenshot_p5.png) |\n| 6  | Bold pipes (default)            | ![](screenshots/screenshot_p6.png) |\n\n*The look of the selected set may differ from the screenshots as it depends on the font that you use.*\n\nTo set your own piece set see the `-c`/`--custom-piece-set` flag in the help message (`-h`).\n\n## Contribution\nIf you have found a problem or have a suggestion, feel free to open an issue or send a pull request.\nI'd appreciate it.\n\n## License\nThe rxpipes project is licensed under the [MIT license](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finunix3%2Frxpipes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finunix3%2Frxpipes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finunix3%2Frxpipes/lists"}