From: bl853@cleveland.Freenet.Edu (Sam Lantinga)
Newsgroups: comp.unix.sys5.misc
Subject: 'shawing' -beta test
Date: 10 Oct 1992 21:40:43 GMT
Organization: Case Western Reserve University, Cleveland, OH (USA)
Reply-To: slantin@swrl36.calstate.edu (Sam Lantinga)
NNTP-Posting-Host: hela.ins.cwru.edu





	I have written a beta-test version of a program 
called "shawing", and am wondering if anyone would like to 
try a copy.  It will be shareware when am done testing it.
        It is currently running on a 3b2 running SysV.3, and 
uses features such as pseudo-tty's and shared memory segments.  
I am still learning C, so any positive input would be
appreciated.  The tarred source is slightly over 50K.

Please respond via e-mail to slantin@swrl36.calstate.edu

	Thanks,
	      Sam Lantinga.

The unofficial man page follows:

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

SHAWING(1)		(Nonessential Utilities)	SHAWING(1)



NAME
	shawing - Shawing!! :)

SYNOPSIS
	shawing [-h] [-r] [-v] [-e escape_char] [-l logfile]
	        [shell] [arguments]

DESCRIPTION

	This program provides an interface between you and any
program you are running.  It provides a number of neat escapes
and features, including logging of your session, built in macros,
and a feature to break away from a hung process (when your screen
just freezes). 
	The program 'shawing' starts up by default, running the 
shell specified in the SHELL environment variable, or if it 
doesn't exist, it runs the Bourne shell.  Any command line
arguments that aren't options will be taken to be the name of
a program to run instead of a shell.  Any additional arguments 
will be passed to the program you have specified.
	The 'shawing' program also logs your session to , by 
default, a file in your home directory named in the form
 of: "iolog<id>"  A different logname may be specified with 
the '-l' option.  Various logging features may be controlled 
interactively with escape sequences.
	The 'shawing' program provides a number of escape 
sequences that control various features.  The default escape 
character is '+'.  A different escape character may be specified 
on the command line with the '-e' option.  The escape sequences 
must be started on a new line to be interpreted by the 'shawing' 
program.  The escape sequences below are listed without the 
escape character, but in actual use, they would take the form:
		<escape_char><escape_sequence>
Such as: '+verbose' to toggle verbose mode.


Escape sequences:  

	verbose	
		Toggles verbose mode on and off.

	help		
		Shows this help page.

	subsh
		Run an interactive Bourne subshell. 
		Escapes are not active when running the subshell.

	quotesh	[command]
		Run 'command' in a non-interactive subshell, 
		and quote the output of that command to the 
		running program.

	log [on|off|term|to] 
		This escape has great versatility.  If you 
		specify 'off', the logging of the program 
		will be disabled.  If you specify 'on', the 
		logging will be re-enabled.  If you specify 
		'term', it will toggle logging of your terminal.
		It is off by default, and if you log both the 
		program and the terminal, you will find
		information entered at the terminal logged twice.
		If you specify 'to logfile', it will start 
		logging to logfile instead of the previous 
		logfile (if logging has been disabled, no 
		information will be written to the new logfile 
		until it is re-enabled.

	scrollog [num]	
		This escape scrolls the logfile starting at
		[num] lines from the end, or 20 lines if num 
		isn't specified.  Depending on the pager built 
		in, you may be able to do searches, and reverse 
		scrolling.

	listlog
		Tells what the current logname is.

	passh [string]	
		Passes 'string' directly to the program,
		without logging or escape checking.

	escape [char]
		Makes 'char' the new escape character.

	defmacro [name]	
		Defines a macro to shawing named 'name'.  
		shawing will prompt you for the definition. 
		When entering the definition, backspace may 
		be used, and the characters "\n" will be 
		interpreted as a newline.  The definition is 
		terminated by the pressing of the carriage 
		return, or the characters "\c" which signal
		that a newline is not to be appended to the 
		definition.  (If that confuses you, just play 
		around with it. :) If 'name' matches that of a 
		previously defined macro, the new definition 
		will replace that of the old.

	listmacro [name]
		If this escape is specified the name of a macro,
		it will show the definition of macro 'name'.  
		If no name is specified, it will show all defined
		macros.

	undefmacro [name]
		Removes the named macro.

	quotemacro [name]
		Quotes the named macro to the running program.

	qm [name]
		An abbreviated version of quotemacro.

	backspace [char]
		Sets the shawing backspace character to 'char'.  
		The default shawing backspace is the erase 
		character set at the time of execution.  The 
		new backspace has no effect on the running 
		program.

	block
		Toggles the blocking of output from the 
		program you are running.  This is usefull if 
		you run a subshell.

Options:

	-h	Shows this manual page.

	-r	Executes 'shawing' in restricted mode.  
		Escapes are silently disabled, and the only 
		logging enabled is that of the terminal.

	-v	Starts 'shawing' in verbose mode.

	-e escape_char
		Sets 'escape_char' to the starting escape 
		character.

	-l logfile
		Sets 'logfile' as the starting logfile.


NOTES
	Two important variables are defined at compile-time.  
One is "HELPDIR", defaulting to the user's home directory, and 
is used as the directory searched for this manual page.  The 
other is NUM_MACROS and defines the maximum number of macros 
allowed.

BUGS
	None known at the moment, but there are probably a few.

Newsgroups: comp.unix.sys5.misc