On Fri, 2005-07-29 at 12:24 +0100, Toby Blake wrote: > Firstly I'd like to > have more control over the list of printers Xprint provides. > So, going by the info in the FAQ, I put the following line in > /usr/X11R6/lib/X11/xserver/C/print/Xprinters: > > Augment_Printer_List /usr/bin/printers |cut -f1 > > ...and, after restarting Xprt, I look at the list of printers in > Firefox and find that it seems to have taken the output of > /usr/bin/printers, but not piped it through 'cut', i.e. printers are > listed of the form 'name HP4100DTN on 4th Floor'. I can put the line > '/usr/bin/printers |cut -f1' in a separate script, change Xprinters to > > Augment_Printer_List /path/to/one/line/script > > ... and it works OK. This is the first oddity. >
It sounds like Augment_Printer_List is just expecting a single string, which is why it works when you give it the script. It's only reading up till the first whitespace. Did you try putting "quotes" around "/usr/bin/printers |cut -f1" (though my guess is that won't work, it'll just try to use '"/usr/bin/printers' instead) > The second one is the ordering of the printer list - our 'printers' > command sorts the list of printers according to certain criteria, this > seems to be reversed by Xprint, i.e. our order of > > name1 > name2 > name3 > > ....turns into > > name3 > name2 > name1 > > ... with the xp_[pdf|ps]spooldir printers interspersed at strange > points in the output (one is second in the list, after my default > printer and the other is in the place where the default printer would > have been). If it's just reversing the normal order, then of course you can add " | sort -r" or whatever in your script. I think on my system (Debian), the placement of the spooldir printers is defined by /usr/share/Xprint/xserver/C/print/Xprinters, where they are given after the Augment_Printer_List command. I can't answer why its getting mixed up for you. I think you're right, Xprint expects the client program to deal with this itself. > > While I'm on the subject of the printer list provided by Xprint, is > there any way of formatting this output in any way? e.g. we have 60+ > printers - I would like to be able to split this list up, so that the > user sees, say, 4 categories which contain printers, rather than a > massive list. I realise this is probably a function of the client > app, but thought it worth checking. > I'm not aware of any such facility, sorry. CUPS has a class system, but that's not quite the same thing anyway, I think. > > Also, one other important question on a different matter, how does > Xprint relate printer names to their models? There is mention in the > FAQ of family/class but it doesn't describe how to tell Xprint which > family/class a particular printer belongs to. If I have a list of > printers specified in the way above, how does Xprint know what model > each printer is, so we can use model-specific configurations? > I think you want to use /usr/share/Xprint/xserver/C/print/attributes/printer. See the line *xp-model-identifier: PSdefault If I read it right, you change it to things like name1.xp-model-identifier: PSdefault name2.xp-model-identifier: CANONBJ10E-GS name3.xp-model-identifier: HPDJ1600C etc where the various models are defined in /usr/share/Xprint/xserver/C/print/models. Sorry I can't be much more help, I don't run a whole department so the default settings (Psdefault, autodetect) have been good enough for me! Drew Parsons _______________________________________________ Xprint mailing list [email protected] http://mozdev.org/mailman/listinfo/xprint
