Screenshots: system-config-printer 1.1

As part of my work for Red Hat I’ve been working on the printing configuration program, system-config-printerFedora 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.

Printer Added

Printing Jobs

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.

Authentication Required

Authentication Dialog

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.

Out of paper

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.

Print Error

When the job finishes the user is told about it.  This notification is new in 1.1.

Job Completed

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.

Jobs List

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).

Printers list

Printer Properties

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.

Settings

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.

Policies

Access can be limited to certain users.

Access Control

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”?).

Options Installed

The other printer-specific options can also be examined and changed.  For PPDs that support it, translations for the option names are shown.

Printer Options

There are other CUPS options that are not specific to any particular printer.

Job Options

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.

Ink/Toner Levels

Server Settings

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.

Basic Server Settings

Clicking Advanced allows you to adjust some other settings:

Advanced Server 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.

23 Responses to “Screenshots: system-config-printer 1.1”

  1. chicha says:

    Thanks a lot for your work it is awesome !

  2. mpt says:

    So when a print job requires authentication, system-config-printer displays a notification bubble with an “Authenticate” button, and clicking the button opens the authentication alert.

    Instead, how about just opening the authentication alert directly? That would require either the same number of clicks, or one fewer click, depending on whether you were doing something that made focus stealing prevention kick in. And regardless, it would mean less text to read.

  3. JonRob says:

    This is a really small thing, but would it be better in the first screenshot to have it read “find alternative driver” rather than “find driver.” The second one suggests that the printer doesn’t have a driver yet, and that the user is still required to do some work.

    Great work though,

  4. tim says:

    mpt: the reason for the authentication notification before the actual dialog is to avoid the situation where you’re typing away and don’t realise you’ve typed stuff into a dialog that wasn’t there two seconds ago.

    JonRob: yes, good suggestion.

  5. orlando_ombzzz says:

    kudos! great shots

    a suggestion:

    “When the job finishes the user is told about it.”

    put this pop-up disabled by default, it is really annoying to see a message that tell you obvious things

    or better: in the Print dialog ( the one that popups when you want to send a document to printing ) add the following checkbox:

    [ ] notify me when the print job ends

    ( of course un-checked by default 🙂

  6. tim says:

    Yes, I was wondering how the job-completion notifications would be received. It probably needs to be a “preference” i.e. set in GConf.

    I quite like your idea of setting it on a per-job basis but I’m not entirely sure how that would be implemented.

  7. nicu says:

    This look very polished but I find a little disturbing the red color in the “Printer added” notification, red says to me “error” but the meaning of the message is “all is OK”.

  8. tim says:

    nicu: the urgency (and hence colour) of the notification of a new printer is dependent on whether an exact match was found. It is “normal” urgency if so, but “urgent” if not as further action most likely needs to be taken in order to use the hardware.

    Perhaps the urgency should be “normal” in that case, but with a different icon; perhaps a printer with a question mark over it or something?

  9. Regarding the printing-finished-notification-area (that might drive some people insane by information overload, especially if combined with a dozen Packagekit notifications).
    Crazy idea maybe, but what about doing the notification if it’s a network printer, and don’t do one if it’s local (with the assumption that if something is connected to USB, it’s probably in the same room as me)?

  10. bochecha says:

    That looks really nice !

    About the job completion, I quite don’t agree with the suggestion from orlando_ombzzz.

    The fact that the job is finished might not be obvious if the printer is located in another room 😉

    How about not displaying anything for USB connected printers (most likely, the cable is short enough so that the user can look at the page getting out of the printer), but displaying the popup for network connected printers ?

  11. tim says:

    Andreas: yes, only showing that notification when the printer is remote is a good idea. I hadn’t thought of it. Thanks.

    (It doesn’t work for my own use-case: I tend to use VNC, so the printer is local to my session even though I’m in a different room.)

  12. bochecha says:

    Damn, Andreas had the same idea and wrote it faster than me ^^

    @Tim: just don’t publish my two comments if you like 😉

  13. mpt says:

    “the reason for the authentication notification before the actual dialog is to avoid the situation where you’re typing away and don’t realise you’ve typed stuff into a dialog that wasn’t there two seconds ago.”

    That should be prevented by the window manager’s focus stealing prevention, as I mentioned in my comment. Have you tried it?

  14. tim says:

    mpt: the reason that won’t work in this case is that it is a password dialog, so grabs keyboard and mouse focus. It does this, in turn, to avoid some *other* dialog from accidentally getting our password if it pops up at the wrong time. (Other password dialogs also do this.)

    I’d love to know a definitely answer for whether this is really necessary, and to have all the various password dialogs behave in the same way.

  15. mpt says:

    Ok, today I discussed this with Kees Cook (Ubuntu security team lead) and Martin Pitt (former Ubuntu security lead, current desktop team lead).

    They made the point that PolicyKit authentication alerts and Seahorse authentication alerts both open as normal dialogs, without opening preliminary notification bubbles first, and without even grabbing keyboard and mouse focus. So if there are cases where the window manager allows focus stealing while you are typing your password, that should be fixed consistently in the window manager, rather than in different ways by system-config-printer and other Gnome components.

  16. Hellen says:

    i have setup my printer and if i view my document print status, all the jobs are in completed state but nothing is printed on the physical printer. please assist where i could possibly be going wrong.

    awaiting your response

  17. tim says:

    Hi Hellen,

    It sounds like a problem with the driver being used for that printer. Please report a bug to the people who put your operation system together.

  18. Jorge says:

    Hello Tim,

    I just found out your blog while doing some search on CUPS. I’m a Fedora user and I’m learning the basics on how the printing system actually works. These screenshots are awesome!

    On the printer properties screenshots: I’m curious about the “Printer Options” section. Are these options on the GUI created on the fly by reading the printer’s PPD file so that it’s actually showing the printer’ SPECIFIC options ?

    If so, whenever I change something there, where are these preferences stored? Is it somewhere on the filesystem under /etc/cups or are these options sent directly to the printer itself and stored in its internal memory?

    All the best,
    Jorge

  19. tim says:

    Jorge: yes, that’s exactly how it works. The defaults are stored in the PPD itself (/etc/cups/ppd/) by cupsd.

  20. Jorge says:

    Thanks Tim. Great to know that..I had no idea the defaults were also stored in the PPD itself!

    Looking at the direction system-config-printer is going… and assuming I have an HP single-function printer, why would I need HPLIP? Is HPLIP mainly targeted for multi-functional printers ? is that about it? Is there overlapping functionality between the two?

    Regards,
    Jorge