A high-performance, aesthetically pleasing Matrix rain TUI with horror elements.
Project description
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."
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qmatrix-1.3.1.tar.gz.
File metadata
- Download URL: qmatrix-1.3.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bc30a4b9eae69649a3ad8d17dfc700ce23a0c3ade56808a9522cfb6f03bc2b4
|
|
| MD5 |
a8c27fe3446485e3d795c818bb79f1e9
|
|
| BLAKE2b-256 |
1e24b20b182ad7dd2bfe9709f607dbb5527d7c21b65c1d3c35f71b875efd7ada
|
File details
Details for the file qmatrix-1.3.1-py3-none-any.whl.
File metadata
- Download URL: qmatrix-1.3.1-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ecad8e591df8029aba7eed9a79cebda90e4b7948439111c43bae03a778313db
|
|
| MD5 |
9aea9728c09da51aeb38690ad1ffc645
|
|
| BLAKE2b-256 |
a667113907da5126a9f5de2b96ac581abd9d51a99e8d6e008ca7057c8ac1ce9a
|