README file for Xbubblejet 0.2
by Robert Butera (butera@patriot.net) 12-Sept-1998
CONTENTS
- What is Xbubblejet?
- Why should I use it?
- What printers are supported?
- Where do I get it?
- What else do I need?
- How do I install it?
- How do I use it?
- ChangeLog
- TODO List
- Copyright Issues
- What is Xbubblejet?
Xbubblejet is a graphical user interface (GUI) program that runs under Xwindows that allows individual users on a UNIX system to set their own custom printer settings for the following items: bits per pixel, color/grayscale, low/medium/hi print quality, resolution, and paper type. IT ASSUMES THE FOLLOWING:
-> The user is printing postscript files -> The user has a Canon BJC-XXXX printer -> The user is not using any "printfilter" type package
(although Xbubblejet could be modified to work with one).
It provides two programs: xbubblejet, the GUI program, and canon-filter.pl, a "print filter" (see below), which determines if a file is a postscript file or not. If so, it calls ghostscript for postscript processing with the appropriate print options selected by the user via xbubblejet.
2. Why should I use it?
First of all, it allows individual users to customize their own printer settings, without messing up other users. Second, it allows print setting to be changed "on the fly." For example, I may want to print out a draft Latex document in black and white mode at low resolution, then switch to printing out hi-resolution color figures on transparency paper. Xbubblejet allows me to make these changes instantly.
2. What printers are supported?
I have developed this using a Canon BJC-4200 BubbleJet printer. I have been told that it also works on other BJC-4XXXX series printers. Since the program makes use of ghostscript and specifies the device drive for a BJC-600, I assume it may work on a variety of other Canon printers as well.
3. Where do I get it?
Xbubblejet is available at http://patriot.net/~butera/xbubblejet.html.
4. What else do I need?
The Xbubblejet package was developed on a Linux system, however, in theory it should easily work on any UNIX system. It requires the following:
- UNIX system running XWindows
- Tcl/Tk (I used version 7.4 to develop it, earlier versions may work)
- Perl (I use version 4, earlier versions may work)
- Ghostscript version 4.X or higher (version 3.X did not support all the color modes consistently)
- a printing system that allows a print filter to be specified
(typically in /etc/printcap) that processes all files going to
the printer
5. How do I install it?
- place the program xbubblejet in a common directory (like /usr/bin) where all users can run it.
- specify the print filter in your /etc/printcap file. For example, my /etc/printcap file looks like this:
# START printcap file
# /etc/printcap
lp:\
:sd=/var/spool/lpd/lp:\
:mx0:\
:sh:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/lp/canon-filter.pl:
#
# END printcap file
where the "if=" entry specifies the absolute path where
the file canon-filter.pl file can be found. I placed it
in /var/spool/lpd/lp, since other packages (like RedHat
printtool) also store printer configuration files there.
3) (OPTIONAL) once you are used to Xbubblejet, you can copy
a system wide file of default options to /etc/canon.ps.options.
See the next step for more details.
6. How do I use it?
Just run "xbubblejet" Select the printer setting you want,
then click on Done. A file named ".canon.ps.options" will be
written to your home directory. When you go to print a file,
the print filter canon-filter.pl will read this file and
setup the ghostscript drive to print your file appropriately.
If the user already has a .canon.ps.options file in their
home directory, when "xbubblejet" is run this file will be
read and the buttons preselected to reflect the current settings.
If a .canon.ps.options file does not exist in the user's home
directory, the file "/etc/canon.ps.options", if it exists,
will be read by xbubblejet upon startup.
Likewise, the print filter canon-filter.pl will read the
system-wide options file "/etc/canon.ps.options" if the file
".canon.ps.options" does not exist in the user's home directory.
7. ChangeLog
version 0.1: initial version
version 0.2: - xbubblejet completely rewritten in a more modular
readable form
- added capability to preset buttons from an existing
user or default options file
- completely rewrote print filter (now called
canon-filter.pl) in Perl.
- added ability of print filter to read from a
default options file if the user does not have one
- fixed a bug in the old version that expanded
wild-card characters if they were one of the first
two characters of the file to be printed! For
example, printing a C source code listing where the
first two characters were "/*" caused a directory
listing of /home/root to be printed.
8. TODO List
Short-Term: integrate with "magicfilter" and/or RedHat PrintTool.
It appears that integrating with RedHat PrintTool should not be
too hard, and would simply require writing to postscipt.cfg, or
somehow allowing a user-specific version of postscript.cfg to
exist (maybe PrintTool does this? I don't know, I don't use it!)
Long-Term: Think about modularizing xbubblejet into a more general
program that has a database of config files for printers by
various manufacturers.
9. Copyright Issues
Gnu Public License -- go read it at http://www.fsf.org/
If you do modify xbubblejet, I'd like to hear from you!
Email me at butera@patriot.net.
