home *** CD-ROM | disk | FTP | other *** search
- ----------------------------------------------------------------------------
-
- PrintManager 2.0
-
- ----------------------------------------------------------------------------
-
-
- The files in this archive were written by Nicola Salmoria and are freely
- distributable as long as the archive remains intact, and only a nominal fee
- is charged for its distribution.
-
- This software is provided "AS IS" without warranty of any kind, either
- expressed or implied. By using it, you agree to accept the entire risk as to
- the quality and performance of the program.
-
- This program is SHAREWARE. If you use it, send $20 (or Lit. 25.000) to the
- author. If possible, send cash, no cheques: otherwise I lose half of the
- money cashing them.
- Please note that the software in this archive is not 'crippled' in any way:
- I'm not trying to force you to send money by removing important features.
- Don't make me regret this choice.
-
- Comments, suggestions and bug reports are welcome.
-
- Nicola Salmoria
- Via Piemonte 11
- 53100 Siena ITALY
-
-
- E-Mail: MC6489@mclink.it
-
-
-
- Overview
- --------
- One of the things Workbench 2.0 (and 3.0) is still missing is a printer
- spooler.
- PrintManager is just that. There are some other programs that try to
- implement a spooler on the Amiga, but:
- · PrintManager is a system wedge, so it will work with every program, not
- just ones explicitly written to take advantage of it;
- · The wedge is installed at parallel or serial device level, so PrintManager
- will really work with EVERY program: no matter if it uses PRT: or directly
- the printer device, no matter if it's printing text or graphics. Even
- programs that use directly PAR: or SER: can be cached using the DEVICE
- ToolType.
- · Only printer device calls are cached, so modem and net users will not
- experiment performance loss.
- · PrintManager has a nice, font sensitive graphic user interface (GUI) and
- supports localization under Workbench 2.1 or later.
- · You can print files directly from PrintManager, using either the AppIcon,
- or the AppWindow, or a menu command.
- Under Kickstart 2.x only text files may be printed; under Kickstart 3.x
- datatypes.library is used so you can print anything which is recognized by
- MultiView.
- · The printer-specific raw data can be saved to a file. That file may be
- printed at a later time via PrintManager itself, or brought to another
- computer (since it contains raw data, you just have to send it unchanged
- to the printer). For example, you may prepare an article at home and use
- the expensive laser printer at office to print it.
- · After a system crash or reset, unfinished printings are automatically
- recovered. This feature may also be used to prepare raw data and print it
- at a later time.
- · A Form Feed may be automatically inserted between printings.
-
-
-
- Requirements
- ------------
- · OS 2.04 or later
- · Hard disk is not required but strongly recommended
- · Printer ;-)
-
-
-
- Installation
- ------------
- Copy spool.device in DEVS:.
- The spooler is actually activated by running PrintManager. Some parameters
- may be changed via icon ToolTypes. Recognized ToolTypes are:
-
- CX_POPUP default: YES
- This one tells if the program window should be opened when it is run for
- the first time. If you drag PrintManager's icon in the WBStartup drawer
- to activate it automatically, you should set this ToolType to NO.
-
- CX_POPKEY default: control alt p
- This is the "hot key", the input sequence which opens the window if it is
- closed, or brings it to the front if it is already open. Refer to the
- Amiga User Manual for a complete specification of the recognized keywords.
-
- CX_PRIORITY default: 0
- The priority of the commodity handler used for the hot key. You will not
- need to change this.
-
- SPOOLDRAWER default: T:spool
- The directory where temporary files should be stored. You should change it
- to somewhere in your hard disk, since on a standard machine T: is assigned
- to RAM:T. Temporary files may be quite large (some megabytes if you are
- printing graphic in high density), and you could run out of memory very
- quickly otherwise.
- If the directory specified doesn't exist, it will be created.
-
- PRINTDRAWER
- The name of the directory where the "Print..." file requester should be
- positioned the first time it is invoked.
-
- SAVEDRAWER
- The name of the directory where the "Save As..." file requester should be
- positioned the first time it is invoked.
-
- PAUSED default: NO
- This specifies the initial state of « Next Job ». See later for details.
-
- APPICON default: ACTIVE
- PrintManager can put an icon on the Workbench screen. Double clicking it
- will act like pressing the "hot key"; dragging files on it will cause
- them to be added to the print queue.
-
- There are three valid keywords for this ToolType:
- ALWAYS - Show the icon when the program is started, remove it when
- quitting.
- NEVER - Never show the icon.
- ACTIVE - Show the icon only if the print queue is not empty and the window
- is not open. This feature will help to remember if there are recovered
- jobs after a reset.
-
- ICONX
- ICONY
- These two specify the position on the Workbench screen where to put the
- icon. If you don't specify _both_ of them, Workbench will place it by
- itself.
-
- PUBSCREEN
- The name of the public screen where to open the window. May be very useful
- if used together with the program "FrontPublicScreen" included in this
- archive.
-
- DEVICE
- UNIT
- By default, PrintManager will automatically detect if the printer
- configured in Preferences is parallel or serial, and will intercept calls
- to the appropriate device only if they are made by printer.device.
- This means that PrintManager will not interfere with, for example, a
- scanner connected via a switch to the same port of the printer.
- Unfortunately, it also means that only programs using printer.device or
- PRT: will benefit from the spooler; programs using parallel.device or PAR:
- will not.
-
- Providing a device name (and an optional unit number) will cause ALL and
- ONLY the calls to that device to be cached. For example, for a parallel
- printer use:
- DEVICE=parallel.device
-
- CREATEICONS
- Specifies if files created with the "Jobs/Save As..." command should have
- an icon or not. This is the same as the menu Settings/Create Icons?
-
- AUTOFORMFEED
- If this is set to YES, a Form Feed will be automatically sent to printer
- after each job. This is the same as the menu Settings/Auto Form Feed?
-
-
-
- Using the GUI
- -------------
- GUI usage should be fairly intuitive; clicking on a job makes it the
- "current" one, and allows you to perform some operations on it.
- You may pause/restart the job using the Active/Paused cycle button, or
- remove it from the list with the Remove button. You can sort the list using
- the Up and Down buttons. A job being printed cannot be moved from the top of
- the list. Jobs brought to the top of the list are automatically paused to
- prevent accidental activation.
-
- Above the print queue are displayed the name of the job currently printed
- and a progress bar showing the percentage of data sent to the printer.
- Note: the progress bar doesn't appear until the program which is printing
- completes its work.
-
- There is a special entry in the list, named "« Next Job »". It represents
- the position where the next job you start will be placed. The new job will
- also inherit the setting of the Active/Paused button. This means that if you
- set « Next Job » to Paused, nothing will be printed until you explicitly
- start it. The initial setting of the Active/Paused button may be changed
- using the PAUSED ToolType.
-
- When started, PrintManager will look in the SPOOLDRAWER you specified and see
- if there are jobs left from previous sessions. If it finds some, they will be
- automatically inserted AFTER « Next Job ». This way, you can continue to use
- the printer without taking care of old jobs; when you want to restart one of
- them, you just have to open the GUI, bring the job to the top of the list,
- and unpause it. To restart them all, bring « Next Job » to the bottom of the
- list and unpause the first job.
-
-
-
- Printing from inside PrintManager
- ---------------------------------
- Files may be printed directly from inside PrintManager. This can be done in
- three ways:
- · Dragging icons on the AppIcon (that is the icon in the Workbench window,
- NOT the program icon). The status of the AppIcon may be changed using the
- APPICON ToolType.
- · Dragging icons on PrintManager's window.
- · Using the Project/Print... menu item.
-
- Under Kickstart 2.0, only text files may be printed. Under Kickstart 3.0,
- datatypes.library is used, so you can print anything that is recognized by
- MultiView.
- Moreover, raw data saved with Jobs/Save As... may be recovered. This feature
- may be useful, for example, to print multiple copies of a document.
- NOTE: Raw data files are recognized by their comment, which must be
- "Raw Printer Data". When you save them using Save As... the comment is set
- automatically. Make sure not to modify it.
-
-
-
- Menus
- -----
- Project/About
- Self explanatory.
-
- Project/Print...
- Brings up a file requester allowing you to select one or more files to
- print. This is the same as dragging icons over the AppIcon or the
- AppWindow.
- The initial drawer displayed by the file requester may be changed with the
- PRINTDRAWER ToolType.
-
- Project/Hide
- Closes the window, but leaves PrintManager resident in memory.
-
- Project/Quit
- Terminates PrintManager. You cannot quit if the print queue is not empty.
-
- Jobs/Save As...
- This allows you to save a job as printer specific raw data. The file
- created may be sent directly to the printer, either via PrintManager, or
- a device like PAR:, or even on a different computer.
- This operation cannot be performed on jobs which have "n/a" in the Size
- column.
- Since the copy of the file happens asynchronously, it is a good idea to
- pause printing before saving. Otherwise, the operation will take much
- longer, due to contemporary accesses to the hard disk by two different
- tasks (the one which copies the file, and the one which prints).
- IMPORTANT NOTE: the saved files have a "Raw Printer Data" comment
- associated. That is the only way PrintManager has to recognize such files
- from the other files you try to print. If you remove or modify the
- comment, the file will not be printed correctly.
- The initial drawer displayed by the file requester may be changed with the
- SAVEDRAWER ToolType.
-
- Jobs/Remove All
- Removes all the jobs from the print queue.
-
- Options/Create Icons?
- Specifies if files created with the "Jobs/Save As..." command should have
- an icon or not.
- The initial setting of this item may be changed using the CREATEICONS
- ToolType.
-
- Options/Auto Form Feed?
- If this item is checked, a Form Feed will be automatically sent to printer
- after each job.
- The initial setting of this item may be changed using the AUTOFORMFEED
- ToolType.
-
-
-
- Limitations
- -----------
- Currently, only one device at a time may be spooled. You cannot work around
- this limitation running multiple copies of PrintManager, because there can
- be only one copy running at a time.
- However, if you are not using the DEVICE ToolType, the spooler will
- automatically switch from parallel to serial if you change the Preferences
- settings. The print queue must be empty for the change to take effect.
- Removing this limitation is not a trivial task; an additional difficulty is
- that I don't have two printers to test it. Since most users are in the same
- situation, I've decided to leave it as it is, for now. Whether I improve it
- or not will depend on many factors, not last how many shareware
- contributions I'll receive.
-
-
-
- Acknowledgments
- ---------------
- As usual, I have to thank my beta testers, whose help has been invaluable
- during the development of this program:
-
- Stefano Iacus
- Federico Giannici
- Dante Profeta
- Marco Ciuchini
- Massimiliano Filacchioni
- Marcello Bianchetti
- Stefano Chiappini
-
- Special thanks go to all the people which E-Mailed me useful suggestions and
- bug reports. In particular:
-
- Matt Brookes
- Jeremy Friesner
- Bill Hogsett
- Kay Bolay
- Andreas Jantos for the german catalog
- J.P. Hillenburg
- Graham Walter
-
- Thank you very much!