Hacking the GLMatrix screensaver

I am sure that many of you are fans of “The Matrix” series. And many of you might be using the Matrix Screensavers in your system.
But did you ever think like this: “Why cant that glowing green glyphs that rains in black screen be Indic ?”
Well, Not a bad Idea. Right?
Ok, Shall we try to hack the glmatrix screen saver? Here you go!

1. Download the xscreensaver sourcecode from http://www.jwz.org/xscreensaver/download.html

2. Configure and make it(just to ensure that you have required libraries in your machine)

3. Goto hacks/images folder of that source code. You will see matrix3.xpm file there. Backup it , it is valuable:)

4. I am going to use Hindi glyphs(You can use the glyphs from your mother tongue).Now we need to create one xpm image file with same dimension and size of the original one. Write one html page with table and arrange the alphabets there. Note the table should be a 512*598 pixels 13 rows, 16 columns.

5. Refer the following Hindi table. Take a screenshot of the html and get the table alone. You may use the source code of the below table for your language.

! @ # $ % ^ & * ( ) _ + , / .
कु नु रु चु पु
र‍ कू
धा
क्ष @ ( ) _ + , / .
* ! @ # $ ​​​​~ ÷ ¾ , ¼ ½
क्ष पो नु
रू भू जुु गुु सु मु नि षि वी
क्ष ळ‍
& ज्ञ श्र


6. Open GIMP and create a new image with image with 512*598 pixel size. paste the table screenshot on the blank image. You can save it as matrix3.xpm file.

7. From my experiments I found that the image should be the mirror copy of the the table image.So flip the image horizontally to get the mirror image and save

8. You can see that the size of the image around 601 KB. But the actual image should be around 301 KB file. Go to Layers-> Colours->posterize. And give the number of colours as 91 (some value around 90). Save it.

9. Now you have the matrix glyph image ready.

10. goto hacks/glx folder. Apply the below patch to glmatrix.c

1079c1079
< XSCREENSAVER_MODULE_2 ("GLMatrix", glmatrix, matrix) --- > XSCREENSAVER_MODULE_2 (“Hindi Matrix”, glmatrix, matrix)

11. Recompile it! Done? No, wait. We need to add this as a screensaver to Gnome-screensaver
12. Create one Hindi Matrix.desktop file in usr/share/applications/screensavers folder. Here is my file

[Desktop Entry]
Encoding=UTF-8
Name=Hindi Matrix
Comment=Draws 3D dropping characters similar to what is seen in the title sequence of “The Matrix”, written by Jamie Zawinski. This is a Hindi glyph version written by Santhosh Thottingal.
TryExec=himatrix
Exec=himatrix -root -speed 5.0 -density 50
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver
X-Ubuntu-Gettext-Domain=xscreensaver

13. Copy the glmatrix binary to usr/lib/xscreensaver/himatrix.

14. Now go to System-> preferences -> Screensave. Your screensaver should be listed there. See my screenshot

You can download Hindi and Malayalam matrix deb package from here

Happy Hacking!!!

Matrix Digital Rain Screensaver In Malayalam!!!

മലയാള നാട്ടില്‍ മഴ തിമര്‍ത്തു പെയ്യുകയാണ്. കഴിഞ്ഞയാഴ്ച ഞാനൊരു മഴയുണ്ടാക്കാനുള്ള ശ്രമത്തിലായിരുന്നു. സാധാരണ മഴയല്ല. ഡിജിറ്റല്‍ മഴ!!!. അക്കഥയിങ്ങനെ:
1999 ല്‍ പുറത്തിറങ്ങിയ ഹോളിവുഡ് സൂപ്പര്‍ഹിറ്റ് ചലച്ചിത്രമായ മെട്രിക്സില്‍ അവതരിപ്പിക്കപ്പെട്ട കമ്പ്യൂട്ടര്‍ കോഡിന്റെ മായിക ദൃശ്യാവിഷ്കാരം – കറുത്ത സ്ക്രീനില്‍ ഉതിര്‍ന്നു വീഴുന്ന പച്ച അക്ഷരങ്ങള്‍, വളരെയേറെ ശ്രദ്ധപിടിച്ചു പറ്റുകയുണ്ടായി. മെട്രിക്സ് പരമ്പരയിലെ ചലച്ചിത്രങ്ങളില്‍ അവതരിപ്പിക്കപ്പെട്ട ഈ ഡിജിറ്റല്‍ മഴയുടെ അനുകരണമായി ധാരാളം സ്ക്രീന്‍ സേവറുകള്‍ പുറത്തിറങ്ങുകയുണ്ടായി. മിക്കതും കമ്പ്യൂട്ടര്‍ പ്രേമികളുടെ ഇഷ്ടപ്പെട്ട സ്ക്രീന്‍ സേവറുകളായി. ഗ്നു ലിനക്സിലും xscreensaver എന്ന സ്ക്രീന്‍സേവര്‍ പാക്കേജിന്റെ കൂടെ glmatrix എന്ന പേരില്‍ ഒരു കിടിലന്‍ സ്ക്രീന്‍സേവറുണ്ട്. എനിക്കേറെ ഇഷ്ടപ്പെട്ട ഒരു സ്ക്രീന്‍സേവറാണത്.
മെട്രിക്സ് സ്ക്രീന്‍സേവറില്‍ കാണിക്കുന്ന അക്ഷരങ്ങള്‍ റോമന്‍ , കാടകാന, അറബിക് എന്നിവയാണ്. ഈ അക്ഷരങ്ങള്‍ക്ക് പകരം നമ്മുടെ സ്വന്തം മലയാളം അക്ഷരങ്ങള്‍ ഉതിര്‍ന്നു വീണാലെങ്ങനെയുണ്ടാവും? ഇങ്ങനെയൊരു ആശയവുമായി ഞാന്‍ glmatrix ന്റെ കോഡ് ഡാണ്‍ലോഡ് ചെയ്തു വായിച്ചു നോക്കി.
എന്നിട്ട് ഞാനതങ്ങ് മലയാളത്തിലാക്കി . താഴെ കൊടുത്തിരിക്കുന്ന പടങ്ങള്‍ കണ്ടോ? എങ്ങനെയുണ്ട്?


ഈ സ്ക്രീന്സേവര്‍ ഇന്സ്റ്റാള്‍ ചെയ്യാന്‍ വേണ്ടി:
Gnome 2.14 version(Debian Etch,Ubuntu 6.06) ;
https://savannah.nongnu.org/task/download.php?file_id=13434
Gnome 2.18 version(Ubuntu 7.04) ;
https://savannah.nongnu.org/task/download.php?file_id=13435

Above given versions will add the screensaver to gnome-screensaver group of screensavers.
If you want to add the screensaver to xscreensaver, after installing any of the package,
Add the following line to the .xscreensaver file in your home directory. Refer the glmatrix entry in that file for reference
– GL: mlmatrix -root \n\

Other gnu/Linux distros:
Download https://savannah.nongnu.org/task/download.php?file_id=13436
Extract it, copy the mlmatrix to /usr/lib/xscreensaver, copy mlmatrix.xml to /usr/share/xscreensaver/config folder
Add the following line to the .xscreensaver file in your home directory. Refer the glmatrix entry in that file for reference
– GL: mlmatrix -root \n\

For the technical details of this application, pls contact me at santhosh00 at gmail.com