home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 192.lha / Zippy_v2.5 / Zippy.doc < prev    next >
Text File  |  1988-04-28  |  10KB  |  211 lines

  1.                The Zippy Graphic Shell  (Version 2.5  11/05/88)
  2.  
  3.                                Mike Weiblen
  4.                       4809 Calvert Road  POBox 1638
  5.                           College Park, MD 20740
  6.               PLink: EKIM   CIS: 72506,2082   GEnie: XTH36273
  7.  
  8. Legal Stuff:
  9.   (c) Copyright 1988 by Michael Weiblen.  All Rights Reserved.
  10.   Freely distributable only with credits & copyright notice intact.
  11.  
  12. Credits:
  13.   Inspired by and originally based (a looong time ago) on DuM2 
  14.   by Greg Browne, which is included as a demo program in the 
  15.   Benchmark Modula-2 package.  Thanks to Mic Kaczmarczik for ShowDevs,
  16.   another demo in the BM2 package.
  17.  
  18.  
  19. I'm going to assume you've used a directory utility before, so I'll just
  20. briefly describe the particular features of Zippy.  Experimenting is the
  21. best way to learn.
  22.  
  23. To start it up, just type at any CLI prompt:
  24.           Zippy
  25.  
  26.  
  27. The Zippy Window:
  28.   Starting from the top, the window is composed of:
  29.     The Source Directory string gadget
  30.       This is the name of the 'current' directory.  Its contents are
  31.       displayed the the table below.
  32.     The Destination Directory string gadget
  33.       When you perform a move or copy operation, this is the directory
  34.       where things go.  Both the Source & Destination buffer has separate
  35.       undo buffers which are preserved for future access (see below).
  36.     A message/status line
  37.     A row of gadget buttons (more on this later)
  38.     A table listing the contents of the Source Directory
  39.     and along the right edge, a slider for scrolling the table.
  40.  
  41.  
  42. The Row of 10 Gadget Buttons (from left to right, they are:)
  43.   #1  The Refresh Button (looks like a starburst)
  44.       This rereads the Source directory & refreshs the file table.
  45.   #2  The Device Button (looks like a floppy disk)
  46.       Fills the table with the names of all devices & ASSIGNed directories.
  47.       The refresh button will bring back the current directory if you should
  48.       accidently hit the device button.
  49.  
  50.   the next group of four buttons controls the string gadgets:
  51.   #3  The Root Button (the one with the colon)
  52.       Moves you the the root of the Source directory
  53.   #4  The Parent Button (the slash)
  54.       Moves you to the Source directory's parent
  55.   #5  The Swap Button (double-ended arrow)
  56.       Swaps the values of the Source & Destination string gadget.  Yes,
  57.       the undo buffers swap also.
  58.   #6  The Push Button (down arrow)
  59.       Copies the Source string gadget into the Destination
  60.  
  61.   the last group of four buttons control file selections:
  62.   #7  The Clear Button (the empty box)
  63.       Clears all the selections
  64.   #8  The Select-All-Files Button (the filled box)
  65.       This selects all the files (NO directorys)
  66.   #9  The Reverse Button (the half-full/half-empty box)
  67.       Reverses the select status of all lines
  68.   #10 The Restore Button (looks a lot like a window-to-back gadget)
  69.       After a batch operation (like a copy), this will restore the your
  70.       previous selections.
  71.  
  72.  
  73. About the File Table:
  74.   Single-clicking:
  75.     Single-clicking on any entry will reverse its selection status.
  76.     Note that you can drag-select a range of files by moving the mouse with
  77.     the button held down.  If you drag off the end of the table, it will
  78.     scroll.
  79.   Double-clicking:
  80.     If you double-click on a directory name, that name will be added to the
  81.     end of the Source directory path.
  82.  
  83.  
  84. Special Feature: The Menu Button
  85.   The right mouse button can be used for more that just selecting menus.
  86.   It has a special meaning when clicked inside certain gadgets:
  87.     In the Source or Destination string gadgets, it will swap the current
  88.       buffer with the gadget's undo buffer.  This provides a handy place to
  89.       stash directory names you want to alternate between.  The undo buffers
  90.       are judiciously updated by certain gadget functions (like 'Root).
  91.     In the Root or Parent gadgets, it will give the the root or parent of
  92.       the Destination directory.
  93.  
  94.  
  95. About the Menus:
  96.   Zippy has 4 permanent standard menus. although you can add your own custom
  97.   menus (more on that later).  The first three (Zippy, Path & Select)
  98.   basically duplicate the gadget buttons.  Notice that the command key
  99.   shortcuts for the Path-Source and Path-Dest menus use the same keys, except
  100.   that the Dest functions are shifted.
  101.   The DOS menu contains the usual file management functions:
  102.     Move - Moves the selected lines to the destination.  Zippy will give you
  103.            an error if that name is already in the destination.
  104.     Copy - Copies files (only) to the destination.  It also copies the file's
  105.            protection flags & filenote.  It WILL replace a file that already
  106.            exists in the destination.
  107.     Delete - Deletes files and empty directories.  
  108.     Make New Dir D - Makes the directory whose name is in the destination
  109.            string gadget.  It will not, however, recursively create
  110.            directories; ie: RAM:AA/BB cant be created unless RAM:AA already
  111.            exists.  This function is automatically executed by Move & Copy
  112.            if the destination doesn't already exist.
  113.  
  114.  
  115. Programming the Menus:
  116.   OK, this is the best part.  Let's go over how Zippy uses the menu
  117.   definitions, then I'll go over how to set up your own.
  118.  
  119.   The user menus are used to run any programs you desire with the selected
  120.   files as command line arguments.  The menu definition is in the form of
  121.   a script file that you set up using your favorite text editor.  A menu
  122.   definition script can define any number of menus and menu items.
  123.  
  124.   There are 2 kinds of menu definitions: Global and Local.  The Global menu
  125.   definition (there is only one) is stored in the file "s:menus.zip".  In
  126.   this file you would put programs you ALWAYS would want access to.  For
  127.   instance, I put my text editor & a file reader in the global definition.
  128.  
  129.   The Local definitions are stored in a file called "menus.zip" in any given
  130.   directory.  When that directory is the Source directory, the local script
  131.   is read in.  When you move from directory to directory, the local menus
  132.   are redefined by each local "menu.zip" file.  I have one in my modula-2
  133.   development directory that has compile & link functions defined.  In my
  134.   animations directory, I have a local menu script that allows me to use
  135.   Move & ShowAnim.
  136.  
  137.   The Zippy Menu Script Language:
  138.   Its very simple: there are only two statements, but their format MUST be
  139.   followed exactly.  The script parser is not unbreakable!  I mean, why
  140.   bother writing an indestructable script interpreter when there are neat
  141.   products like ARexx on the market? (he hinted broadly).  If there are any
  142.   problems processing a script file, it simply SKIPS THE LINE and moves on.
  143.   A statement consists of terms seperated by spaces and terminated by a
  144.   linefeed.  If you want spaces included in a term, enclose it in quotes.
  145.  
  146.   The first statement is MENU.  This defines the start of a new menu.
  147.   The format is:
  148.         MENU title
  149.   where 'title' is the string to be displayed in the menu bar.
  150.   You must have a MENU statement before you define any menuitems.
  151.   If you define more menus than will fit on the menu bar, you may be asking
  152.   for trouble.
  153.  
  154.   The second statement is MENUITEM.  This defines you-know-what.
  155.   The format is:
  156.         MENUITEM title key program reward
  157.   where 'title' is the string displayed in the menu.
  158.         'key' is a single character specifying the menu shortcut.
  159.               If you don't want this item to have a shortcut, make this
  160.               term a null string, ie: ""
  161.               Beware you don't reuse a character that is already in use.
  162.         'program' is the string to be suffixed by a file name & executed.
  163.         'reward' is what should be done if the program is run without error.
  164.                  The choices are:
  165.                    R = reread (the default); rereads the Source directory
  166.                        ensuring an accurate table of filenames.
  167.                    U = unselect; simply unhighlight the selected file
  168.                    Z = zap; remove the file from the table, but dont
  169.                        reread the directory.
  170.  
  171.   That's it!  See the file "Menus.doc" for information about the sample menu
  172.   scripts included in this archive.  Please look over the samples; use them
  173.   as models for setting up your own scripts.
  174.   
  175.  
  176. Tips, Features & Other Stuff:
  177.  
  178. * I didn't give Zippy the capability to rename files.  Instead, use my 
  179.   program FileInfo (included in this archive).  It allows you to rename
  180.   files & modify the comment and protection flags.
  181.  
  182. * Zippy honors the undocumented AmigaDOS "hidden" flag.  So, if seeing that
  183.   'menus.zip' file in your directory bothers you, hide it!
  184.  
  185. * I strongly suggest padding all menuitems in a given menu with spaces so
  186.   they are the same length.  It works so much better that way.  Also, if
  187.   you specify a menu shortcut, put about 5 spaces after the menuitem title
  188.   to leave space to display it.
  189.  
  190. * Zippy is hardcoded to handle a maximum of 1000 files, but it only allocates
  191.     memory for the files actually in the current directory.
  192.  
  193. * File names with spaces will automatically be surrounded by quotes when
  194.     used as command line arguments.
  195.  
  196. * File names too long to be displayed?  Make the window wider.  Also, making
  197.     it taller allows more files to be displayed.
  198.  
  199. * Batch operations are interrupted by clicking anywhere in the window.
  200.  
  201. * Like those double-window directory utilities?  Just run two Zippys!
  202.  
  203. * I use Bill Hawes' excellent WShell and have in my startup-sequence the
  204.     following line:   alias z="Run Zippy"
  205.     All I have to type is "z" at a CLI & I get Zippy running in background.
  206.  
  207.  
  208. This is the first public release of Zippy, so your feedback is essential.
  209. While I have been using it myself for quite some time, please be on the
  210. watch for weirdness.   Enjoy...       Mike Weiblen
  211.