DOS 2.0 Utilities Disk 2 (Sep 1991) : View / View.DOC

                           - View version 1.0 -

                  --------------------------------------- 
                  -  © Copyright 1991 Jaba Development  - 
                  -       written using DICE C by       - 
                  -          Jan van den Baard          - 
                  --------------------------------------- 


  DISCLAIMER
  ----------------------------------------------------------------------------
  The author is not responsible for any damage caused by the use  or misuse of
  this documentation and/or the program(s) it describes.  Any damage resulting
  from the  use or misuse  of this  documentation  and/or  the  program(s)  it
  describes is the sole responsibility of the user her/him self.
  ----------------------------------------------------------------------------

  COPYRIGHT
  ----------------------------------------------------------------------------
  View, © Copyright 1991 Jaba Development.  All rights reserved.  This program
  may  be  distributed   non-commercially  providing  that  the  source  code,
  documentation, copyright notices  and executable remain  unchanged  and  are
  included in the distribution. Also no more than a  !NOMINAL! copy fee may be
  charged for the distribution.  This  program is  FREEWARE  so  no  financial
  donations are required ( The only thing I would like is a postcard from your
  home town!). Any form of commercial usage is not allowed  without my written
  permission.
  ----------------------------------------------------------------------------


  Some of you might be familiar with  other versions of View.  These  versions
  of View have been totally re-written by me to run  only under OS 2.  I  have
  bumped  back  the  revision to 1.0 for this  OS 2.0 only  version.  The key-
  commands have changed radically from  the older  versions of View.  All  the
  key-commands MORE support are  supported by View  plus a lot of new commands
  where added.

  View KeyMap commands :

    Space,Pg Dn ->

      This will go down one page of text (MORE).  If there are not  enough
      lines left  in  the text  to fill  the  screen this function will go
      down 'x' amount of lines until the last line is displayed.

    Backspace,Pg Up ->

      This  will go up  one page of text (LESS).  If there are not  enough
      lines left  in  the text  to fill  the  screen this function will go
      up 'x' amount of lines until the first line is displayed.

    Return,Dn,Nk Dn ->

      This will scroll the text up one line and display  the next  line of
      text at the bottom of the screen.

    Enter,Up,Nk Up ->

      This will scroll the text down one line and display the next line of
      text at the top of the screen.

    <,Nk Left ->

      This will display the first page of the text.

    >,Nk Right ->

      This will display the last page of the text.

    /,F ->

      This opens a little window in which  a string gadget is located.  In
      this string  gadget you can type  a word or a  sentence you  want to
      locate in the text.  Once you are done you should press  return  and
      the  program  starts  to look  from the  !FIRST LINE DOWN!  for  the
      specified string.  If the  program finds the  string in  the text it
      will be displayed inverse. The search is case sensitive.

    N/P ->

      This  will  look for the Next/Previous  occurrence  of the word last
      found. The search will  begin from the  point where the program  had
      found the string  the last  time you  have called one of the  search
      routines. The search is case sensitive.

    .,S ->

      This does the same thing as /,F with the  exception that the  search
      will be case insensitive.

    CTRL+N/CTRL+P ->

      This does the same thing as N/P with the  exception that the  search
      will be case insensitive

    CTRL+L,R ->

      This will re-display the text on the screen in the  (unlikely) event
      that the display has been damaged for one or the other reason.  This
      has been featured to keep it all compatible to MORE.

    % ->

      This opens a  little window  with an integer  gadget in it.  In this
      integer gadget you can type the  percentage (0 to 100)  of the  file
      you want to jump to.

    E ->

      For  this to  work  you  must use  SetEnv  to setup  an  environment
      variable called EDITOR. For example, if you normally use dme as your
      editor and this  editor is  located in the C:  directory you  should
      type  the  following  in the  shell:  SetEnv  EDITOR=C:Dme.  If  the
      environment is  set up  correctly  the  program will run  the editor
      with the  file currently in memory.  The program  looks through  the
      DOS  resident list first to see if the editor is resident. If not it
      will  try to load the editor from disk.  NOTE: The editor may NOT be
      crunched !

    L ->

      This opens the ASL FileRequester for you to select  a file you  want
      to read. When you are done select Load and,  if everything went  OK,
      after the  loading is  done the  first  page of  the file  you  have
      selected is displayed.

    J ->

      This is a feature not found in many of the other ASCII file viewers.
      This will jump to the position where the program has found  a string
      the last  time  one  of the  search  routines where  called.  It's a
      feature I use a lot.

    B ->

      This puts View to sleep.  The program closes the screen and  sets up
      an input-handler just  ahead of  intuition which  will  monitor  for
      wake-up calls (See below). The text in memory will be lost.

    CTRL+B ->

      This does the same thing as B with the exception that the text  will
      stay in  memory  and will be  available  when View  is signalled  to
      wake-up again.

    LSHIFT+CTRL+D ->

      This will dump the page currently on the  screen to the  printer. It
      uses the printer.device so make sure that it's set correctly.  While
      the printing is in progress a little window is in  the screen's  top
      left corner. Closing this window will  abort the printing.  Once you
      have stopped the printing the printer  goes on until it's  buffer is
      empty. You can continue  reading the file while  the printing  is in
      progress. It is not possible to put View to sleep, quit or to load a
      new file while the printing is in progress.

    LSHIFT+CTRL+P ->

      This will dump the complete text in memory to the printer. The  same
      window as with LSHIFT+CTRL+D pops up to enable you to stop printing.

    H,HELP ->

      This puts some information about the author and  the available  key-
      commands possible with this program.

    Q,CTRL+C,ESC ->

      This is a nasty one. Pressing any of these keys will quit View.

    Fn ->

      This enables you to mark blocks in the  text in memory.  This  block
      marking goes in two fases. The first time you press  'F1' the  first
      line on the screen will be the first line of text block #1. When you
      press 'F1' again the last line on the screen will  be the last  line
      of text block #1. Only when you have marked the first  and the  last
      line of a text block the block will be marked. It's possible to mark
      10 blocks in a text (F1..F10).

    SHIFT+Fn ->

      This will unmark text block #n making it free to  mark another  text
      block.

    CTRL+Fn ->

      This will jump to the first line of text block #n0m.

    LSHIFT+CTRL+Fn ->

      This will dump text block #n to the printer.  The printing window is
      opened to enable you to stop the printing. You can continue to  read
      the file while the printing is in progress.


  When View is sleeping :

      There are three wake-up calls the input-handler of  View will  catch
      which are all introduced with :

           LEFT ALT + LEFT AMIGA 

        Pressing these keys in combination with :

           Q  will quit View while it is asleep.
           V  will pop  up  the  main  screen  and  display  the  text  if
              remembered or otherwise put up the ASL FileRequester for you
              to load a file.
           F  will erase the text, if remembered,  from memory.

  Starting View : 

    You can start View from  either the  CLI/Shell  or the Workbench. To start
    View from the CLI/Shell you must type :

        View [path|filename]

    Where "filename" is an optional name of the file  you want to  read  or an
    optional pathname in which the FileRequester will start to look for files.
    If you only supply a pathname  be sure it's   terminated it by a '/' or  a
    ':' otherwise View will not see it's a directory.

    To start View from the Workbench you can either double-click it's icon  or
    an icon of a file that has it's DefaultTool set to View.

  Requirements :

    View requires Kickstart 2.0 to run. Also a copy of the "nofrag.library" is
    required to be in the LIBS: directory  of the  boot disk. If you also have
    the  "powerpacker.library"  in the LIBS:  directory  View  is able to read
    files crunched with PowerPacker. You will need the REGISTERED  version  of
    DICE to  recompile  the  source code.  Also  you need  to make  registered
    libraries of the "powerpacker_lib.fd" and the "nofrag_lib.fd" files  using
    "fdtolib". "fdtolib" comes with both the registered and  freeware versions
    of DICE. When you use View to read  PowerPacker crunched  files make  sure
    that you  have  setup 'T:' as a  logical device.  If  not try to  add  the
    following two lines in your startup-sequence :

            MakeDir RAM:T
            Assign T: RAM:T

  Credits

    Credits must go to Matthew Dillon for his wonderfull  DICE C compiler  and
    his  DME editor and DMouse and...and...and..., Thanks Matt!   By the  way,
    you should register to DICE because it's the best deal  you'll ever  make!
    Credits  also  must  go  to  Nico François  for his  PowerPacker  and  his
    powerpacker.library. You should order a copy of "PowerPacker professional"

  TODO (perhaps...someday....when I feel like it.......)

    o  Making View automatically detach itself from the CLI. How about a auto-
       detach "_main.c" Matthew ?

    o  Multiple texts. (Is this really neacecary....(?))

    o  Putting View to sleep uppon startup.

    o  Background process loading/displaying.

    o  Creating an original icon...

    o  Why don't you give me some ideas.....

  Notes :

    View  does not  scatter  memory because it  uses the  "nofrag.library"  to
    allocate the memory for the text. It is not  possible to  put two or  more
    copies of View to sleep at the same time.  All escape sequences  supported
    by the console.device are supported by View. If the first  character  on a
    line  is a  FormFeed  View will  translate it into F. The repeating of the
    keys is handled in a way that View will never execute a function more than
    once after you have released the keys. View automatically adapts itself to
    the standard screen  resolution and  system font. View always displays one
    column less than there would actually fit on the screen.  This  is because
    the console.device uses a cursor, which is invisible in View,  that forces
    the display to scroll when it hits the bottom-right corner of  the screen.
    You should use LEFT_AMIGA+M/N to switch screens because  View it's  screen
    has no depth gadget.

    View  makes  use of  the  "powerpacker.library" if available. This library
    can be found on FISH 414 and is © Oct 1990 by Nico François.

  History :

    1.0               - Initial version. (let's see how it goes!)

    Bug reports, flames, constructive criticism (I hope I spelled this right),
    PD programs, an original icon, ideas to the following address :

                                                  Jan van den Baard
                                                  Bakkerstraat 176
                                                  3082 HE, Rotterdam
                                                  Netherlands