CMatrix by Chris Allegretta
#include <stdio.h>
int main(int argc, char *argv) { char *code[] = { "nano", // GNU Pico clone "HackerKey", // Sig fodder! "CMatrix", // Console Matrix "GNU/Linux", // Linux info. "Talker SRC", // Text chat! "PG+Patches", // Deprecated "resume", // README.mycareer NULL }; char *personal[] = {   "about asty", // All about me "blog", // My weblog NULL }; float AmyNChris = 2000+10.07; float BabyMonique = 2003+11.01; int links; #define EMAIL "chrisa@asty.org" }

What is CMatrix? =-)

CMatrix is a program I wrote one evening because I didn't want to have to run Wind*ws to see the cool scrolling lines from 'The Matrix', my fave movie.  If you haven't seen this movie and you are a fan of computers or sci-fi in general, go see this movie!!!  I have seen it twice, and I'm pondering seeing it again before it comes out on VHS.
Cmatrix is written in ncurses under Linux, and should compile on other OSes with few modifications.  I  am always interested to hear from people who use this program and any modifications they make to it!

CMatrix is distributed via the GNU GPL, please see the COPYING file or  the GNU Project homepage  for more information.


Options:
    -a: Asynchronous scroll, more like the movie/original screensaver
    -b: Partial bold text mode
    -B: All bold text mode
    -f: Force the linux $TERM type to on
    -l: Linux support for linux console matrix.fnt font
    -n: No bold text mode
    -o: Use "old-style" scrolling - less like the movie, more like the Win/Mac screensaver.
    -s: "Screen saver" mode.  Any key aborts (default is "eye candy" mode, must abort with control C)
    -x: X window mode, use if your xterm is using mtx.pcf
    -u [update]: Update delay (0-9, default 4).
    -C [color]: Use color for matrix (default green).
 

Keystrokes available while running (not available in -s mode):
    a: Toggle asynch mode
    b: Enable partial bold text
    B: Enable all bold text
    n: Disable bold text
    0-9: Change update delay
    ! @ # $ % ^ & ): Change the color of the matrix to the corresponding color: ! - red, @ - green, # - yellow, $ - blue, % - magenta, ^ - cyan, & - white, ) - black.
 
 

A sample screenshot:

and...


CMatrix with mtx.pcf font loaded in a transparent aterm...a console font is also included in the distribution =-)

Download!

The current version of CMatrix is 1.2a.  Please click the link below to download it, or check here for versions that I may not have had time to update this link to:
cmatrix-1.2a.tar.gz. Changelog is here.

News

03/31/2002 - Happy Easter! Well, it's been forever. I've tried give CMatrix away, but looking at SourceForge, there are two derivatives of CMatrix. One is complete vaporware, and the other is run by a person from Poland who I tried to turn CMatrix over to; unfortunately the tarball that's there seems corrupted. I decided to knuckle under and make a new release. CMatrix can now be resized on the fly, and allocates space for characters dynamically, no more limit of 132x300! Have fun with it!

11/21/2000 - CMatrix needs a new mommy or daddy! While I love the program, I no longer have time to maintain CMatrix as I spend all my free time on nano. This page recieved over 200 hits a week, I know there are people reading this =) If you would like to take owner as maintainer of CMatrix, drop me a line with your qualifications or similar projects (especially ncurses based) that you have worked on.

04/09/2000 - CMatrix 1.1b now has RPMs to choose from. Please see the dist/RPMS directory to download them. Note that this is my first attempt at making an RPM spec file, so if something doesn't work right just let me know.

04/03/2000 - At long last! Development has resumed on CMatrix thanks to a new job and a renewed interest by the Open Source community in my humble little program. CMatrix now has a page at SourceForge (at http://sourceforge.net/project/?group_id=4055) and that will be its primary location for releases and development.

7/11/99 - Well, it seems that versin 1.0 b is fairly stable, and I haven't heard many requests for new features (with a few exceptions).  Since this is the busy season at my job, there will probably not be any new versions of CMatrix for the remainder of the summer, unless I get some major bug report.  If you do have any ideas for improvements for CMatrix, I'd still like to get any patches of ideas you have... as always my mailbox is always open.
6/6/99 - RedHat 6 should be fully supported as of version 1.0 b. Please let me know if you have any difficulties getting cmatrix to work on your RH6 system. Be sure to be as specific as possible =-)
5/4/99 - The funky "matrix" font is now working in cmatrix! To get the font working, make sure you run make install as root, and make install.x in X window as root. Just use the -l option, and you should get the funky characters! If using X window, make sure you call your xterm or rxvt with -font mtx or -fn mtx and use cmatrix -x. I have heard reports that this option does not work with Redhat 6.0 right now in the console, and I'm investigating it.

Programs based on CMatrix

  • Andrew Arensburger wrote a FreeBSD screensaver based on CMatrix (at least in spirit =). It is available here. I'll have to give it a try the next time I get FreeBSD installed.
  • Apparently jwz has made up an xscreensaver module that at least resembles cmatrix. It does have the kooky characters in it and has an interesting "glow effect". I like it. Xscreensaver is available at www.jwz.org/xscreensaver.
Back to my homepage.

(c) 2000 Chris Allegretta. All right reserved.