
XPP - The X Printing Panel
==========================

http://cups.sourceforge.net/xpp/

Copyright 2000-2004 by Till Kamppeter


This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307  USA

CUPS and the CUPS logo are the trademark property of Easy Software products.
All other trademarks are the property of their respective owners.


Bugs, fixes, suggestions, and improvements please send to

   till.kamppeter@gmx.net


Acknowledgements
----------------

Thanks to Egbert Eich for the patch for support of custom paper sizes
and horizontal resizing of the main window.


Requirements:
-------------

   CUPS 1.1.9 or newer

      Older CUPS version do not have the "natural-scaling" option to
      scale images relative to their natural size. You can use thiis
      version of XPP with CUPS since version 1.1.3, but if you specify
      the image size with "Natural scaling" your setting will be
      ignored.

      CUPS versions older than 1.1.3 required XPP to use function
      overloading so that a password dialog could be realized. This
      version uses the new interface for password dialogs which was
      introduced in CUPS 1.1.3 and so the function overloading could
      be dropeed. The problem of function overloading was that one
      could not compile XPP under commercial Unix systems. This
      version of XPP should work on any platform on which CUPS and
      FLTK work.

      Download from: http://www.cups.org/

   FLTK 1.0.7 or newer

      FLTK 1.1.x gives a nicer file selection dialog, with auto-completion
      of file names by the <TAB> key and a layout more similar to the file
      selection dialogs of other applications. With libpng and libjpeg
      the file dialog even supports image preview.

      Download from: http://www.fltk.org/



Installation of XPP
-------------------

Install CUPS 1.1.9 or newer (from the source code or binaries) and
FLTK 1.0.7 or newer (from the source code) as described in the
documentation of the respective packages.

This works under SuSE 6.1, 6.2, Mandrake 7.x and newer, and Compaq/Digital
Tru64 Unix 4.0f without any problems or special adjustments (always
gcc and gmake were used). The newer versions I have only tested under
Mandrake Linux, the current one under Mandrake 10.0 and 10.1.

Now compile the XPP with

   ./configure
   make

If you are on a proprietary Unix and 'make' gives a syntax error or similar,
try GNU make (gmake, http://www.gnu.org/software/make/make.html) instead.

In case of problems you can re-generate the Makefile template with
(automake needed to be installed)

   automake

and the configure script with (autoconf needed to be installed):

   aclocal
   autoconf

You can also update the config.guess and config.sub files with
(libtool needed to be installed):

   libtoolize --copy --force

Ignore the warning if there is one.

To install XPP, type

   make install

logged in as 'root'. This copies the executable 'xpp' into the
/usr/local/bin directory and removes its debug information to make it
as small as possible.

If under a commercial Unix the compilation of CUPS, FLTK, or XPP with
gcc does not work, try the proprietary compiler of that Unix entering

   setenv CC cc
   setenv CXX CC
   ./configure
   gmake
   gmake install (as root)



Usage tips
----------

To call the program, simply type

   xpp <file name>

or only

   xpp

at the command prompt or put 'xpp' into the printing command fields of
your applications (Mozilla, gv ...). Mozilla remembers your print
command automatically, in 'gv' click on 'State' at the top of the
window and choose 'Setup Options' in the upcoming menu. In the dialog
appearing then adjust the 'Print command' (at the bottom of the
window) to 'xpp'.  Then turn off the button 'Confirm Printing' (on the
left hand side of the dialog) by clicking on it. Now click the buttons
'Apply', 'Save', and 'Dismiss' one after the other. Now the poor
printing dialog of 'gv' is replaced by a better one.

After giving the command shown above or when printing out of an
application, you will get a dialog window where you can choose the
printer on which you want to print and the number of copies you want
to print from your file. All printers in your network made available
for your machine via CUPS will appear in the list. If you have started
XPP from the command line without supplying a file name, click on
"Browse" and choose your file comfortably. There is a preview for
text files and JPEG/PNG images.

For printing there are a lot of options available, click the 'Options'
button and adjust the behaviour of the printer as you want. You can
save these settings for every individual printer with the 'Save
Settings' button and you can make you preferred printer pre-selected
by a click on the 'This printer as default' button.

One can also choose printer-specific options by clicking on the tabs
in the option window. If you change any options and some options
appear in red (the appropriate tabs appear in red, too, so that on can
easily find red options) there are conflicts between options. In this
case both conflicting (red) options cannot be used at the same time
(as for example double-sided printing on transparencies or envelope
feeder as paper input when there is no envelope feeder
installed). Saving such settings or printing with them is not
possible. You will get an error message.

Note that not all options apply to every printer and that the
definitions of the paper sources differ from printer to printer,
too. So do some tests to check out which options work in what way on
your printer.

To store more than one set of options for a printer click on the
'Instances' button and copy the default instance of the desired
printer. Select it in the list, choose 'Copy' and enter a name. Click
on 'Apply'. After closing the dialog, you can print via the original
list entry for your printer or by the new one (the new
'instance'). You can independently modify and save the options for
these entries with the 'Options' button. The 'Instances' dialog allows
also to copy more instances, to rename, or to delete them.

You can even use all command line options of the lpr command of CUPS
('man lpr' or http://localhost:631/sum.html) when you give the 'xpp'
command. So your pre-selected printer (or options) can be different
depending on whether you print out of Mozilla or out of gv. Example:
In Mozilla's printing dialog you use 'xpp -o number-up=2 -o
sides=two-sided-short-edge' as printing command and your web page and
E-Mail printouts are printed in a paper-saving two-pages-on-one-sheet
mode and in gv you use simply 'xpp' as print command to print
documents in the normal way. Options changed by using command line
options can nevertheless be changed back in the Options dialog of
CUPS.

Have a lot more fun with printing now ...
