# termatrix Cli application to simulate the falling glyphs from "The Matrix" in your terminal (forked from [rustmatrix](https://github.com/meganehouser/rustmatrix)). tematrix color scrolling GIF ## Installation ### Cargo ```shell cargo install termatrix ``` ### NetBSD ```shell pkgin install termatrix ``` ## Usage ```shell $ termatrix --help termatrix USAGE: termatrix [OPTIONS] OPTIONS: -c, --colors Weighted sequence of colors (repeat color character for greater weight). Valid chars are: b, c, g, k, m, r, w, y [env: TERMATRIX_COLORS=] [default: g] -d, --min-step-delay Minimum value of trace (column) scroll delay in milliseconds. [env: TERMATRIX_MIN_STEP_DELAY=] [default: 40] -D, --max-step-delay Maximum value of trace (column) scroll delay in milliseconds. [env: TERMATRIX_MAX_STEP_DELAY=] [default: 120] -f, --update-frequency Refresh rate (in Hz) for terminal updates. [env: TERMATRIX_UPDATE_FREQUENCY=] [default: 60] -g, --glyph-set The set of glyphs which should be displayed. [env: TERMATRIX_GLYPH_SET=] [default: all] [possible values: all, alpha, alpha_lower, alpha_upper, alphanum, binary, decimal, hex, hex_lower, hex_upper, special] -h, --help Print help information ``` ## Customization ## Default Defaults to green glyphs: ``` termatrix ``` termatrix green ## Colors You can select a combination of colors via the --colors/-c option: ``` termatrix -c rgbcmy ``` Or via the `TERMATRIX_COLORS` environment variable: ``` TERMATRIX_COLORS=rgbcmy termtarix ``` termtarix color ## Glyph Sets You can select the subset of glyphs to display via the --glyph-set/-g option: ``` termatrix -g binary ``` Or via the `TERMATRIX_GLYPH_SET` environment variable: ``` TERMATRIX_GLYPH_SET=special termtarix ``` This adjusts which characters compose the alphabet from which each trace can select. For example, the `binary` glyph set only includes the characters `0` and `1`. ## Step Delays Step delay is a minimum duration between updates to a trace (vertial cluster of glyphs). The step delay for each trace is a randomly selected duration between the `-min-step-delay` and the `--max-step-delay`. The variation in step delays results in faster traces passing slower traces. If `--min-step-delay` and `--max-step-delay` are the same, all traces will move at the same rate.