home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / s1 / spooler / !Spooler / !Help < prev    next >
Encoding:
Text File  |  1996-11-08  |  14.4 KB  |  318 lines

  1.                               !Printer Spooler
  2.                               ----------------
  3.                           (c) Justin Fletcher, 1994
  4. Introduction
  5. ------------
  6.   The !Spooler application is intended to make life that little bit easier
  7. for the few people who haven't got access to expensive printers, but want to
  8. print out a lot of work, and need to use the computer at the same time.
  9.  
  10.   When an application prints a file, it sends it, quite predictably, to the
  11. printer. However, you can change the location of the printer by changing the
  12. 'Printer Destination' to something other than where the printer is located.
  13.   For example, my Citizen printer is connected to the parallel port and this
  14. is where all the printer data is send. But there is an option to print the
  15. file to the serial port (mostly used for PostScript printers), a network
  16. driver, or to a file.
  17.  
  18.   Dumping a printout into a file may seem pretty silly at first, but this is
  19. probably the most important feature of the !Printers application. By setting
  20. the output to a file, all the 'easy' work of calculating the codes to send to
  21. the printer (ie. rendering the image) can be done quickly and sent to a file.
  22. The reason the computer is held up when the printing, is that the printer is
  23. much slower at printing than the computer is at processing. The benefit in
  24. doing this is that the time taken to print is greatly reduced and therefore
  25. control of the computer returns much quicker. And as control returns quickly,
  26. you can get on with whatever work you were doing.
  27.  
  28.   But this is only half of the solution, because, although the 'printing' of
  29. the file took perhaps 30 second instead of 30 minutes, there is no actual
  30. hardcopy yet. What you can do now is to drag this newly created file onto the
  31. !Printers icon and it will be printed, in the background (ie. you can work at
  32. the same time as it is printing). And if you want 5 copies of the same file,
  33. the all you need to do is drag it onto the icon 5 times. That's easy, yes ?
  34.  
  35.   No! Well actually it is, but you try explaining it to my dad, along with
  36. what to do to drag-and-drop text in !Style, Replicate data in !PipeDream, and
  37. all the other non-exotic things. And actually, if you want two copies of one
  38. file and these are printing and then you wish to print another document then
  39. you must change the name of the destination file on !Printers, and drag this
  40. onto the icon (not hard, but takes some remembering).
  41.  
  42.   So, getting down to the actual use of the !Spooler application, what it
  43. does is to control the output of these printout files and prints them in the
  44. background with no problems with changing names.
  45.  
  46. Setting up your system
  47. ----------------------
  48.   Currently, the application is set up for an Epson FX-85 printer, which
  49. covers so many dot matrix printers that it should apply to many users. The
  50. only things which need to be done to ensure that the !Spooler application
  51. will start up correctly are :-
  52.   a) A system variable ( Printer$Destination ) must be set up to point to the
  53.      location to which any print out files will temporarily stored. These are
  54.      transitionary files which will only exist whilst the file is actually
  55.      being processed, after which the file is moved to the correct location
  56.      on the disc.
  57.      It should be set in the Boot-up sequence for preference and could
  58.      perhaps be :
  59.      *Set Printer$Destination <WimpScrap$Dir>.TempPrint
  60.      
  61.   b) The printer driver must have been loaded previously. (Note: Not _seen_
  62.      previously, _loaded_ previously).
  63.      The printer must be loaded to set things like the actual codes which
  64.      must be send to the file and its destination.
  65.      Once loaded and set to output to the file <Printer$Destination>, the
  66.      application may be quit.
  67.      
  68.   Having done these two things, the only other thing that may need setting up
  69. is the Area$Name variable. On my system the whole family can use the computer
  70. (not simultaneously, at different times), and therefore each logs on and has
  71. his/her own area of the hard-disc to work in. This means that if one user
  72. leaves something in the printer queue and then shuts down, then the next user
  73. may not wish to print out the queued work, only his/her own. Hence the use of
  74. an area name. The Area$Name variable should be less than 8 characters long,
  75. not contain and fullstops, and be recognisable. It doesn't actually affect
  76. the program, only how you use it. If Area$Name is unset then the default name
  77. 'Nobody' is used.
  78.    
  79.    A further thing which may speed up the printing process is to configure a
  80. 16k printer buffer (By *Configure PrinterBufferSize 16k or 32 depending on
  81. page size) which will cut down the amount of times !Spooler has to read the
  82. harddisc. The minimum PrinterBufferSize can go is 1k and thereafter is in 16k
  83. (or 32k if you have 4Mb) blocks (ie. 1k, 16k, 32k, etc).
  84.  
  85. Note: Points a) and b) must be done each time !Spooler is to be used.
  86.       Setting Area$Name can be done at any time, and configuring buffer size
  87.       only needs to be set once.
  88.  
  89.     
  90. Using !Spooler
  91. --------------
  92. Simple : 1) Set up as above.
  93.          2) Load the !Spooler program.
  94.          3) Print a file.
  95.  
  96.   When the file is printed, a box will appear to tell you that a 'file has
  97. been printed' and it needs to be given a name. The name is not a filename,
  98. and is only there so that you remember what files you have printed. The
  99. length is restricted to 11 characters and all may be used, except fullstop.
  100. The actual name may have little relation to the files name or its contents,
  101. and is entirely up to you. Leaving this blank will give the job the name
  102. Untitledx, where x is an unused number.
  103.   The number of copies is selectable, but can be changed later.
  104.   By selecting the 'Immediate' option, the file will be printed immediately
  105. after the current copy of the current job is completed.
  106.   Cancel will discard the printed file and delete its entry. Ok places the
  107. file in the queue.
  108.  
  109. Note: If you wish to have, say 5 copies of an Impression page, then tell
  110.       Impression to print a single copy and then tell the Spooler that you
  111.       want 5 copies. This speeds up the process and saves disc space.
  112.  
  113. The Queue Window
  114. ----------------
  115.   The queue window is accessed by selecting Queue.. from the iconbar menu and
  116. contains information about which file is printing, which are waiting, how
  117. many copies are required and who printed them.
  118.   The Job name is the name of the job as entered into the initial 'file has
  119. been printed' box.
  120.   Copies is a indication of how far through the job the printing is. The
  121. format is pp/tt, where pp is the total number of copies printed so far, and
  122. tt is the total number of copies required (pp is not the number of the copy
  123. currently printing). This should be read as pp copies out of tt have been
  124. printed.
  125.   By whom just tells you the name of the user who printed the file (Area$Name
  126. when the file was printed).
  127.  
  128.   By selecting an item on the queue with SELECT, and pressing MENU, options
  129. appear to show the control which may be exerted over the file.
  130.   Remove will remove the item from the queue, asking you first if you are
  131. sure.
  132.   Priority will send the item to the front of the queue for printing as soon
  133. as the current copy of the current job is completed.
  134.   Copies allows you to change the maximum number of copies to be printed. If
  135. you enter a number which is too low or too high then the copies will not
  136. change.
  137.  
  138.   The queue window will be brought to the front of the stack whenever its
  139. entries change, so if you don't want this to happen then close it.
  140.  
  141. The Printer Info Window
  142. -----------------------
  143.   This show information on the current printer quality and connection. The
  144. quality cannot be changed from this box, but can be altered by reloading the
  145. !Printers application and changing the settings. If this is done then the
  146. window must be reopened to update the contents.
  147.   By clicking on the menu icon to the right of the connection, the Parallel
  148. and Serial printer ports may be selected as the printer destination.
  149.   The serial output I cannot test, but I assume that if you have sent up the
  150. !Printers application correctly then it set up all the baud/xon/stop
  151. bits/parity options.
  152.  
  153. Note: Opening this window will force the printer to empty its buffer, so if
  154.       you open it whilst printing, then it is likely that the computer will
  155.       lock up until the printer finishes printing.
  156.  
  157.  
  158. Pause Next
  159. ----------
  160.   This option on the iconbar menu will pause the printer after the next copy
  161. has finished printing. This is useful if you have to shut down but don't want
  162. to start a document from the start, so just waits until the current copy is
  163. finished, then pause, after which you can quit the application.
  164.  
  165.  
  166. Abort ->
  167. --------
  168.   There are three abort options :
  169.     Current copy - Abort current copy, form feed, and pause. This is useful
  170.                    if the paper jams and you need another copy. This just
  171.                    pretends that the last copy had never printed, and will
  172.                    try to print it again when unpaused.
  173.     Current job  - Abort current job, form feed and start next. This is
  174.                    useful if the job you have printed contains 18 spelling
  175.                    mistakes and you don't want 5 copies printed for no
  176.                    apparent reason. This forgets all copies which still have
  177.                    to be printed and moves on to the next job.
  178.     All          - Abort all copies and form feed. This is useful if you have
  179.                    printed out a load of rubbish by accident and don't want
  180.                    to go through removing each individually.
  181.  
  182.  
  183. Manual Pause
  184. ------------
  185.   Clicking on the !Spooler icon will pause or unpause the printing, depending
  186. on the current state. Remember that if a 16k or more buffer is configured,
  187. then the printer may continue printing until this is empty and so this is not
  188. a instant pause.
  189.  
  190.  
  191. Quitting !Spooler
  192. -----------------
  193.   When quitting, a window may appear to tell you that there are jobs still
  194. printing and that they will be left unfinished.
  195.   Cancel will stop the quit and continue as if nothing happened.
  196.   Quit will quit immediately, abandoning all then unfinished copies.
  197.   Pause after next will pause the printing as soon as a copy is completed at
  198. which time the application may be quit safely.
  199.  
  200.   If the application is quit and there are still items in the queue, then
  201. they will remain in the queue and still be there when the application is
  202. restarted.
  203.  
  204.   If, however, the application quits and there is an job still being printed,
  205. say if the computer crashes, then, when restarted, !Spooler will give you an
  206. indication of what happened.
  207.   It is possible to :
  208.   Abandon the copy  - That copy is not printed again, ie it is given up on.
  209.   Delay printin     - That copy will be printed again, but not yet. !Spooler
  210.                       will be paused.
  211.   Restart copy      - This will restart the copy immediately.
  212.   
  213.   All options will restart copys from the beginning.
  214.   It is suggested that if the computer crashes whilst a job is being printed,
  215. that the printer is turned off for a few seconds and then turned on, to clear
  216. its internal buffer (bit images use repeat sequences which may be in an
  217. unfinished state)
  218.  
  219.  
  220. The Info Window
  221. ---------------
  222.   This is the only other window not covered and it simply gives information
  223. on the current version number of the application and who wrote it.
  224.  
  225.  
  226. !Help Responsiveness
  227. --------------------
  228.   !Spooler will respond to !Help and return information on many of its
  229. options including the menus. Use it to find out about the options in
  230. practice.
  231.  
  232.  
  233. RISC OS Compatability
  234. ---------------------
  235.   Currently this application will only work reliably with RISC OS 3.1 as this
  236. is where it was written. As the output from Pre-RO3 printer drivers was of a
  237. lower quality, and as it would be better if all users upgraded, I have not
  238. included compatability with RO2.
  239.   Any one wishing to take on the task can get support from me in any way I
  240. can help. Knowing the circuitous nature of my code they are likely to need
  241. help! However, the only things that really need changing are, I think, the
  242. !Help menu information needs removing, there need be no selectiveness for
  243. messages, and most importantly, there is no such thing as
  244. Devices#Bufferx:$.Parallel.
  245.  
  246.  
  247. File Storage
  248. ------------
  249.   Don't try this on a floppy based machine. I can't guarentee anything
  250. working. I can say that it is likely to be just a lot more hard work.
  251.   Files are stored in <WimpScrap$Dir>.Spooler as Spoolerx, where x is the
  252. number of the file, as stored internally.
  253.   <WimpScrap$Dir>.Spooler.Spooler is a text file which contains all the queue
  254. information.
  255.   <WimpScrap$Dir>.Spooler.SpoolerP is a text file giving the internal number
  256. of the file which is currently printing, so that after a crash, the file can
  257. be found ready to be reprinted.
  258.  
  259.   The <WimpScrap$Dir>.Spooler.Spooler text file has a format as follows.
  260.   One entry of the queue per line. Each entry consists of a line of form :
  261.     ff.nnnnnnnn.cp/tc.uuuuuuuu
  262.     ff       = internal file number
  263.     nnnnnnnn = job name
  264.     cp       = copies printed
  265.     tc       = total copies to be printed
  266.     uuuuuuuu = user who printed the file
  267.   
  268. Very important note: Do NOT delete any Spoolerx files as this may cause
  269.                      !Spooler to become confused. If you wish to manually
  270.                      alter the Spooler file, do so whilst the application is
  271.                      not loaded to avoid confusion and insanity.
  272. Another note: Files are not kept open over Wimp_Poll's as should really be
  273.               the standard way of working. This means that you can safely
  274.               type *Close at the command prompt and not get silly messages
  275.               such as Illegal Handle or File Not Found.
  276.  
  277.  
  278.  
  279. Copyright
  280. ---------
  281. This software is © Justin Fletcher. The written permission of the author is
  282. required if any part of this software is to be sold other than at cost by a
  283. recognised shareware library. Bulletin board operators and shareware
  284. libraries are advised to contact me to ensure that the latest version is
  285. being distributed.
  286.  
  287.  
  288. Contact
  289. -------
  290. Any comments, queries, donations or bug reports can be sent to Justin
  291. Fletcher at :
  292.  
  293. E-Mail : Gerph@essex.ac.uk
  294. URL    : http://users.essex.ac.uk/users/gerph
  295. IRC    : On #Acorn as Gerph
  296. Finger : finger jrflet@postman.essex.ac.uk
  297. Tel    : (01842) 813979
  298.  
  299. Snail Mail :
  300.     Justin Fletcher
  301.     “Galadriel”
  302.     17b Cromwell Road,
  303.     Weeting,
  304.     Brandon,
  305.     Suffolk.
  306.     IP27 0QT
  307.  
  308.  
  309. History
  310. =======
  311. v1.00   : Base application written
  312. v2.00   : Rewrote using WimpLib and Messages
  313. v2.40   : 08 Mar 1994
  314.           Started writing history notes
  315. v2.41   : 05 Apr 1995
  316.           Added snazzy decrementing sized icon for iconbar!
  317.           Printed... option
  318.