home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Garbo
/
Garbo.cdr
/
mac
/
source
/
layers.zoo
/
layers.1
next >
Wrap
Text File
|
1990-06-11
|
44KB
|
1,048 lines
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#
# README
# layers.1
# macbput.1
# MacLayers.doc
#
# This archive created: Thu May 31 21:58:05 1990
# By: Roger L. Long (macintosh@dhw68k.cts.com)
export PATH; PATH=/bin:$PATH
echo shar: extracting "'README'" '(2241 characters)'
if test -f 'README'
then
echo shar: will not over-write existing file "'README'"
else
sed 's/^X//' << \SHAR_EOF > 'README'
X Layers 1.0 Release
X
X *** CONTENTS ***
X
XThe following files are provided with the MacLayers package:
X
X README - this file
X layers.1 - the layers command manual page
X makefile - the layers makefile
X layers.h - Unix source for the layers command
X layers.c - ditto
X protocol.c - ditto
X layersize.c - Unix source for the layersize command
X layertitle.c - Unix source for the layertitle command
X MacLayers.sit.Hqx - the MacLayers Application download file
X MacLayers.doc - the MacLayers User's Manual
X macbput.c - a downloading utility
X macbput.1 - the macbput command manual page
X
XThe MacLayers.sit.Hqx file is in hexbin format. After downloading it must be
Xprocessed with a Stuffit compatible utility to produce the MacLayers
Xapplication.
X
XMacbput is a public domain download utility for downloading macbinary files.
XMacbinary files allow downloading to correctly set the Macintosh file creation
Xdate and file last used date. The version with this package has an important
Xbug fixed.
X
X
X *** SUPPORTED SYSTEMS ***
X
XMacLayers has been successfully installed on the following systems:
X
X SunOS 4.0.3
X SunOS 3.2
X Sequent DYNIX 3.0.12 (#DEFINE SEQUENT)
X Sequent DYNIX 3.0.4 (#DEFINE SEQUENT)
X
XMacLayers has failed to install on these systems:
X
X AIX 2.2.1 on IBM RT Unsupported ioctls
X
X
X *** INSTALLATION ***
X
XThere are two ways to install the layers system:
X
X make install
X
X or
X make installnopriv
X
XThe default is to install the 'layers' command set-uid which allows it to
Xupdate /etc/utmp and perform chown/chmod on its allocated pseudo-ttys.
XThis enables commands like 'who' to know about the presence of layers users
Xand commands like 'write' and 'talk' to communicate with them. This is not
Xa mandatory requirement however and the layers system will otherwise function.
X
XFor set-uid installers (especially Sequent users) there are a few customizing
Xparameters which may be of interest at the front of layers.c.
X
X *end of document*
SHAR_EOF
if test 2241 -ne "`wc -c < 'README'`"
then
echo shar: error transmitting "'README'" '(should have been 2241 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'layers.1'" '(4858 characters)'
if test -f 'layers.1'
then
echo shar: will not over-write existing file "'layers.1'"
else
sed 's/^X//' << \SHAR_EOF > 'layers.1'
X.TH LAYERS l "17 March 1990"
X.SH NAME
X.PP
Xlayers, layertitle \- Protocol for MacLayers Multiwindow Terminal Emulator for Unix
X.SH SYNOPSIS
Xlayers - start window protocol
X.LP
Xlayers [-l] [command] - create new window
X.LP
Xlayertitle string - retitle current layers window
X.IX "layers" "start layers protocol, create new window"
X.IX "layertitle" "rename current layers window"
X.SH DESCRIPTION
X.PP
XMacLayers provides multi-window capability for a Macintosh (greater than 128K)
Xconnected to a host UNIX(TM) system with sockets support. Each window may be
Xassociated with a shell, login to a different host, or an individual
Xcommand. Complete facilities are available for controlling the window
Xand the associated host processes attached thereto.
X.PP
XTo use MacLayers, you must have the MacLayers vt-100 terminal emulation
Xprogram on a Macintosh and the layers protocol program installed on your
XUnix host.
X.SH MACLAYERS OPERATION
X.PP
XThe Maclayers Application on the Mac starts up as a garden variety
Xhost-to-terminal vt-100 emulator. (As such you can run it with any
Xhost, not just a Unix machine.) Baud rate and other configurations are set
Xby selections in the Control Menu.
X.PP
XEnter the
X.I layers
Xcommand to the Unix host using no options or parameters
Xto start the layers protocol. The initial terminal window will be closed
Xand replaced with a layers protocol window. A shell is run in this
Xwindow, either /bin/sh or the shell indicated by your $SHELL variable.
X.PP
XYou can start a new shell layer by picking "New" on the Layers menu. You can
Xalso start a new layer window by issuing the
X.I layers
Xcommand to a
Xshell layer window. If you use no operands then the new layer window
Xwill be a shell. However, you can specify any command you wish by
Xsimply adding it as a parameter. Examples: "layers vi testfile.c",
X"layers telnet earth."
X.PP
XIf you are specifying a shell then you can also elect to have it be a
Xlogin shell by adding a -l option. This allows broadcast/write/talk
Xcapabilities for that window. The initial layer window shell defaults
Xto a login shell.
X.PP
XWhen a layer process group terminates its window is automatically closed.
XMacLayers exits layers mode when the last (or only) layer window is closed.
XYou may also use the Layers Menu "Shutdown" to terminate layers mode.
XYou cannot quit the MacLayers application while in layers mode but must
XShutdown the multi-window mode first.
X.PP
XYou can abort host
X.I layers
Xby using the Control Menu "Abort Host Layers"
Xitem which is always available. This may be necessary if your Mac
Xloses contact with the host and you restart the MacLayers application at
Xwhich time the host would still be in multi-window layers mode while
Xthe application would not. If the MacLayers application terminates due
Xto a non-recoverable problem it will always issue an order to terminate
Xlayers mode on the host before returning to the Finder.
X.SH XMODEM DOWNLOADING
X.PP
XMacLayers has a download facility for downloading XMODEM MacTerminal
X('macput' command) and MacBinary ('macbput' command) files. Straight
Xvanilla XMODEM is not supported.
XOnly one window can be doing a XMODEM download at any one time.
XDownloading does not effect any other MacLayers operations so you can
Xfreely use any other windows or applications (with MultiFinder) while
Xa download is in progress. Remember though that the topmost window
Xreceives the highest priority data transfer from the host. So for the
Xfastest downloading keep the XMODEM layer window the active window.
X.SH FILES
X.PP
X /usr/tmp/layers/<login> Directory created by
X.I layers
X /usr/tmp/layers/<login>/host.ttySocket Created by
X.I layers
X.SH AUTHOR
XDave Trissel
X.SH BUGS AND CAVEATS
X.PP
X *) The shell TERM variable must have the same value in your
Xlayer shells as it does when you initially start
X.I layers
Xup.
X.PP
X *) If you set the BSD shell TERMCAP variable then that variable must
Xbe set in your .login file. It may not be changed to something
Xdifferent in .cshrc.
X.PP
X *) The
X.I layers
Xcommand will not properly work when being issued from a
Xremote login into the same machine which is already running the
Xinitial
X.I layers
Xstartup command.
X.PP
X *) There is no file upload facility.
X.PP
X *) MacLayers will access the disk less often if you have RAM Cache
Xenabled on the Macintosh.
X.PP
X *)Layers must be installed as set-uid with owner root in order
Xto be able to correctly change the owner of the tty device
Xfile for each window. Special permission may also be
Xrequired to write the file "/etc/utmp".
X.SH SEE ALSO
X.PP
XThe MacLayers program is
Xcompletely described in the manual that accompanies it.
X.PP
XManual page courtesy of Peter Newton.
X.PP
XUNIX(TM) is a registered trademark of American Telephone and Telegraph.
XMacintosh is a trademark of McIntosh Laboratories and is licensed to Apple
XComputer.
SHAR_EOF
if test 4858 -ne "`wc -c < 'layers.1'`"
then
echo shar: error transmitting "'layers.1'" '(should have been 4858 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'macbput.1'" '(2849 characters)'
if test -f 'macbput.1'
then
echo shar: will not over-write existing file "'macbput.1'"
else
sed 's/^X//' << \SHAR_EOF > 'macbput.1'
X.TH MACBPUT local "17 Mar 1990"
X.UC 4
X.SH NAME
Xmacbput \- send file to macintosh via macbinary protocol
X.SH SYNOPSIS
X.B macbput
Xfile
X.br
X.B macbput
X[
X.B \-rdu
X] file
X[
X.B \-t
Xtype
X]
X[
X.B \-a
Xowner
X]
X[
X.B \-n
Xname
X]
X.SH DESCRIPTION
X.I Macbput
Xsends a file to a Macintosh running MacTerminal.
XThe File Transfer Protocol settings should specify the "MacBinary"
Xtransfer method.
XMacbput will also work with other communications programs for the Mac
X(e.g. MacLayers);
Xconsult the user's manual for your macbinary-compatable communications
Xprogram for more information.
XThis manual page will only address the use of macbput with MacTerminal.
X.PP
XTo use this program, log into the unix system using MacTerminal,
Xand run macbput specifying the desired options and one file to be sent.
XIf MacTerminal is properly configured, it will recognize that a file
Xis arriving on the serial line and put up an indicator showing how
Xmuch of the file has been sent.
XSeveral Control-X's may be used to force macbput
Xto give up if the transfer fails.
X.PP
XIf none of the
X.B \-rdu
Xflags are specified,
X.I macbput
Xsends three unix files to the Mac:
X.IB file .info ,
X.IB file .data ,
Xand
X.IB file .rsrc .
XThese specify the three parts of one Mac file: the .data file
Xbecomes the data fork, the .rsrc file becomes the resource fork,
Xand the .info file specifies the sizes of the two forks, as well
Xas the file name, file type, creation date, and other information.
XThis is useful for returning files to the Mac which were stored
Xusing macget or macbget.
X.PP
XThe
X.B \-r
Xflag specifies
X.I resource
Xmode.
XEither
X.IB file .rsrc
Xor
X.I file
Xwill be sent to the Mac, along with a forged
X.B .info
Xfile and an empty
X.B .data
Xfile.
XThe file sent becomes the resource fork of the Mac file.
X.PP
XThe
X.B \-d
Xflag specifies
X.I data
Xmode.
XEither
X.IB file .data
X,
X.IB file .text
Xor
X.I file
Xwill be sent to the Mac, along with a forged
X.B .info
Xfile and an empty
X.B .rsrc
Xfile.
XThe file sent becomes the data fork of the Mac file.
X.PP
XThe
X.B \-u
Xflag requests
X.I unix
Xmode, which is the same as
X.I data
Xmode except unix newline characters are converted
Xinto carriage returns.
XHuman-readable unix text files sent to the Mac using this option
Xwill be compatible with applications which expect "text only" files.
X.PP
XThe remaining options serve to override the default
Xfile type, owner, and file name to be used on the Mac.
XThe default type and owner for
X.I resource
Xand
X.I data
Xmode defaults are "????", "????", and
X.I unix
Xmode defaults are "TEXT" and "MACA".
X.SH SEE ALSO
Xmacput(local), macget(local), xbin(local), macbin(local), mcvert(local)
X.SH BUGS
XThe macbinary protocol may not work over flow controlled communication lines,
Xsome terminal concentrators, or when using rlogin.
X.SH FEATURES
XProperly initializes the Creation Date.
X.SH AUTHOR
XOriginal base code: Dave Johnson, Brown 7/31/84
SHAR_EOF
if test 2849 -ne "`wc -c < 'macbput.1'`"
then
echo shar: error transmitting "'macbput.1'" '(should have been 2849 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'MacLayers.doc'" '(30876 characters)'
if test -f 'MacLayers.doc'
then
echo shar: will not over-write existing file "'MacLayers.doc'"
else
sed 's/^X//' << \SHAR_EOF > 'MacLayers.doc'
X
X MacLayers Document
X
X Version 1.00 March 17, 1990
X
XMacLayers provides multi-window capability for a Macintosh connected
Xto a host UNIX(TM) system with sockets support. Each window may be
Xassociated with a shell, login to a different host, or an individual
Xcommand. Complete facilities are available for controlling the window
Xand the associated host processes attached thereto.
X
X
X What You Need To Run MacLayers
X
X1) A Unix host which supports the sockets protocol.
X
X2) A Macintosh with more than 128k of RAM and connected to the host.
X
X3) The MacLayers Macintosh Application provided with this package.
X
X4) The Unix host server command 'layers' provided with this package.
X
X5) If you want to resize windows which are logged into a second BSD
X machine or resize windows on a BSD machine running in non-layers
X mode then you need the 'layersize' command provided with this package.
X
X6) If you want to specify window titles on your own (such as to indicate
X your current directory or other such information) you need the Unix
X 'layertitle' command provided with this package.
X
X
X
X MacLayers Operation
X
XThe MacLayers Application on the Macintosh starts up as a garden variety
Xhost-to-terminal vt-100 emulator. (As such you can run it with any
Xhost, not just a BSD machine.) Baud rate and other configurations
Xare set by selections in the Control menu. MultiFinder is fully
Xsupported so you can use other applications while MacLayers is
Xexecuting and downloading.
X
XThe initial or any document window may be saved via the "Save As" File
Xmenu option. When this happens the file is designated as a MacLayers
Xapplication document and contains not only logged text from the host
Xcommunications in that window but also the current Control menu settings.
X
XOnce the initial 'layers' command is executed on the host (use no options
Xor parameters) MacLayers and the host start operating in MacLayers
Xprotocol mode. Automatically the document file window is closed and
Xreopened as layer number 1 running with a new shell. The shell is either
X/bin/sh or the shell indicated by your $SHELL environment variable.
XThe term 'layer' refers to a process group running on the Unix host
Xand the associated MacLayers window to which the group is attached.
X
XThe Macintosh Layer menu list shows the status of currently opened layers
Xand read-only text files (described later). Selecting the menu item
Xbrings the associated window up front.
X
XLayer number 1 is always associated with your startup document. Its
Xshell identifies itself to the host as your login shell so that broadcast
Xmessages and commands like 'talk' and 'write' will be properly redirected
Xto that window. (The current mesg(1) state remains unchanged.)
X
XYou can start a new shell layer via the New menu item from the Layers
Xmenu. You can also start a new layer window by issuing the 'layers'
Xcommand in a shell layer window. If you use no operands then the new
Xlayer window will be a shell. However, instead of a shell you can specify
Xany command you wish by simply adding it as a parameter. Examples:
X
X layers vi testfile.c
X
X layers telnet earth
X
XIf you are specifying a shell then you can also elect to have it be a
Xlogin shell by adding a -l option. This allows broadcast/write/talk
Xcapabilities for that window. By default only the document layer
X(number 1) always starts out as a login shell.
X
XThe host is always kept informed of your current window size and programs
Xusing curses(3) like 'vi' and 'more' will properly adapt. However, most
Xutilities only size the window once when they start up so changing
Xthe window size is verboten after they are running. MacLayers normally
Xdisallows window resizing when it recognizes that you are running such
Xa program. This can be overridden by holding down the shift key when
Xresizing the window. A 'vi' symbol appears in the lower right window
X'growbox' area when MacLayers detects you are running a cursor moving
Xtype of program. Zooming also is disallowed at this time unless both the
Xzoomed and non-zoomed state have exactly the same character line width
Xand height.
X
XSee the section "Logging Into Another Host" below for information on
Xproper window sizing when your window is being used to do a login command
Xinto another host.
X
X Note: You may have to hit return once after some programs terminate
X to get MacLayers to recognize you are out of 'vi' mode.
X
XThe "enter" key is typically used to send a break (SIGINT) to all
Xprocesses associated with that layer window. The method can be configured
Xin the Control menu Terminal item.
X
XYou may terminate the window's processes with the Layers menu
X"SIGTERM/SIGHUP Layer" item. The layer may also be killed by closing its
Xwindow (SIGHUP). When a layer process group terminates on the host
Xits window is automatically closed.
X
XMacLayers exits layers mode when the last (or only) layer window is closed.
XYou may also use the Layers menu "Shutdown" to terminate layers mode.
XYou cannot quit the MacLayers application while in layers mode but must
XShutdown the multi-window mode first.
X
XYou can abort host layers by using the Control menu "Abort Host Layers"
Xitem which is always available. This may be necessary if your Macintosh
Xloses contact with the host and you restart the MacLayers application at
Xwhich time the application would not be in layers mode but the host would.
XIf the MacLayers application aborts due to a non-recoverable problem
Xit will inform the host to terminate layers mode before returning to the
XFinder.
X
X More About Window Sizing
X
XEach MacLayers window has two complete window size environments, a zoomed
Xstate size and a non-zoomed state size. Each state may have its own
Xassociated font size and screen location. When you change the window size
Xby dragging the grow corner (bottom right) you convert the window into
Xits zoomed state. Clicking the zoom box in the title bar switches between
Xthe two states. Simply moving a window doesn't change its state. Both the
Xfont and size for the two states can be set by the Control menu "Default
XWindow Settings" and "Current Window Settings" items. The default item
Xsettings are used when any new windows are created.
X
X Logging Into A Secondary Host
X
XIf you log onto another system from within a layer window then that system
Xwill not know of your current window's size. MacLayers provides you with
Xa way to inform that system of this information if the system is a BSD
Xor System V Unix.
X
XFor remote BSD systems you can execute the 'layersize' command provided
Xwith this package. (The command must be copied or built on the remote
Xsystem and be accessible by your shell there.) When at the shell command
Xprompt select the Control menu item "Inform BSD of Window Size" and a
Xstring will be sent invoking the 'layersize' command. This informs the
Xremote kernel of the current process window size. If your BSD .login or
X.profile uses the 'tset' command to set the terminal type then you must
Xadd the -I option to keep 'tset' from forcing each login window to be
Xtreated as always having 24 lines (the vt-100 default.)
X
XSystem V allows window (actually screen) sizes to be specified with
Xthe environment variables "COLUMNS" and "LINES". You can automatically
Xset these shell variables when at a shell command prompt by selecting
Xthe Control menu "Inform System V of Window Size" item.
X
XIt is up to you to inform the indirect login host of any window size
Xchanges by using the menu items. Your terminal type on such hosts
Xshould be specified as vt100 if you wish to execute screen oriented
Xcommands such as 'vi' or 'more'.
X
X Other Capabilities
X
X Cursor Positioning In 'vi' Mode
X
XWhen in 'vi' mode MacLayers provides a useful cursor moving feature.
XDouble-clicking in the window causes a series of vi commands to be
Xissued which cause the insertion cursor to move to that location.
XYou must not be in vi insert mode or the commands will simply be taken
Xto be text that you have typed. (You can do that just for fun to see
Xwhat MacLayers sends on a double-click.)
X
X Read-only Text Files
X
XMacLayers can open up text files as read-only windows by using the
X"Open Text" File menu. Such windows can have their contents copied to
Xthe clipboard but may never be altered in any way. Text window titles show
Xthe circle-r (registered trademark) to let you know they are read-only
Xand a "no-write" symbol appears at the bottom right portion of the
Xwindow (the "grow" area.)
X
X Window Aliasing
X
XAt times you may wish to view two portions of a communication window's
Xcontents at one time. The File menu "Open Window Alias" will create a
Xnew read-only window for any communications window and this can be
Xscrolled to any independent position desired just like a text-only window.
X
XSince in-coming text from the computer always forces a window to the
Xbottom for proper capturing, the window aliasing feature can be used
Xto open a surrogate window that is immune to this action.
X
X XMODEM Downloading
X
XMacLayers has a download facility for accepting downloaded XMODEM
XMacTerminal ('macput' command) and macbinary ('macbput' command) files.
XStraight vanilla XMODEM is not supported. A copy of the public domain
Xmacbinary downloading program 'macbput' is provided with this package.
X
XOnly one window can be doing a XMODEM download at any one time.
XDownloading does not effect any other MacLayers operations so you can
Xfreely use any other windows or applications (with MultiFinder) while
Xa download is in progress. Remember though that the topmost window
Xreceives the highest priority data transfer from the host so for the
Xfastest downloading keep the XMODEM layer window the active window.
X
XThe File menu "Download Site" can be used to preselect the location
Xwhere downloads are to occur. By default files are placed where the
Xstartup document resides. This setting is forgotten each time the
XMacLayers application terminates.
X
XIf you have an error-free line then setting the "Fast" mode in the
XControl menu "File Transfer" selection will speed up download by about
X28%.
X
X Downloading Examples
X
XThe macbput utility provided with this package can be run on the host
XUnix system and is used to ship files to a Macintosh running MacLayers.
X(Some Unix systems already have a utility called macput which is used in
Xexactly the same way. But macbput properly updates Macintosh file dates
Xconcerning the time of original creation and last use.)
X
XTo download a standard Unix text file, for example one created by a
Xeditor such as vi or emacs, enter the following command:
X
X macbput -u filename
X
XThe transfer will start automatically and will create a Macintosh file
Xof type TEXT on the Macintosh which can be opened by applications such as
XMacWrite and Word.
X
XOther types of Macintosh files and applications may also be downloaded.
XOn the host Unix system they may take on one of many forms. If you have
Xa single file which ends in the name "hqx" then it must first be converted
Xinto three files with names ending in .info, .data and .rsrc with a
Xutility such as xbin (not provided.)
X
X xbin filename.sit.hqx
X
XIf you have the .info, .data and .rsrc files then you are ready to
Xdownload with the macbput (or macput) command. Specify only the front
Xpart of the file name, the part before the .info, .data and .rsrc.
X
X macbput filename.sit
X
XThe transfer will start automatically and upon completion a copy of the
Xfile will be available on the Macintosh.
X
XSometimes the host version of the file will not be in three pieces but
Xinstead exist as a single binary (non-text) file. These are called
Xmacbinary files and almost always end in the suffix ".bin". Macbinary
Xfiles may be converted to the three file info, data and rsrc format with
Xutilities such as "mcvert" (not provided) and then downloaded with macbput
Xas above. It is also possible to directly download a macbinary file if
Xyou have a so-called XMODEM download utility. (One such utility is
Xcalled "xmodem".) To accomplish this, issue the download command on the
Xhost:
X
X xmodem -sb filename.bin
X
Xand then select the File menu "Download File" item. The download
Xshould start at that time. But if it doesn't you may have to invert the
XControl menu "File Transfer ..." CRC/Checksum selection and try again.
XNote that downloading via XMODEM utilities will not auto-start the
Xprocess on the Macintosh. You must use the "Download File" menu item
Xto start the Macintosh side of the operation.
X
X Paste Speed
X
XUnix is known for the ease with which its tty device drivers can be
Xoverrun by input. (This causes data to be lost.) MacLayers provides
Xtime delay options which can be set for pasting text into a window.
X(Data pasted into a window is sent on to the host.) The options are
Xin the Control menu "File Transfer" selections.
X
X Preferences Menu Item
X
XThe Control menu Preferences item provides user selectable options for
Xhighlighted text format and cursor display among other things.
X
X Window or Selection Printing
X
XThe entire window or the current selection may be printed by activating
Xthe File menu "Print" entry. If you have an early Macintosh model with
Xonly 64K of ROM then printing will refuse to work due to Apple's lack of
Xsupport for that machine in the MPW programming environment.
X
X Vertical Window Scrolling With Keyboard Keys
X
XYou can scroll the active window up or down via the key sequences given
Xbelow. The second sequence for each option is an alternate provided only
Xfor keyboards not having arrow keys:
X
X COMMAND+UPARROW scroll back one page
X or COMMAND+"'"
X
X COMMAND+DOWNARROW scroll forward one page
X or COMMAND+'/'
X
X COMMAND+OPTION+UPARROW scroll back one line
X or COMMAND+OPTION+"'"
X
X COMMAND+OPTION+DOWNARROW scroll forward one line
X or COMMAND+OPTION+'/'
X
X COMMAND+SHIFT+UPARROW scroll to the top of the file
X or COMMAND+SHIFT+"'"
X
X COMMAND+SHIFT+DOWNARROW scroll to the bottom of the file
X or COMMAND+SHIFT+'/'
X
X Horizontal Window Movement With Keyboard Keys
X
XMacLayers does not directly support horizontal scrolling of window contents.
XHowever, the entire window can be easily moved right or left with keyboard
Xsequences. Requesting a movement right or left will bring the opposite
Xedge of the window into view on the screen. If the opposite edge is
Xalready in view then the window is moved still further in the indicated
Xdirection.
X
XThis capability when used with the vertical scrolling key sequences allows
Xsmall screen Macintosh users to comfortably manipulate windows that are
Xwider than the screen.
X
XHere are the key sequences provided. The second sequence for each option
Xis an alternate provided only for keyboards not having arrow keys:
X
X COMMAND+LEFTARROW
X or COMMAND+'<' move window left
X
X COMMAND+RIGHTARROW
X or COMMAND+'<' move window right
X
X
X Tandem Scrolling
X
XHolding the shift key down while selecting a vertical line or page
Xscroll with the mouse will automatically cause the same scroll to be
Xattempted on the next lower MacLayers window (if any.) This is handy
Xwhen eyeballing two long similar sections of text for differences.
X
X Special Keyboard Sequences
X
XFor emacs users MacLayers allows a metakey sequence to cause bit 7 (the
Xhigh bit in a character) to be set. Combining both the command and
Xoption keys with any other key sequence will cause bit 7 to be forced
Xon. Thus, keyboards having a built-in control key can generate all 256
Xpossible 8-bit characters. Macintoshes with old non-ADB keyboards will
Xignore this treatment for the "'" or "/" characters since they are
Xrequired for the window scrolling movements indicated earlier.
X
XFor users requiring the generation of ASCII NUL (a zero byte, sometimes
Xcalled the IDLE character) an alternative to CONTROL-@ (also CONTROL-2)
Xis to issue CONTROL-space (also OPTION-space.) This follows vt-100
Xterminal convention.
X
X Find Capabilities
X
XThe Find menu items allow searching windows for specific contents or
Xgoing to the current selection.
X
X Iconed Window Capability
X
XA unique feature of MacLayers is the ability to shrink a window to an
Xicon. While iconed the window will still actively display its contents
Xand scroll just like a standard sized window.
X
XTo iconize a window simply double-click its title bar or select the
XIconize menu item from the Layers menu. While iconed the window may be
Xmoved around just like a Finder Icon and the miniaturized window retains
Xits own independent location.
X
XA window is deiconized when you double click it, type input to it as the
Xtop window, select it with a Layers menu item, or select the Deiconize
XLayers menu item.
X
XJust for fun MacLayers allows you to scroll a iconed window with the
Xvertical scroll keys (defined earlier) without causing it to deiconize.
X
XFor users running under MultiFinder standard windows can be auto-iconed
Xtemporarily while MacLayers is not the front most application. A check
Xbox in the Preferences menu dialog box enables this action. If checked
Xthen holding the shift key down while switching to another application
Xwill temporarily inhibit the auto-iconing.
X
X Icons to Default Positions
X
XThis menu selection from the Control menu item resets the positions of
Xall iconed windows such that when iconed they appear along the top, right,
Xleft or bottom of the screen. There is also an option for the bottom where
Xonly the titles show. This allows the user to treat the titles of iconed
Xwindows as though they are buttons at the bottom of the screen. By double
Xclicking the button (which is really the title of the iconed window)
Xthe window returns to its full size.
X
XThe menu item simply resets the position for all icon windows to the
Xdesignated choice selected in the Preferences dialog. They may then be
Xmoved again by you to other areas of the screen.
X
X Shrink Window To Title
X
XAt times the desktop becomes too cluttered so MacLayers provides yet
Xanother feature to ease the busy desktop problem. Any MacLayers window
Xcan be shrunk to just its title bar by shift-double-clicking the title bar
Xor selecting the Titleize item from the Layers menu item. In effect the
Xwindow is still there but only the title bar remains visible. The window
Xremains titled even if output is being sent to it. Moving the title bar
Xhas the same effect as moving the window.
X
XThe window may be detitleized by double-clicking the title bar or selecting
Xthe Detitleize item from the Layers menu.
X
X Hide Window Capability
X
XYou may also completely hide any MacLayers window at any time by selecting
Xthe Hide item from the Layers menu. The window will stay hidden until
Xoutput is sent to it from the host or you reactivate it from the Layers
Xmenu.
X
X Cycling Through Windows
X
XAll active MacLayers windows may be displayed one after the other in
Xnumerical order by selecting the Layers menu Cycle item. Hidden windows
Xdo not appear in the cycle list.
X
X Specifying a Layer Window Title
X
XThe 'layertitle' command provided with this package allows a single
Xargument (which may be a string) to specify a title to be displayed
Xfor the controlling window of the process. The source for this command
Xshould compile and execute on any Unix system and so can be used even for
Xwindows which are logged into remote hosts.
X
XAn example use of this feature is to create your own "cd" directory
Xchange shell command and have it always display the current directory
Xname in the title bar.
X
XExpert users can examine the 'layertitle' source code to discover
Xthe control sequence needed to send the ANSI Private Message string which
Xactually causes the new title to be recognized. Knowing this sequence
Xstandard shell echo facilities can be used in place of the 'layersize'
Xcommand.
X
X Sending an Interrupt to a Window Process
X
XThe Send Interrupt To Layer item of the Layers menu causes a internal
Xpacket to be sent to the host indicating that a SIGINT signal be sent to
Xthe UNIX process group attached to the window. This is only available in
Xlayers mode.
X
XAt times the UNIX tty mode settings for a process may become garbled
Xand if the Enter key is sending DEL or CONTROL-C this may not be enough
Xto interrupt the process. Selecting this menu item bypasses the tty
Xdriver and so ensures that an interrupt signal is received.
X
X Reset Terminal
X
XOccasionally you may have bad data transmitted to the Macintosh which can
Xcause the vt-100 emulation to enter a special graphics mode or setup
Xa vt-100 screen scrolling area smaller than your full window size. If this
Xoccurs the Control menu item "Reset Terminal" will reinstate normal
Xoperation. This in no way affects layers mode operation.
X
X Sending Break in Layers Mode
X
XA hardware 'break' can be placed on the host serial line with the Control
Xmenu Send Hardware Break item. However, when in layers mode this is only
Xallowed if the line is idle to guarantee that no internal control packets
Xbecome garbled or lost. A beep occurs when the line is busy.
X
X Aborting Current Activity
X
XPaste and XMODEM operations may be aborted by entering COMMAND-period
X(cmd-.).
X
X Use of the Macintosh RAM Cache
X
XFor the last few years versions of the Macintosh operating system have
Xprovided a RAM cache feature configurable in the control panel to speed
Xup data transfers to floppy and hard disks. There are two types of
Xenvironments where this option is especially useful with MacLayers.
X
XThe first situation is for users running off of floppy disks. In this case
Xrunning with at least the minimal RAM cache size of 32K will inhibit the
Xconstant whirring of your diskettes and improve screen text display speed.
X
XUsers using high-speed communication connections (9600 and above) make up
Xthe second group that may need to run with the RAM cache turned on. This
Xis necessary to avoid data loss when receiving large amounts of
Xuninterrupted data. An example of this would be the listing of a large
Xsource file directly to your window. Once the RAM cache is filled it
Xpurges itself by writing the cached data to an output file. The Macintosh
Xserial driver can lose high speed data coming in if diskette or hard disk
Xaccesses are being done at the same time. (This is called data overrun.)
XUsers with this potential situation need to guarantee that the size of
Xtheir ram cache is at least as big as the largest amount of data they
Xwant to capture. (This does not concern XMODEM transfers. They do not
Xrequire RAM cache although cache of at least minimum size can speed
Xthese up as well.)
X
X Disk Full Processing
X
XMacLayers will put up a warning box and delete all data in the scroll
Xfile up to the current output position if the disk where the file resides
Xbecomes completely filled.
X
X Minimal Memory Environment
X
XFor users with extremely tight memory requirements MacLayers can be forced
Xto run in a memory partition approximately 95k bytes smaller than normal.
XWhen run in this manner MacLayers will beep at startup and issue a warning
Xthat only a single window is allowed. No more than one window can be open
Xat a time and no read-only text windows are available in this mode. Also,
Xthe maximum size of data handled by cut and paste operations is more
Xrestrictive.
X
X Enhanced Terminal Capabilities
X
XMacLayers supports standard vt-100 terminal protocol as described in BSD
XTermcap(5) and System V Terminfo(4). But there are also two extra
Xcapabilities which can speed up screen updating particularly with screen
Xeditors. UNIX users who specify vt100 terminal type only for the sake
Xof running MacLayers can include these extra capabilities by using the
Xreplacement terminal descriptions below. These not only include the extra
XMacLayers terminal capabilities but also remove timing waits required
Xby real vt-100's thus providing even further speed improvements.
X
XFor BSD Termcap the following description can be used:
X
X # MacLayers vt-100 Termcap
X d0|vt100|vt100-am|MacLayers dec vt100:\
X :cr=^M:do=^J:nl=^J:bl=^G:co#80:li#44:cl=\E[;H\E[2J:\
X :le=^H:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
X :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
X :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;24r\E[24;1H:\
X :rf=/usr/lib/tabset/vt100:\
X :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\
X :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
X :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:ta=^I:pt:sr=\EM:vt#3:xn:\
X :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:\
X :dc=\ED:ic=\EI:
X
XThe System V Terminfo specialized definition is:
X
X # Special System V Terminfo definition for MacLayers vt100
X vt100|vt100-am|dec vt100 without tabs and with MacLayers extras,
X am, mir, msgr, xenl, xon, cols#80, lines#24, vt#3,
X acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
X bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r,
X csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
X cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
X cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
X dch1=\ED, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
X home=\E[H, ich1=\EI, ind=\n, ka1=\EOq, ka3=\EOs, kb2=\EOr,
X kbs=\b, kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
X kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ,
X kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
X kf9=\EOw, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E[?1l\E>,
X rmso=\E[m, rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
X sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;,
X sgr0=\E[m^O, smacs=^N, smkx=\E[?1h\E=,
X smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
X
X
X
X Hints
X
X *) MacLayers must internally handle your window display differently
X whenever the cursor is being positioned above the bottom line such
X as occurs during the execution of a screen editor on the host. The
X "vi" symbol is displayed in the grow box during this time to indicate
X this special mode. During so-called "vi" mode you are not allowed
X to change the window size. Holding the shift key down will override
X this restriction and allow you to resize the window. But remember
X that if you are running a utility then the utility may not be able
X to dynamically adjust to a new window size. If it can then you must
X do whatever is required of the utility to inform it of the change.
X
X At times MacLayers may think the window is still in "vi" mode even
X after an editor or cursor controlling utility has finished. One
X instance of this is immediately after a "clear screen" command.
X MacLayers does not know to go out of "vi" mode until a new line is
X added to the very bottom of the screen causing the screen to scroll
X up a line. If the window has stayed in "vi" mode and you want to
X resize it simply hold the shift key down or type empty lines to the
X shell until the window begins to scroll again. (The "vi" will then
X disappear from the grow box.)
X
X *) When running in layers mode the host/MacLayers interface always
X uses vt-100 protocol regardless of your TERM terminal type setting.
X Thus if you only set your TERM variable to vt100 to run MacLayers
X and you always run in layers mode then you need not bother actually
X setting vt100 as your Unix terminal type.
X
X *) As mentioned at the start of this document MacLayers can be used
X as a normal vt-100 terminal emulator when connected to any host
X computer. On BSD and System V systems you can also use the variable
X sized window feature in non-layers mode by following the same
X instructions given for logging into a remote host as described
X in the "Logging Into A Secondary Host" section above. (This also
X holds true for a layers host before the layers command is entered.) On
X systems other than BSD and System V changing the current window
X size may garble output unless there is a means for you to notify
X your connection of the new window size.
X
X
X Problems/Caveats
X
X *) The current version does not do data validation with packet retry for
X MacLayers/host internal communication. Thus poor line conditions may
X cause a host internal message to be missed. This is usually not
X catastrophic but means something won't work correctly. For instance
X a window might not auto-close when a host process death occurs or
X output might be sent to the wrong window.
X
X *) The shell TERM variable must have the same value in your
X layer shells as it does when you initially start layers up.
X
X *) If you set the BSD shell TERMCAP variable then that variable must
X be set in your .login file. It may not be changed to something
X different in .cshrc.
X
X *) The host/MacLayers system attempts to give highest data communication
X priority to the topmost MacLayers window at all times by throttling
X down output to other windows. However due to internal UNIX kernel I/O
X buffering the attempts may not always succeed.
X
X *) The "Download Site" folder is always kept open which means if you
X want to trash the folder you must first choose a new download site or
X quit MacLayers.
X
X *) MacLayers has U.S. keyboard dependencies.
X
X *) The layers command will not properly work when being issued from a
X remote login into the same machine which is already running the initial
X layers startup command.
X
X *) If a layers window text file is read as a file of type TEXT by another
X application and that file has highlighted characters (as sent by the
X host) embedded within it then those characters will appear as garbage
X in that application. (Specifically such characters have the high bit
X [bit 7] on.)
X
X
X Bugs
X
X *) Occasionally during or after a cursor moving utility has executed if
X the window is scrolled backwards then when it is eventually scrolled
X forward to the bottom (last) line of the file the bottom line will
X be missing from the display. If you can reproduce this problem then
X please send a complete description of how to do so to
X
X uunet!rascal.ics.utexas.edu!layers-reply
X
X
X
X Acknowledgement
X
X The author owes a big thanks to Werner Uhrig and his band of testers at the
X University of Texas for the many bug reports and suggestions delivered
X during the intensive beta testing phase of this product. MacLayers is a
X substantially improved application as a result.
X
X Dave Trissel
X Austin
X
X
X
XUNIX(TM) is a registered trademark of American Telephone and Telegraph.
X
XMacintosh is a trademark of McIntosh Laboratories and is licensed to Apple
XComputer.
X
X **** end of document ****
SHAR_EOF
if test 30876 -ne "`wc -c < 'MacLayers.doc'`"
then
echo shar: error transmitting "'MacLayers.doc'" '(should have been 30876 characters)'
fi
fi # end of overwriting check
# End of shell archive
exit 0
--- end of part 1 ---