QMATRIX
QMatrix is not just another Matrix rain script. It is a high-performance, precision-tuned TUI engine designed to replicate the authentic "Digital Rain" aesthetic of the original 1999 masterpiece, infused with modern "horror" glitch mechanics and premium terminal visuals.
Crafted by Rex Ackermann
⚡ Features
🟢 Matrix Aesthetic
- The Wall of Code: Optimized for high-density rendering (Density=1), creating a solid curtain of raining data.
- Precision Gradient: A bespoke 4-stage color engine:
- Head: Blinding White lead characters.
- Body: A vibrant, alternating mix of Sushi Green (#86ab48) and Neon Bright Green.
- Tail: Deep Green fade-out.
- True Physics: Quotes don't just fade; they physically slide down the screen like heavy blocks of data.
- Katakana Glyphs: Full support for half-width Katakana, achieving the iconic "Matrix" look.
👻 Horror & Glitch Mechanics
- Stationary Persistence: Quotes type out, freeze in mid-air, and then drop or vanish.
- Hybrid Logic:
- 90%: Quotes slide down ("Rain").
- 10%: Quotes glitch and vanish instantly ("Ghost in the Shell").
- Subliminal Corruption: Rare chance for text to shatter, flip, or invert during the fall.
🚀 Production Ready
- Crash-Proof: Robust signal handling (
Ctrl+Csafe). - Clean Exit: Leaves your terminal spotless on quit.
- Performance:
stdscr.timeoutbased loop for smooth 20FPS rendering without CPU hogging. - Terminal Optimization: Special color overrides for Kitty and Ghostty terminals.
📦 Installation
Since this is a production-grade Python package, you can install it directly from PyPI:
pip install qmatrix
Or build from source:
git clone https://github.com/rexackermann/qmatrix.git
cd qmatrix
pip install .
🎮 Usage
Run it simply by typing:
qmatrix
Premium Flags
Customize the simulation to your exact mood:
| Flag | Description | Default |
|---|---|---|
-d, --density |
Spacing between columns (1 = Max Density) | 1 |
--tail-min |
Minimum length of rain trails | 25 |
--tail-max |
Maximum length of rain trails | 50 |
-m, --mix |
Ratio of Quotes vs Normal Rain | 0.15 |
--horror |
Enable subliminal glitch effects | False |
--sexy |
Force high-fidelity colors for modern terminals | False |
--fps |
Target Frame Rate (Smoothness) | 60 (Sexy) / 20 |
--transparent |
Use terminal's native background (Images/Wallpaper) | False |
--bg-color |
Set solid background color (e.g., red, blue) |
black |
Example Production Run:
qmatrix --density 1 --tail-min 30 --mix 0.2 --horror --transparent
🛠 Configuration
QMatrix supports XDG configuration. You can place a persistent config file at:
~/.config/qmatrix/config.json
{
"speed": 0.2,
"color": "green",
"density": 1,
"tail_min": 30,
"horror": true
}
📜 License
Distributed under the MIT License. See LICENSE for more information.
💡 Credits
Special thanks to the Tmatrix project for the original inspiration and physics concepts.
"The Matrix is everywhere. It is all around us."
Release files for qmatrix 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qmatrix-1.3.1.tar.gz | 13.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qmatrix-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / qmatrix-1.3.1.tar.gz
| Download URL | qmatrix-1.3.1.tar.gz |
|---|---|
| Size | 13.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8bc30a4b9eae69649a3ad8d17dfc700ce23a0c3ade56808a9522cfb6f03bc2b4
|
|
BLAKE2b-256 checksum How to use checksums |
1e24b20b182ad7dd2bfe9709f607dbb5527d7c21b65c1d3c35f71b875efd7ada
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / qmatrix-1.3.1-py3-none-any.whl
| Download URL | qmatrix-1.3.1-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ecad8e591df8029aba7eed9a79cebda90e4b7948439111c43bae03a778313db
|
|
BLAKE2b-256 checksum How to use checksums |
a667113907da5126a9f5de2b96ac581abd9d51a99e8d6e008ca7057c8ac1ce9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|