Printing Architecture Ideas



I noticed that there are not too many comments floating around
out there about the Gnome printing architecture. Here are just some
of my ideas

1. We need a easy way for users to configure their printer setup, 
through Gnome. Nearly all software uses lpr to print, and to make
it easy for users, we need to either replace lpr command with one
of our own (gpr?) or implement a set of printer filters that are 
configured from within Gnome. This second option seems to be the
better of the two, because some applications always default to lpr,
and then we would not have to write a print spooler. This way we can
have only one print que (lp) and then do all of the printer setup after

2. We should have a small biff like applications that gives the printer
status, number of items in the que, paper jams, out of paper errors,
etc., that is part of the print filter system. This should also 
provide access to the printer configuration, which would be changeable
only by root (a dialog box that allows normal users to view settings
and to give the root password to change settings would be good here -
this sort of functionality would be good to implement on a system wide
level, so that any sort of preference manipulation could use it).

3. We need a standard print dialog box. The one from gimp is far too
graphic specific. The print dialog should probably be set up like
the newer MacOS ones that are tabbed and have application specific
and printer specific options on different pages. Options like n-up
printing, printer resolution, and watermarks could be set through 
this interface. This dialog would also have a print preview function 
that would allow the user to see what they are printing (and would 
make it so that everything had built in print preview)

4. Command line apps that print should print normally when gnome is
not running (i.e. from the console, from terminals) and should
pop up a print dialog when gnome is present. This would also allow
the user a second chance to stop printing an unwanted document from
a command line program. This should be able to be turned off by
passing an extra argument to lpr, or throught a list that excludes
specific applications from getting this treatment. (would this work?)

5. The printer configuration would give options about sharing the
printer with other Linux/Unix systems, Windows machines, and MacOS
machines. Having working installations of netatalk and samba would
be very good for this purpose. A gui layer would need to be added
then. (a code snippet that handled the writing and rewriting of
text configuration files would probably have much use in situations
such as this)

6. There should be quota support for the number of pages, and the
number of copies you can print at a time, so this could be used
in a lab situation.

7. It should have all normal printfilter behavior - i.e.. printing
jpegs and text from the command line, and from the file manager
without conversion. This could be swiped from somewhere. I have
some experience modifying the redhat print filter system, which
is basically a bunch of bash scripts. When printed, the filter
should be able to change the formatting of the text (multiple columns,
watermark, font) and graphics (scaling, centering on page). These
options would also be available in programs that do not do their
own output formatting (the gimp could use this)

Undecided things

Should we have one logical printer (i.e.. lp) and then use the gnome
print filters select which physical one they will use (a la MacOS
that has a default printer, but you can change it in the print 
dialog), or have multiple logical printers (i.e.. lp1, lp2, etc.) that
are set up for each logical printer, and require the user to type in
command line options? The first way would be better for most lazy users
(myself included). The second way would be easier for users who
are on terminals to print. (Could the default printer settings could be
set in a file and accessed every time someone prints? I'm not sure
lpr passes the name of the user who printed on to the print filter)

How do we handle networked printers? On systems other than Linux/Unix?

Do Gnome apps go through lpr to print (would work well on systems
without the gnome print system installed), or bypass it and use
the gnome print filters directly? (less overhead)

just my $.02

Zack Williams
zdw@u.arizona.edu



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]