#!/usr/bin/perl
# extreme whitespace v. 0.2
# performance typing.
#
# amy alexander/uebergeek/deprogramming.us
# updates available at http://deprogramming.us
# contact: deprogramming at deprogramming.us
# 
# copyright/left 2003 - 2005 - released under the Gnu Public License 
# http://www.gnu.org/licenses/gpl.txt
#
# You'll probably need to download Time::HiRes from cpan.org if you don't have it.
# And possibly Term::ReadKey. Note - Term::Readkey and thus extreme whitespace appear
# to be broken on RedHat Linux starting with Perl 5.8. 
# extreme whitespace works best with a "fast" terminal like Eterm or Gnome Terminal.


#########################################################################
#
# Extreme Whitespace
# 
#########################################################################
# General Info:
# Extreme Whitespace takes advantage of your linux or other unix's text 
# terminal's natural talent as a realtime video instrument! 
# About all this script really does it is spew whitespace into your
# terminal for you to type into, with, against, around... 
# 
# If you want just the "essence" of this script, see the exwhitesimple.pl
# script - it just does the simple blowing of whitespace into your
# terminal, without the color, variations, etc.
#
# Video jamming the natural way - typing as performance art!
# No patches to build, no peripherals to buy, no DirectX/OpenGL hassles - 
# Just peck away! 
# 
#
##############
# Preparation:
# Linux: make sure lpd  - or other print spooler - is turned off! 
# (/etc/init.d/lpd stop as root.)
# Works well in Eterm (or in plain console mode). 
# But *very slow* in KDE "Konsole" shells.
# Gnome-terminal adds its own special scroll-scratching talents to the mix!
# (Try it under gnome-terminal with excessive use of the up arrow... )
#
# Setting a large font such as lucidasanstypewriter-bold-24 is nice but not essential.
# For example:  Eterm -F lucidasanstypewriter-bold-24
# 
# Mac OSX: sort of works in OSX Terminal, but it's kind of slow.
# 
# Windows: doesn't work right at all, even if you install the librariess.
# However, it works ok over a moderately fast network connection 
# to a unix server if you use PuTTy on Windows. 
# (Just be sure that lpd or other print spooler isn't  running on the server.)
# 
#############
# Directions:
# Run the script and start typing.
# Experiment with different typing rhythms! Don't miss out on
# natural special fx keys like Enter, arrow keys, and spacebar!
# Try different combos of those, as well as combos like the | key and _ ... 
# Also, try copy/pasting bits of text of various sizes from your other
# shells with your mouse.
# 
# Also can be used in automatic mode - pipe in any text 
# from your harddrive or the net for teletype eyecandy fun!
# 
# Other suggestions: 
# Type along with your favorite pop song for reverse karaoke fun!
# Text rapping!
# Raves!
#
####################
# Keystroke commands 
# You can learn them or just mess around:
# 0 - reset
#	(see "performance note" in the script to disable automatic resetting.)
# 1 - color mode #1
# 2 - color mode #2
# 3 - reset color mode
# 4 - change text colors
#
# -  (hyphen)  pattern effect
# _  (underscore) palindrome/strobe effect: don't hold down too long or it crashes!
# >  extra whitespace effect: don't hold this down too long either!
#    ok to hit these two repeatedly though, for varying fx!
# 
# ,  something strange and potentially diagonal. 
#    combine with up and down arrows for videogame fun!
# <  another strange, sort of diagonal thing. but stranger and less diagonal than the ','
#    try combining with arrow and color keys, as well as other typing.
#
# J  faster.
# K  slower.
#
# HH - fast break mode (definitely check this out)
# GG - a different fast break mode
# | (pipe)  = back to normal speed mode
#
# Ctrl-C (or your normal kill sequence) three times to quit.
# 
#################################


