Supported on Ubuntu (Linux) and macOS (Intel and Apple silicon).
Demo.mp4
cd /path/to/your/src
git clone https://github.com/shr00mie/cmatrix.git
cd cmatrix| Script | Role |
|---|---|
./scripts/01_check_install_deps.sh |
System packages (compilers, Notcurses, etc.). |
./scripts/02_compile_install_bin.sh |
make, then install under PREFIX (default ~/.local): binary, man page, data, fonts. |
sudo is only for step 1 on Ubuntu when apt runs as a non-root user. Step 2 / make install does not need sudo for a normal ~/.local install. Details, package lists, and edge cases are in the scripts.
./scripts/01_check_install_deps.sh
./scripts/02_compile_install_bin.shDefault PREFIX is ~/.local.
| Artifact | Linux | macOS |
|---|---|---|
| Binary | ~/.local/bin/cmatrix |
same |
| Man page | ~/.local/share/man/man1/cmatrix.1 |
same |
| Data (uninstall helper, optional scripts) | ~/.local/share/cmatrix/ |
same |
| Patched DejaVu (rain PUA glyphs) | ~/.local/share/fonts/DejaVuSansMono.ttf (from data/fonts/DejaVuSansMono_patched.ttf) + fc-cache -fv ~/.local/share/fonts/ |
~/Library/Fonts/DejaVuSansMono.ttf |
export PATH="$HOME/.local/bin:$PATH"macOS font helper: $HOME/.local/share/cmatrix/set-terminal-font.sh (see also data/macos/). Use DejaVu Sans Mono in the terminal profile for correct glyphs.
Run cmatrix with options like:
cmatrix -a -b -T green -H white -F 24Common flags (from cmatrix -h / cmatrix.1):
-a: asynchronous scroll-b: bold characters on-B: all bold characters (overrides-b)-c: matrix glyphs mode (movie-style halfwidth column stream + Latin; needs UTF-8 and a terminal font that includes those code points)-o: old-style scrolling-k: every character change-s: screensaver mode (exits on first keystroke)-V: print version and exit-F fps: frame rate (allowed range: 12–60; default 24)-T,-H,-O: each takes a color as a name (string) or hex (#RRGGBB). Defaults: tail green, head mint, message red.-M message: add a centered message
- tweak init sequence to make drop spawn more parabolic.
- migratory messages; appear in random locations. appear. stick around for like 10 seconds, get wiped, then get revealed somewhere else on screen.
- play around with total active columns and tail lengths a bit more. they're close, but not quite where i want them.
- mess with how drops spawn in columns with existing tails and how the squeegee fade works with various length sliding windows.
- update Ubuntu helper to query GNOME Terminal profile font and patch preferred font with rain PUA glyphs.
- modify patched font to pass PuTTY filter.
- verify that cmatrix running on remote box via PuTTY displays properly on windows.
- automate finding, enumerating, and editing PuTTY font and Terminal-type string config via powershell script.
- clone Emily Blunt.
make uninstallUses 02 in uninstall mode with your PREFIX / DESTDIR (see script).
After make install, a copy of the uninstall helper lives at:
~/.local/share/cmatrix/uninstall.sh
You can run it directly; make uninstall also invokes the logic from the repo via the install script.
data/fonts/install-dejavu-user-font.sh is not part of the default two-step flow. Use it only if you want to replace the distro’s system DejaVu under /usr/share/fonts/... (requires root). Normal installs use user fonts only (~/.local/share/fonts/ on Linux).
This work builds on cmatrix, maintained by Abishek V Ashok and contributors.