tss, a Terminal ScreenSaver
http://www.pulia.nu/tss/
Copyright (C) 2006 Kristian Gunstone
Locking and shadow password retrieval code based on vlock 1.3 Copyright (C) 1994 Michael K. Johnson and Marek
tss is a terminal screensaver for GNU/Linux and FreeBSD.
The first version, now over four years old, was meant to be a cheap copy of FreeBSD's daemon saver.
This is a complete rewrite of the code, with many improvements:
- VT Locking (Shadow and BSD DB)
- ASCII Mirroring
- ASCII Autopadding
- ASCII direction selection
- Multiple colors in ASCII object
- Scrollbox showing uptime
- Random ASCII file selection
- Dynamic object speeds (ASCII, uname, scrollbox)
Notice
If you notice any bugs that are not noted in src/main.c, please contact me.
Mirroring
TSS can flip a buffer and correct characters which have substitutes for the opposit direction.
This usually turns out quite nicely with most ASCII art.
tss supports automatic ascii padding since v0.7.8.4, so there is no longer any need to manually pad out ascii with spaces in order for mirroring to work properly.
Colors
Any character can be colored by prepending ESC plus a color value before the character. The color will be set until an other color code is set. If several escape sequences follow each other, last seen is used.
Colors are standard VT120, as initialised by curses:
1 - Black
2 - Red
3 - Green
4 - Yellow
5 - Blue
6 - Magenta
7 - Cyan
8 - White
- Example
|5Hello,|
|4This is a demo8|
This will make "Hello," blue, and "This is a demo" yellow.
Since the colors will "float" until an other color is interpreted, we can manipulate the color of the uname and scrollbox from the ASCII. The 8 at the end will make these objects white.
In order for color mirroring to work properly, make sure to repeat colors so that they will be readable from both directions.
For example,
|AAAA82hello28AAAA|
Will make the text "hello" red in both directions.
The default color is 8 (white).
Direction/nomirror
If you want an ascii file to start in a specific direction, you can do this by prepending ESC plus the letter "l" or "r" after it in the beginning of the file.
- Example
|lThis is a demo|
If you do not want the ascii file to mirror at all, do the same as above but with a "n" after ESC.
Locking
For locking (the -l option) to work, this program requires suid. To do so,
su
make
chmod 4555 tss
exit
If tss is called with -l in a VT, it will not be possible to shut it down without entering the correct password.
Be careful!
Scrollbox
The scrollbox will by default display the system load in 15 second intervals. It was originally planned for this to take output from a shellscript, but I see no real need for it. If someone still wants this feature, Contact me or implement it yourself and e-mail it to me.
Random ASCII
Nothing magical. If you set -r, a random file will be used from /etc/tss/ or ~/.tss/ if the prior does not exist or contain any files.
Contact
E-mail: kristappleian dot peachgunstone at pean dot org (remove fruits) Or try contacting gamkiller on IRC (EFnet and freenode)
