You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 25ef6d8
Browse filesBrowse the repository at this point in the historyBrowse files

6
6
7
-
> [!NOTE]
8
-
>
9
-
> Just a simple program I made while learning Rust!
10
7
11
8
## 🌟 Features
12
9
@@ -20,11 +17,19 @@ The matrixfall effect in the terminal.
20
17
21
18
## 🛠️ Installation
22
19
20
+
Install a prebuilt binary from the [latest GitHub release](https://github.com/Shresht7/matrixfall/releases/latest).
21
+
23
22
> [!NOTE]
24
23
>
25
24
> To install and run matrixfall, you will need to have Rust and Cargo installed on your system. You can install Rust and Cargo by following the instructions at [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install).
26
25
27
-
You can clone the repository and build the project:
26
+
You can install matrixfall from [crates.io](https://crates.io/crates/matrixfall) using Cargo. To do this, run the following command in your terminal:
27
+
28
+
```sh
29
+
cargo install matrixfall
30
+
```
31
+
32
+
Alternatively, you can clone the repository and build the project from source:
|`--mode`|`Original`| Character symbol set. Use a built-in mode or any non-empty custom character set. |
92
+
|`--stream-color`|`0,255,70`| Stream color. Accepts `R,G,B`, `#RRGGBB`, or a named color such as `green`. |
93
+
|`--stream-color-gradient-factor`|`0.33`| Multiplier controlling how much the stream color fades toward its tail. |
94
+
|`--leading-entity-color`|`200,255,200`| Color of the leading character in each stream. |
95
+
|`--leave-trail`| off | Retains characters after streams pass. |
96
+
|`--fps`|`60`| Target frames per second. |
97
+
|`--direction`|`down`| Direction in which streams move. |
98
+
|`--stream-min-count`|`5`| Minimum number of characters in a stream. |
99
+
|`--stream-max-count`|`25`| Maximum number of characters in a stream. |
100
+
|`--stream-spacing`|`2`| Number of terminal columns or rows between streams, depending on direction. |
101
+
|`--switch-interval`|`1`| Maximum number of seconds before a character changes randomly. |
102
+
103
+
### Colors
83
104
84
-
*`mode`: The character symbol set to use. Valid options include "Original", "Binary", "Decimal", "Math", "ASCII", "Braille", "Emoji", and custom sets like "abc123".
85
-
*`stream_color`: The color of the streaming entities (e.g., `"0,255,70"`, `"#00FF00"`, or `"green"`).
86
-
*`stream_color_gradient_factor`: The multiplier that describes the extent of the gradient in the stream color.
87
-
*`leading_entity_color`: The color of the leading entity in a stream (e.g., `"200,255,200"`, `"#C8FFC8"`, or `"white"`).
88
-
*`leave_trail`: A boolean option to leave the trail intact as the streams pass by.
89
-
*`fps`: The frame rate to run at, specified as the number of frames per second.
90
-
*`direction`: The direction of motion for the stream particles (e.g., `"down"`, `"up"`, `"left"`, `"right"`, `"diagonal-right"`, etc.).
91
-
*`stream_min_count`: The minimum number of entities per stream.
92
-
*`stream_max_count`: The maximum number of entities per stream.
93
-
*`stream_spacing`: The spacing between the streams, specified as the number of columns between each stream.
94
-
*`switch_interval`: The maximum number of seconds within which an entity randomly switches its symbol.
* Custom sets like "abc123": User-defined symbol set
164
+
```sh
165
+
matrixfall --mode ascii --fps 120 --leave-trail
166
+
```
167
+
168
+
Move streams diagonally toward the bottom-right:
108
169
109
-
### Customizing the Symbol Set
170
+
```sh
171
+
matrixfall --direction diagonal-right
172
+
```
110
173
111
-
To specify custom character sets for the `mode` option, you can use the `Custom` variant of the `Symbols` enum.
174
+
Use a custom character set:
175
+
```sh
176
+
matrixfall --mode "abc123"
177
+
```
112
178
113
-
Use the `--mode` option followed by your custom character set. For example, to use the custom character set "abc123", you would run the command:
179
+
Use a blue color scheme with a white leading character:
114
180
```sh
115
-
cargo run --release -- --mode abc123
181
+
matrixfall --stream-color "#008CFF" --leading-entity-color white
116
182
```
117
183
118
-
The custom character set can be any string of characters you want to use. The program will randomly select characters from this set for the matrix rain effect.
184
+
---
185
+
186
+
## Terminal Compatibility
187
+
188
+
matrixfall works best in a terminal with ANSI true-color support and a Unicode-capable font.
119
189
120
-
The custom character set is defined in the `src/config.rs` file and is handled by the `Symbols::Custom` variant in the `src/symbols.rs` file.
190
+
Some symbol sets, especially `emoji`, may have different widths or appearances depending on your terminal and font.
121
191
122
192
---
123
193
124
-
## Contributing
194
+
## 📑 Contributing
125
195
126
196
Contributions are welcome! If you would like to contribute to this project, please follow these guidelines:
127
197
@@ -130,6 +200,6 @@ Contributions are welcome! If you would like to contribute to this project, plea
130
200
3. Ensure that all tests pass and the code is properly formatted.
131
201
4. Submit a pull request with a clear description of your changes.
132
202
133
-
## License
203
+
## 📝 License
134
204
135
205
This project is licensed under the [MIT License](./LICENSE). See the [`LICENSE`](./LICENSE) file for more information.
0 commit comments