
                              Spooler
-----------------------------------------------------------------------------

     By : J. Vande Ginste  (1993)
     
     This program allows you to print textfiles in the background. You 
     start up the spooler with the command 'Spooler'. Then the spooler
     will constantly watch the directory SPOOL: and as soon as a file
     is copied to the directory SPOOL:, this file will be printed.
     When more than one file is present in the SPOOL: directory, all
     files are placed in a waitqueue and printed one by one.
     
     The program can be in a number of states :
     
       Idle        Waiting for a file to appear in the SPOOL: directory
       
       Printing    A file is currently being printed. The filename is
                   displayed in the File-Display at the bottom of the 
                   spooler window. A horizontal bar shows you how much
                   of the file is already printed.
                 
       Finishing   Same as printing but spooler will stop as soon as
                   current file is printed.
                   
       Halted      Printing has been stopped
        
     
     Possible actions during idle state :
     
       .------.
       |  FF  |  Give a FormFeed to the printer
       `------'
       
     Possible actions during printing state :
     
       .------.
       | HALT |  Stop as soon as current file is printed
       `------'
       
       .------.
       |  GO  |  Continue printing after being halted
       `------'
       
       .------.
       | SKIP |  Stop printing of current file and proceed with 
       `------'  the next one
       
     Possible actions during halted state
     
       When in the halted state, you can select a file from the 
       spoolerlist. This file will appear just beneath the spoolerlist.
       
       .-------.
       |  DEL  |  Remove selected file from the spoolerlist and delete 
       `-------'  it from the SPOOL: directory
       
       .-------.
       | FIRST |  Place selected file at the top of the spoolerlist
       `-------'  

       .-------.
       | LAST  |  Place selected file at the bottom of the spoolerlist
       `-------'  
       
       .-------.
       |  CLR  |  Clear the spoolerlist. A file must not be selected.
       `-------'  

      
      How to set up an enviremont in which the spooler can run.
      
        A number of things have to be done before the spooler can work.
        
        1. Add the following lines to your user-startup :
        
             makedir RAM:Spool
             assign  SPOOL: RAM:Spool
             
             run > NIL: spooler      # send files to the screen
             run > NIL: spooler PRT: # send files to the printer
             
             Remark : don't use redirection for spooler.
             
        2. Create a script called 'spool' (optional)
        
             .KEY file/a
           
             copy <file> to SPOOL:
           
           Make sure the s-flag is set for the script 'spool':
           
              protect s:spool +s
              
              
      How to end the spooler :
      
        - Give the command 'Spooler remove'
        
        or
        
        - Click on the close gadget of the spooler window
          

      Remarks :
      
        - Spooler will not print .info files, these are just deleted
          from the SPOOL: directory. This means that you can drag icons
          representing textfiles into the SPOOL: directory.
        
        - As soon as Spooler finds nonprintable characters in the
          file, the printing will be aborted.
            

      I hope you like the program.
      
      When you have comments, suggestions, error-reports or some money
      you want to donate (e.g. to obtain the source code), just write to
      
      
                                         Johan Vande Ginste
                                         Hondstraat      96
                                         B-8700       TIELT
                                                    BELGIUM

      ====================================================================
     
