As part of my work for Red Hat I’ve been working on the printing configuration program, system-config-printer. Fedora 10 came with version 1.0 of this application, which provides a notification area print icon as well as the ability to configure printers, and I made the 1.1 version available earlier this year. The most recent release is 1.1.3.
I’ve taken some screenshots of system-config-printer 1.1, and this version will be in Fedora 11 when it is released this year.
Screenshots below. As an aside, I have to say that taking screenshots is one of the most rapid methods of finding bugs I know!
Adding New Printers
Connecting a new USB printer causes it a queue to be created for it automatically. There is now an option to print a test page at that point.
When a print job is submitted, the printer icon appears in the notification area. For queues that require a user name and password to print jobs, this is collected now.
The “Remember password” check-box enables gnome-keyring support so that printing documents to that printer in future will not need to ask you for a password.
There might be a problem with the printer, such as lack of paper or ink — the user needs to know about this too.
Hopefully there won’t be any problems with the filters or the backend, but in that unlikely event the user is given the opportunity to troubleshoot it.
When the job finishes the user is told about it. This notification is new in 1.1.
Clicking on the icon shows the jobs you currently have in the queue for printing. This jobs list is also available from the printer configuration window by right-clicking on a printer and selecting View Print Queue — in that case, jobs from all users are shown. Completed jobs can also be included, as shown below.
Printer Configuration Window
Now let’s take a look at the main window containing the available printers. Network printers are shown with a different icon than locally-connected printers, and the default printer for this user is shown with an emblem. The list of printers can be filtered (a new feature in 1.1).
Double-clicking on a printer shows its properties, things such as its description and location which appear in print dialogs, as well as the device and driver to be used. For native CUPS drivers it is possible to perform maintenance commands such as cleaning print heads.
From this dialog you can set whether the printer is enabled (i.e. processing jobs in its queue), whether new jobs are accepted into the queue, and whether jobs can be accepted from other machines.
Access can be limited to certain users.
Lots of printers have optional accessories, and the PPD options relating to those are gathered together. In CUPS 1.4 it will be possible to add a button to gather this information from the printer itself if it speaks PostScript (but what to name the button? “Scan”?).
The other printer-specific options can also be examined and changed. For PPDs that support it, translations for the option names are shown.
There are other CUPS options that are not specific to any particular printer.
Information from the printer is shown on this last screen, which is entirely new in 1.1. Ink level reporting is currently only available for printers that do so using SNMP, but hopefully drivers such as HPLIP and Gutenprint will add this capability soon.
That’s the printer properties dialog as it currently stands. So, back to the main window. Selecting Server→Settings allows alteration of system-wide print server settings. It’s a bit awkward at the moment because it’s split into two dialogs, Basic and Advanced. This will get better in future.
Clicking Advanced allows you to adjust some other settings:
The CUPS web interface has improved a lot in CUPS 1.4 and I would like to improve the system-config-printer server settings dialog to match. I think that will have to wait until system-config-printer 1.2 though.
See the roadmap in the trac instance on fedorahosted.org for information on other things that are planned for this version and future versions.