home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / mint / mw2 / mw.doc < prev    next >
Encoding:
Text File  |  1993-08-03  |  9.9 KB  |  247 lines

  1. MW.PRG is a program which lets you run multiple MiNT shells in GEM windows
  2. under standard AES.  It advantage over MGR is that it is smaller, and using
  3. AES means you can run accessories along with MiNT shells. It emulates the
  4. vt52 just like an ST screen, except for color. Also, there are no graphics,
  5. and there is no provision for a program running in a window to determine or
  6. change the window's size or location.  This may change.  Programs that use
  7. VT52 escapes and those which use termcap work fine. Some programs probe
  8. line-A to determine lines-per-screen; in that case, use windows with the
  9. same number of lines as your non-GEM screen has.  With the smaller fonts,
  10. such windows will fit completely on the screen.
  11.  
  12. This program is placed unsupported in the public domain by Allan Pratt.
  13. It is not a product of Atari Computer Corporation.  It is intended to
  14. be freely usable, freely copyable, and freely distributed.
  15.  
  16. USAGE
  17.  
  18.     1.    Start up GEM from inside MiNT: put MiNT.PRG in the AUTO folder and
  19.     then either run "gem.prg" from your shell or copy "gem.prg" to
  20.     "init.prg" in the root of C: so it starts automatically.
  21.  
  22.     2.    MW needs to know the name of a shell that it can run in windows.
  23.     Gulam is not a good choice: you can't run more than one Gulam
  24.     shell safely under MiNT.  MiNT's own "init" shell is fine (and
  25.     as of the 11/91 release is really pretty cool).  Bash and such
  26.     should work, too.
  27.  
  28.     If you give MW a name on its command line, MW will run that program
  29.     as the shell.  Otherwise it looks in its environment for a variable
  30.     SHELL.  Failing that, it runs MWINIT.PRG from its current directory.
  31.  
  32. THE MENU BAR
  33.  
  34.     FILE
  35.  
  36.         EDIT KEYS lets you edit the keyboard shortcuts.  See the
  37.         NOTES section for editing the resource to make your
  38.         choices permanent.
  39.  
  40.         QUIT quits.
  41.  
  42.     OPTIONS
  43.  
  44.         SLIDERS and TITLE BAR control the existence of these
  45.         components in new windows.  Use SET GADGETS to set the
  46.         current window's gadgets to match these options.
  47.  
  48.         AUDIBLE BELL and VISIBLE BELL set these options globally.
  49.  
  50.         WINDOW FLOURISH toggles the use of grow/shrink boxes
  51.         when windows are opened, closed, and fulled.
  52.  
  53.         MOUSE FLICKER controls hiding the mouse.  With it on,
  54.         the mouse is constantly visible, but it flickers.
  55.         With it off, the mouse can stay hidden until you move it.
  56.         This is slightly faster and (IMHO) more pleasing, but
  57.         works badly in conjunction with accessories.
  58.  
  59.         JERKY UPDATES controls the flow of data into a window.
  60.         With it off, each line is displayed in the window as
  61.         it arrives.  With it on, multiple lines will be spooled
  62.         and written to the window all at once, which is faster.
  63.  
  64.     OPERATIONS
  65.  
  66.         RENAME lets you change the name in the title bar of the
  67.         window.  It is normally the name of the shell started in
  68.         that window.
  69.  
  70.         SHRINK shrinks the window to a small size and puts it
  71.         out of the way at the right side of the screen.  Click
  72.         the full box to make the window big again (maybe; this
  73.         is not perfect).
  74.  
  75.         HIDE TOP and SHOW BOTTOM are top-to-bottom and
  76.         bottom-to-top operations.
  77.  
  78.         OTHER SIZE is equivalent to clicking the fuller.  Its
  79.         action might be surprising due to bad coding in the
  80.         original UW.
  81.  
  82.         RESIZE lets you set the size of the virtual terminal in
  83.         rows and columns.
  84.  
  85.         SET GADGETS sets the current window's gadgets (SLIDERS,
  86.         TITLE BAR) to the states indicated in the OPTIONS menu.
  87.  
  88.         TOGGLE GADGETS lets you add a title bar and sliders to a
  89.         window that doesn't have them.  It toggles between the set
  90.         of gadgets the window was created with and the full set. If
  91.         the window was created with the full set, it toggles 
  92.         between that and no gadgets at all.  Thus you can have
  93.         a window with no gadgets, and "turn them on" only when you
  94.         want to use them.
  95.  
  96.     WINDOW
  97.  
  98.         NEW 25x80 opens a new window with 25 lines and 80 columns
  99.         in the current font from the FONT menu using the current
  100.         settings of the SLIDERS and TITLE BAR options in the
  101.         OPTIONS menu.
  102.  
  103.         NEW OTHER opens a window using the last "other" size you
  104.         set using the SET OTHER menu item.  This defaults to 50x80.
  105.  
  106.         SET OTHER allows you to set the size for windows opened
  107.         with the "NEW OTHER" menu item.
  108.  
  109.         CLOSE closes the current window (but see NOTES below).
  110.  
  111.     FONT
  112.  
  113.         UW comes with several fonts.  These, plus three system fonts
  114.         (8x8, 8x16 and 6x6) are available in the FONT menu.  The 
  115.         checked font is the font that new windows will be opened with.
  116.  
  117.         SET FONT sets the current window to the checked font and
  118.         resizes it so it's the same size (in rows and columns) as
  119.         before.
  120.  
  121. NOTES
  122.  
  123. The virtual terminal screen size is the number of rows and columns selected
  124. when the window was opened or resized with the RESIZE option.  The window
  125. on the screen can not be made larger than full size, and making it smaller
  126. with the sizer gadget results in seeing only part of the virtual terminal
  127. screen.  If you have sliders enabled you can scroll this window around on
  128. the virtual terminal screen.
  129.  
  130. I like to run with the title bar on and sliders off.  This takes up less
  131. room on the screen than the sliders, but still lets you move the window
  132. around.
  133.  
  134. A window will actually close only when the process in it exits.  Activating
  135. the closer or selecting the CLOSE menu item sends SIGHUP to the shell
  136. started in that window.  The basic MiNT shell (INIT.PRG by Allan Pratt and
  137. Eric Smith) sends this signal along to its children, so they will die and
  138. the window will close.
  139.  
  140. You can edit the resource file with a resource editor to change the
  141. hot-keys used for menu items.  Any menu item with ASCII character 005
  142. followed by any character in it will have ALT plus that character as a
  143. shortcut.  To work in this way, the character must be one of those
  144. regularly obtained on a key using CAPS LOCK: upper-case letters, numbers,
  145. and punctuation.  The EDIT KEYS function relies on being able to change the
  146. last two chars of a menu item name, so leave at least two spaces as padding
  147. if you change the menu item names in a resource editor.
  148.  
  149. VT52 EMULATION
  150.  
  151.     BEL: BEL (conditionally audible and/or visible)
  152.     CR:  CR
  153.     BS:  BS
  154.     LF:     LF
  155.     TAB: TAB
  156.     ESC: prefix:
  157.  
  158.     A   Cursor up (stops at borders)
  159.     B   Cursor down (stops at borders)
  160.     C   Cursor right (stops at borders)
  161.     D   Cursor left (stops at borders)
  162.  
  163.     E   Clear and home
  164.     H   home
  165.     I   Reverse index (currently same as cursor up)
  166.     J   Clear to end of screen
  167.     K   Clear to end of line
  168.     L   Insert line, pushing remainder of screen down
  169.     M   Delete line, pushing remainder of screen down
  170.         (There is some optimization here, collecting consecutive calls)
  171.     *    S   change status line (text up to \r is placed in title bar)
  172.     Yyx Address cursor (yx is two chars, row and col, with 32 added)
  173.  
  174.     *    a   Delete character (removed)
  175.     bx  Set text foreground color
  176.     cx  Set text background color
  177.     d   clear from beginning of screen (needs testing)
  178.     e   enable cursor (not implemented yet)
  179.     f   disable cursor (not implemented yet)
  180.     *    h   Enter insert mode
  181.     *    i   End insert mode
  182.     j   save cursor location
  183.     k   restore cursor from saved location
  184.     l   clear this line, put cursor at left (needs testing)
  185.     o   clear from beginning of line (needs testing)
  186.     p   Enter inverse video
  187.     q   End inverse Video
  188.     v   Wrap at end of line
  189.     w   Discard at end of line (not implemented)
  190.  
  191.     * marks features unique to UW/MW
  192.  
  193.     ESC-b and ESC-c don't quite work as they do for ST's.  The screen
  194.     image is kept in a single-plane memory buffer. In that buffer, a
  195.     '1' is foreground (text) and a '0' is background (blank).  This is
  196.     blitted to the screen, and with ESC-b and ESC-c you get to set the
  197.     color that the foreground and background bits become.  Instead of
  198.     being character-by-character, though, it takes effect for the whole
  199.     window.  Also, the low bits of the character after ESC-b or ESC-c
  200.     are taken as a VDI color number, not a physical or line-A color
  201.     number. Thus, the sequence "ESC b 0 ESC c 1" sets the foreground to
  202.     VDI color number 0 (the VDI background color) and the background to
  203.     VDI color number 1 (the VDI foreground color).  The low N bits of
  204.     the argument character are used, where N is the number of planes
  205.     in the video mode you're using.
  206.  
  207. BUGS
  208.  
  209.     The full box doesn't really work as you expect.  This is a bug from
  210.     the original UW.
  211.  
  212.     Only certain fonts work: the ones that came with UW, and the
  213.     three system fonts (6x7,8x8,8x16).
  214.  
  215.     Programs running in windows can't interrogate or set the
  216.     window size or position, only the window title (using ESC-S).
  217.  
  218.     You can't save a configuration of windows or of options.
  219.  
  220.     You can't open a window with just any program running in it,
  221.     just the shell specified at MW's startup time.
  222.  
  223.     The character-painting code in mwsubr could be really bad for all I
  224.     know.  I *know* that in "Jerky Updates" mode the whole screen is
  225.     blitted to the window more often than it needs to be. I haven't
  226.     looked at the actual character painting code at all. I've left that
  227.     part alone as it arrived in the MW package.
  228.  
  229. AUTHOR
  230.  
  231. The actual terminal-in-a-window code is lifted from UW which was written by
  232. Hans-Marten Mosner at the University of Dortmund in West Germany, as
  233. enhanced by Brad Bosch and Bian Katzung at Lachman Associates, Inc., in
  234. Naperville, Illinois.  See the file README.UW, which is their original
  235. README, for information about this implementation.  Many of the features
  236. have been lost as a result of my ripping their window code out and using it
  237. in a new program, changing it from adm31 to vt52, and well as changing
  238. their data structures so you can use an inifinite number of windows.
  239.  
  240. The MiNT stuff and a lot of other things are by me, Allan Pratt, of Atari
  241. Computer Corp.  This is not an Atari product: it's free, public-domain,
  242. released unsupported into the world without let or hindrance.
  243.  
  244. This is Version 2 of 11/1/91.  If you have a version that still emulates an
  245. adm31, that's Version 1.
  246.  
  247.