/cmatrix

Terminal based "The Matrix" like implementation

Primary LanguageCGNU General Public License v3.0GPL-3.0

CMatrix

Matrix like effect in your terminal

-----------------------------------------------------

Contents

-----------------------------------------------------

☁️ Overview

CMatrix is based on the screensaver from The Matrix website. It shows text flying in and out in a terminal like as seen in "The Matrix" movie. It can scroll lines all at the same rate or asynchronously and at a user-defined speed.

CMAtrix is inspired from 'The Matrix' movie. If you haven’t seen this movie and you are a fan of computers or sci-fi in general, go see this movie!!!

Disclaimer : We are in no way affiliated in any way with the movie "The Matrix", "Warner Bros" nor any of its affiliates in any way, just fans.

-----------------------------------------------------

📂 Build Dependencies

You'll probably need a decent ncurses library to get this to work. On Windows, using mingw-w64-ncurses is recommended (PDCurses will also work, but it does not support colors or bold text).

🔹 For Linux

Run this command to check the version of ncurses.

ldconfig -p | grep ncurses

If you get no output then you need to install ncurses. Click below to install ncurses in Linux.

-----------------------------------------------------

💾 Building and installing cmatrix

To install cmatrix, Clone this repo in your local system and use either of the following methods from within the cmatrix directory.

🔹 Using configure (recommended for most linux/mingw users)

autoreconf -i  # skip if using released tarball
./configure
make
make install

🔹 Using CMake

Here we also show an out-of-source build in the sub directory "build". (Doesn't work on Windows, for now).

mkdir -p build
cd build
# to install to "/usr/local"
cmake ..
# OR 
# to install to "/usr"
#cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
make install

-----------------------------------------------------

📑 Usage

After you have installed cmatrix just type the command cmatrix to run it :)

cmatrix

Run with different arguments to get different effects.

cmatrix [-abBflohnsmVx] [-u update] [-C color]

Example:

cmatrix -ba -u 2 -C red

For more options and help run cmatrix -h
OR
Read Manual Page by running command man cmatrix

To get the program to look most like the movie, use cmatrix -lba To get the program to look most like the Win/Mac screensaver, use cmatrix -ol

📍 Note: cmatrix is probably not particularly portable or efficient, but it won't hog too much CPU time.

-----------------------------------------------------

📷 Captures

🔹 Screenshots

cmatrix screenshot

🔹 Screencasts

cmatrix screencast

-----------------------------------------------------

⚡ Maintainers

👥 Our Contributors

🔸 Thanks to

  • Chris Allegretta chrisa@asty.org for writing cmatrix up in a fortnight and giving us the responsibility to further improve it.
  • Krisjon Hanson and Bjoern Ganslandt for helping with bold support and Bjoern again for the cursor removal code, helping with the -u and -l modes/flags, and Makefile improvements.
  • Adam Gurno for multi-color support.
  • Garrick West for debian consolefont dir support.
  • Nemo for design thoughts and continuous help and support.
  • John Donahue for helping with transparent term support
  • Ben Esacove for Redhat 6 compatibility w/matrix.psf.gz
  • jwz for the xmatrix module to xscreensaver at http://www.jwz.org/xscreensaver.
  • Chris Allegretta's girlfriend Amy for not killing him when he stayed up till 3 AM writing code.
  • Sumit Kumar Soni for beautifying the README.
  • The makers of the Matrix for one kickass movie!
  • ➤ Everyone who has sent (and who will send) us and Chris mails regarding bugs, comments, patches or just a simple hello.
  • ➤ Everyone who has contributed to the project by opening issues and PRs on the github repository.

-----------------------------------------------------

📖 Contribution Guide

If you have any suggestions/flames/patches to send, please feel free to:

  • Open issues and if possible label them, so that it is easy to categorise features, bugs etc.
  • If you solved some problems or made some valuable changes, Please open a Pull Request on Github.
  • See contributing.md for more details.

-----------------------------------------------------

📄 License

This software is provided under the GNU GPL v3. View License