#!/usr/bin/perl # # Copyright (C) 2003-2005 Mandriva # # Till Kamppeter <till@mandrakesoft.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License Version 2 as # published by the Free Software Foundation. # # 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. # use strict; use lib qw(/usr/lib/libDrakX); use standalone; use printer::main; # Data structure for printer data my $printer; # printer::main::read_printer_db() needs a spooler name ... $printer->{SPOOLER} = 'cups'; # ... and the user mode (expert mode gives us more info) $printer->{expert} = 1; # Read the command line options my $commandline = join ('', @ARGV); # HELP !!! $commandline =~ /-(h\b|help)/i and print " Uasge: $ARGV[0] [--only-models] [--help] Shows list of supported printers and the drivers which support them. Manufacturer-supplied PPDs of native PostScript printers, manually added drivers, or installed updates are taken into account. --only-models: Show only the model names, not the drivers --help: This help page. " and exit 0; # Do we only need models and not drivers? Beginner's mode gives us the # needed info then. $commandline =~ /-only-models/i and $printer->{expert} = 0; # Build the list of supported printers printer::main::read_printer_db($printer, $printer->{SPOOLER}); # Show the list on STDOUT foreach my $item (sort keys %printer::main::thedb) { print "$item\n"; }