Git Product home page Git Product logo

system-config-printer's Introduction

system-config-printer

It uses IPP to configure a CUPS server. Additionally it provides dBUS interface for several operations which aren't directly available in cupsd, and automatic USB printer installation daemon for non-IPP-over-USB printers.

The alternatives for the graphical configuration tool are CUPS Web interface, desktop control-center or lpadmin command line tool if you need to install printer manually which may not be needed in recent cases.

When I do not need printer setup tool as S-C-P?

If the application where you print from has an up-to-date print dialog (uses the current CUPS API) and your printer is set up for driverless printing (has AirPrint/IPP Everywhere/IPP-over-USB support, opened port 631, lies in your local network and Avahi is running, IPP and mDNS is enabled in your firewall, ipp-usb is installed if your printer is connected by USB), you don't to install the printer at all. The dialog is able to pick up the printer right before you open the dialog and it disappears once you don't need it (reappearing next time you open the dialog again). This appearing and disappearing printer is called CUPS temporary queue.

The devices supporting AirPrint/IPP Everywhere appear since 2010 (IPP-over-USB devices a bit later), so if your device was made after 2010, there is a great chance it supports the standards.

From the dialogs I'm aware of the temporary queues are currently supported in any GTK3 based application (evince, gvim, gedit, firefox if you are on GNOME and choose system dialog for printing...) and in Libreoffice.

Future with CUPS 3.0:

CUPS 3.0 will divide the current CUPS in several modules - command line tools, library, CUPS Local server and CUPS Sharing server. CUPS Local server will be designed as lightweight for desktop usage, supporting only CUPS temporary queues. CUPS Sharing server will be more like the current cupsd, supporting permanent driverless queues, suited for servers.

system-config-printer is often used on desktops where will be CUPS Local server installed by default. Since the server will support only CUPS temporary queues, system-config-printer will need to work with IPP services which are on localhost (USB devices, printer applications and permanent driverless queues from CUPS Sharing server if installed as well), in local network or defined by printer profiles, if system-config-printer should work with CUPS 3.0.

Is S-C-P required in system with CUPS 3.0?

Regarding printer setup tools OpenPrinting current plans are to integrate printer setup dialog into common print dialog, which would enable non-driverless printer installation (via printer application) right when user needs it - right before the printing.

dBUS interface (but probably not the same methods) will be available in CUPS 3.0 project and since non-driverless devices are less common with time OpenPrinting group agreed there won't be an automatic installation mechanism for them.

So the standalone configuration tool like system-config-printer isn't a priority in system with CUPS 3.0, but it can exist together with CUPS 3.0 if updated. The next point is connected to the matter.

NEW DEVELOPER OR CO-MAINTAINER WANTED:

I'm looking for a new developer or co-maintainer for system-config-printer and pycups, who would update/help to update them to the current standards.

In case of system-config-printer it consists:

  • migration to GTK 4,
  • migration of dbus code because dbus-python is deprecated,
  • support for installing printer applications from various sources (.rpm, .deb, snap, flatpak),
  • support for managing IPP services instead of permanent CUPS queues.
  • implementation of unit tests and overall updating the python code to current PEPs

The project is kept in maintenance mode (accepting and testing sent patches, limited new development) until there is such a person.

Build requirements:

  • development packages for:
    • cups
    • gettext
    • glib2
    • libusb
    • python3
    • systemd
  • tools:
    • autoconf
    • autoconf-archives
    • automake
    • desktop-file-install
    • intltool
    • xmlto
    • gcc
    • python3-setuptools
    • python3-build

Runtime requirements:

  • any desktop notification daemon
  • dbus-x11
  • gobject-introspection
  • gtk3
  • libnotify
  • python3-cairo
  • python3-cups
  • python3-dbus
  • python3-firewall
  • python3-gobject
  • (optional) python3-smbc

How to compile and install:

$ ./bootstrap
$ ./configure
$ make
$ sudo make install

How to uninstall:

$ sudo make uninstall

Translations:

Translations are available at Fedora Weblate. If you want to update translations, please update it in Weblate. The Weblate then creates automatic PR, which keeps upstream project and Weblate project in synch.

system-config-printer's People

Contributors

andibing avatar andreheinecke avatar bigon avatar dependabot[bot] avatar fitojb avatar hutarova avatar igorpsoares avatar jpopelka avatar julroy67 avatar kami911 avatar kmilos avatar logan5 avatar luyatshimbalanga avatar marekkasik avatar martinpitt avatar nippur14 avatar norwayfun avatar piotrdrag avatar rtcm avatar scootergrisen avatar simmon-nplob avatar tillkamppeter avatar tmtfx avatar tomaskorbar avatar twaugh avatar vuntz avatar weblate avatar yarons avatar yeager avatar zdohnal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

system-config-printer's Issues

Make place-holder usage consistent

I wonder a bit about the different usage of place-holders in the provided udev rule file.

  • Is it important to express that only two characters may follow a known prefix?
  • Does it matter if a specific filter pattern can be eventually checked faster by the involved software than the other specification (using an asterisk instead of question marks)?

SImplifying 'Add Printer' for HP printers

When detecting a printer, Add Printer presents a 2-option menu:

o HP Scanning & Printing (HPLIP)
o USB printer

which - when an HP printer is detected - is confusing, especially to a newcomer to Linux, who is likely to play safe and select the "USB" option to confurm 'Yes, the USB printer'.
Although that will install the printer, if he then tries to use HPLIP he will find it will not recognise the installed printer!

Proposal:

In the case where system-config-printer knows that the detected printer is HP, just go ahead and install the 'HPLIP' way, thereby cutting out a redundant 'options' menu and avoiding possible confusion, as well as giving a slicker operation.

D-Bus service file does not respect --prefix flag

Below is a build with --prefix=/nix/store/8p4w7v88winr0zlgqd08qnc4hh8picia-system-config-printer-1.3.12. Still the dbus service file refers to /usr/bin, completely ignoring the supplied install prefix:

$ cat /nix/store/8p4w7v88winr0zlgqd08qnc4hh8picia-system-config-printer-1.3.12/share/dbus-1/services/org.fedoraproject.Config.Printing.service
[D-BUS Service]
Name=org.fedoraproject.Config.Printing
Exec=/usr/bin/scp-dbus-service

Tested version 1.3.12.

This bug breaks system-config-printer in NixOS, because it relies on these unique installation prefixes.

Printer stopped/paused status - "media-playback-pause" not showing

Using Fedora 22 with system-config-printer 1.5.7-3, when a printer is disabled due an user action or a printer error i would expect to have a pause symbol near the printer image but nothing happens

Opening system-config-printer, all the printers seem to be always ready.
Only opening the printer properties menu with the right mouse button i can check if printer is enabled or stopped.

Then, it would be great to have a more visible flag to identify stopped printers.
Very often desktop users CAN'T see that little pause symbol of media-playback-pause.png...
...Maybe an old style red cross would be better? :)

Partial translation of printer settings dialog box

After installing a printer, often I have strings good translated (in French for me) but others don't.
I did this experience with hp:
hp

With epson:
epson

and with other models.
I looked in the po file, and I couldn't found the words not translated.
I searched a lot about this problem, how to translate this strings, but it seems that the ppd file is generated during installation. Currently I translate the ppd file just for me or my friends that don't understand english. But it can be interesting do it once and for all
If I can help for translation I would do it willingly.

New release?

Hi, it's been about a year since the last release. Do you think it's about time to do another release?

'orientation-requested' and 'print-quality' has value '0' error messages

Hi,

CUPS stopped working suddenly on my Ubuntu machine. So I opened the settings of my printer in the system-config-printer 1.5.9 utility which welcomes me with two error messages.

First dialog:
Option 'orientation-requested' has value '0' and cannot be edited.

Second dialog:
Option 'print-quality' has value '0' and cannot be edited.

After clicking OK two times Apport reported an error in
/usr/share/system-config-printer/system-config-printer.py

because of
system-config-printer.py crashed with TypeError in __init__(): debugprint() takes 1 positional argument but 2 were given

CupsErrorLog:

[cups-deviced] PID 19691 (gutenprint52+usb) stopped with status 1!
Unable to create "/etc/cups/subscriptions.conf.N": No such file or directory

See also: Bug report at Launchpad.

Regards,
Atalanttore

Printing server settings hangs when disabling job history

As reported in (https://bugs.launchpad.net/ubuntu/+source/system-config-printer/+bug/1575606)

HOW TO REPRODUCE:
In "System Settings -> Printers", in the "Server -> Settings" menu, set the option "do not preserve job history".

RESULT:
The Server Settings window hangs.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: system-config-printer-common 1.5.7+20160212-0ubuntu2
ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
Uname: Linux 4.4.0-21-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CupsErrorLog:
W [27/Apr/2016:12:48:09 +0200] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id 'Deskjet-930c-Gray..' already exists
W [27/Apr/2016:12:48:09 +0200] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id 'Deskjet-930c-RGB..' already exists
W [27/Apr/2016:12:48:27 +0200] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id 'Deskjet-930c-Gray..' already exists
W [27/Apr/2016:12:48:27 +0200] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id 'Deskjet-930c-RGB..' already exists
CurrentDesktop: Unity
Date: Wed Apr 27 13:07:59 2016
InstallationDate: Installed on 2016-04-26 (0 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
Lpstat: device for Deskjet-930c: hp:/usb/DeskJet_930C?serial=CN0CE1R0N3JJ
MachineType: MEDIONPC MS-7358
PackageArchitecture: all
Papersize: a4
PpdFiles: Error: command ['fgrep', '-H', '*NickName', '/etc/cups/ppd/Deskjet-930c.ppd'] failed with exit code 2: grep: /etc/cups/ppd/Deskjet-930c.ppd: Permission denied
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=e2d0d4f0-9713-48d3-88f0-37496ec4d302 ro quiet splash vt.handoff=7
SourcePackage: system-config-printer
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/18/2008
dmi.bios.vendor: Phoenix Technologies, LTD
dmi.bios.version: 6.00 PG
dmi.board.name: MS-7358
dmi.board.vendor: MICRO-STAR INTERNATIONAL CO., LTD
dmi.board.version: Fab D
dmi.chassis.type: 3
dmi.chassis.vendor: OEM
dmi.chassis.version: OEM
dmi.modalias: dmi:bvnPhoenixTechnologies,LTD:bvr6.00PG:bd02/18/2008:svnMEDIONPC:pnMS-7358:pvrOEM:rvnMICRO-STARINTERNATIONALCO.,LTD:rnMS-7358:rvrFabD:cvnOEM:ct3:cvrOEM:
dmi.product.name: MS-7358
dmi.product.version: OEM
dmi.sys.vendor: MEDIONPC

Cannot launch application on Centos 7

I am trying to run the app on Centos 7 running Gnome 3 and I am getting the following error:

Traceback (most recent call last):
File "/usr/share/system-config-printer/system-config-printer.py", line 30, in
from gi.repository import GdkPixbuf
ImportError: No module named repository

I tried reinstalling the tool and the respective python libraries, but it does not seem to fix the issue.

Any ideas on what could be the cause of this?

Should call gi.require_version() before calling from gi.repository import

Hi,

When using s-c-p, I get a lot of warnings of this type:

/usr/share/system-config-printer/system-config-printer.py:31: PyGIWarning: Polkit was imported without specifying a version first. Use gi.require_version('Polkit', '1.0') before import to ensure that the right version gets loaded.
from gi.repository import Polkit
/usr/share/system-config-printer/system-config-printer.py:35: PyGIWarning: GdkPixbuf was imported without specifying a version first. Use gi.require_version('GdkPixbuf', '2.0') before import to ensure that the right version gets loaded.
from gi.repository import GdkPixbuf
/usr/share/system-config-printer/system-config-printer.py:37: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gdk
/usr/share/system-config-printer/system-config-printer.py:38: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk
/usr/share/system-config-printer/jobviewer.py:28: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
from gi.repository import Notify
/usr/share/system-config-printer/jobviewer.py:55: PyGIWarning: GnomeKeyring was imported without specifying a version first. Use gi.require_version('GnomeKeyring', '1.0') before import to ensure that the right version gets loaded.
from gi.repository import GnomeKeyring

gi.require_version() should be called to set the required version of the Gir files before actually importing them

ImportError: No module named 'cupshelpers'

I just compiled system-config-printer-1.5.7 from source:

  1. Although I have /usr/local/bin/python3, the majority of the files were installed for /usr/bin/python3, one for /usr/bin/python and one correctly - maybe the shebang should be /usr/bin/env python3?
  2. When I try to run system-config-printer, I get:

$ system-config-printer
Traceback (most recent call last):
File "/usr/local/share/system-config-printer/system-config-printer.py", line 70, in
import cupshelpers
ImportError: No module named 'cupshelpers'

..but isn't system-config-printer itself meant to provide this?

  1. Is there a run-time dep list somewhere for system-config-printer?

udev-add-printer: D-Bus method call failed: org.freedesktop.DBus.Error.ServiceUnknown: The name com.redhat.NewPrinterNotification was not provided by any .service files

I don't know if I'm reporting this in the right place. I'm a web application developer, so the world of printer drivers and cups is kind of murky to me, so please forgive me if this project has nothing to do with the problem I ran into.

I'm trying to install a Dell V715W printer on a Dell laptop running Ubuntu 16:

~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
~$ uname -a
Linux [my-host-name] 4.5.2-040502-generic #201604200335 SMP Wed Apr 20 07:37:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

(I'm pretty sure that the Dell V715W is really just a re-branded Lexmark Pro715.)

At some point, after hours of trial and error, I finally managed to print using a wireless connection to the printer. I don't remember what I did, but it lasted for a few days and then abruptly stopped working. It may have happened when I upgraded from Ubuntu 15 to 16, but I'm not sure.

Since then, no matter what I do, I can't get cups to print to the printer. The way the installation is supposed to work is that I connect the printer via USB, the computer detects it and I install it either with cups or with the Lexmark Printer Utility, and then I unplug the USB and it should work via wireless. I think that's what I did when I got it to work, but liked I said, I tried so many thing that it's hard to know what finally made it start working.

Now, whenever I connect the printer via USB, no applications detect the printer, and the following is logged to /var/log/syslog:

Dec  2 09:40:56 kernel: [ 8905.447509] usb 2-1: new high-speed USB device number 10 using xhci_hcd
Dec  2 09:40:57 kernel: [ 8905.576653] usb 2-1: New USB device found, idVendor=413c, idProduct=5235
Dec  2 09:40:57 kernel: [ 8905.576656] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec  2 09:40:57 kernel: [ 8905.576658] usb 2-1: Product: V715w
Dec  2 09:40:57 kernel: [ 8905.576659] usb 2-1: Manufacturer: Dell
Dec  2 09:40:57 kernel: [ 8905.576660] usb 2-1: SerialNumber: [my-printer-serial-number]
Dec  2 09:40:57 kernel: [ 8905.580230] usblp 2-1:1.1: usblp0: USB Bidirectional printer dev 10 if 1 alt 0 proto 2 vid 0x413C pid 0x5235
Dec  2 09:40:57 kernel: [ 8905.581265] usb-storage 2-1:1.2: USB Mass Storage device detected
Dec  2 09:40:57 kernel: [ 8905.581383] scsi host9: usb-storage 2-1:1.2
Dec  2 09:40:57 kernel: [ 8905.583079] hid-generic 0003:413C:5235.0006: hiddev0,hidraw0: USB HID v1.00 Device [Dell V715w] on usb-0000:00:14.0-1/input3
Dec  2 09:40:57 mtp-probe: checking bus 2, device 10: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1"
Dec  2 09:40:57 mtp-probe: bus: 2, device: 10 was not an MTP device
Dec  2 09:40:57 systemd[1]: Starting Automatic USB/Bluetooth printer setup (-devices-pci0000:00-0000:00:14.0-usb2-2\x2d1)...
Dec  2 09:40:57 systemd[1]: Reached target Printer.
Dec  2 09:40:57 udev-configure-printer[17627]: add /devices/pci0000:00/0000:00:14.0/usb2/2-1
Dec  2 09:40:57 udev-configure-printer[17627]: device devpath is /devices/pci0000:00/0000:00:14.0/usb2/2-1
Dec  2 09:40:57 udev-configure-printer[17627]: MFG:Dell MDL:V715w SERN:- serial:[my-printer-serial-number]
Dec  2 09:40:58 kernel: [ 8906.580058] scsi 9:0:0:0: Direct-Access     Dell     USB Mass Storage  200 PQ: 0 ANSI: 0
Dec  2 09:40:58 kernel: [ 8906.580560] sd 9:0:0:0: Attached scsi generic sg2 type 0
Dec  2 09:40:58 kernel: [ 8906.582307] sd 9:0:0:0: [sdb] Attached SCSI removable disk
Dec  2 09:41:02 kernel: [ 8910.671703] usblp0: removed
Dec  2 09:41:02 kernel: [ 8910.680470] usblp 2-1:1.1: usblp0: USB Bidirectional printer dev 10 if 1 alt 0 proto 2 vid 0x413C pid 0x5235
Dec  2 09:41:04 udev-configure-printer[17627]: URI contains USB serial number
Dec  2 09:41:04 udev-configure-printer[17627]: URI match: usb://Dell/V715w?serial=[my-printer-serial-number]&interface=1
Dec  2 09:41:04 udev-configure-printer[17627]: URI of detected printer: usb://Dell/V715w?serial=[my-printer-serial-number]&interface=1, normalized: dell v715w serial [my-printer-serial-number] interface 1
Dec  2 09:41:04 udev-configure-printer[17627]: URI of print queue: dnssd://V715w._pdl-datastream._tcp.local/, normalized: dnssd v715w pdl datastream tcp local
Dec  2 09:41:04 udev-configure-printer[17627]: URI of print queue: lxhcp://192.168.0.120, normalized: lxhcp 192 168 0 120
Dec  2 09:41:04 udev-configure-printer[17627]: About to add queue for usb://Dell/V715w?serial=[my-printer-serial-number]&interface=1
Dec  2 09:41:04 udev-add-printer: add_queue: URIs=['usb://Dell/V715w?serial=[my-printer-serial-number]&interface=1']
Dec  2 09:41:04 udev-add-printer: D-Bus method call failed: org.freedesktop.DBus.Error.ServiceUnknown: The name com.redhat.NewPrinterNotification was not provided by any .service files
Dec  2 09:41:07 udev-add-printer: PPD: lsb/usr/cupsfilters/textonly.ppd; Status: 3
Dec  2 09:41:07 systemd[1]: Started Automatic USB/Bluetooth printer setup (-devices-pci0000:00-0000:00:14.0-usb2-2\x2d1).

Everything here looks normal up to the last 3 lines, where I suddenly get a org.freedesktop.DBus.Error.ServiceUnknown because com.redhat.NewPrinterNotification could not be found. This log message seems to be coming from this code.

I found a question on AskUbuntu that appears to describe a similar problem, and have linked to this ticket from there.

"Print" messed up manual duplex printing

I am using Samsung SCX-3400 Series in Linux Mint 18.
This printer cannot turn papers to print on both sides, so I often did this manually and it was successful.

But this time the page numbers got messed up. I made these settings:
print pages 14-48
print odd pages (so it should print 15, 17, 19 ,.., 47)

result: it printed the page numbered 14, 16, .., 48

Register system-config-printer on gapplication to avoid launch of multiple instances

If you start system-config-printer while it is already running a second instance of system-config-printer is started, whereas it would be much more convenient if we simply pull the window of the running instance to the front.
Other desktop applications use gapplication and so avoid duplicate instances. The second and further calls of the app then simply focus the window of the first instance.

Incorrect default in dealing with a networked HP printer

I have an HP OfficeJet 4620 fax/copier/printer/scanner connected to the network and need it to be configured as a printer on a machine which has a firewall and does not allow auto-discovery -- not a problem, since I know the printer's IP address. Running system-config-printer (the latest version, pulled down from github earlier today) I click on Add. In the resulting second window I click on Network Printer and then on Find Network Printer. The system is scanning in the meantime, but I am offered a window to enter a specific IP address, which I do and click on Find. I attach a screenshot of the result
printerbug

The JetDirect option is selected as the default. This is problematic since, e.g. xsane is unable to find the printer for scanning. The problem goes away if I run hp-setup and tell it that I want a network printer and specify the address. This installs the printer with the URI of hp:/net..., which works for printing and scanning.

Curiously, if I wait for s-c-p to finish its searching for a network printer instead of typing supplying the IP address, it does find the printer, but things get only murkier as the result. Now no default is selected, but the first antry on offer is my printer with the correct IP address. Clicking on it, presents me with three options (see screenshot
printerbug1 The first is for Fax, which I do not need. The second is AppSocket/HP Jet Direct, which does not work with e.g. xsane. Only the third on is the correct HPLIP defined entry.

As a reasonably naive user I find this utterly confusing. Compared to that, printer configuration with HPLIP's hp-setup is simlpicity itself. Hence I echo the proposal made elsewhere: if s-c-p decides it is dealing with an HP printer, hand the whole operation to HPLIP.

Threading error occurs on attempt to add a printer

This would have been a silent error had I not decided to run the tool from the command line:

No ID match for device lpd://BRN30055C147729/BINARY_P1:
MFG:Brother;MDL:MFC-7860DW;CMD:PJL,PCL,PCLXL;
No ID match for device lpd://BRN30055C147729/BINARY_P1:
MFG:Brother;MDL:MFC-7860DW;CMD:PJL,PCL,PCLXL;
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.

It sounds like this is a multithreaded application. Just so you know, X11 isn't really threadsafe unless explicitly told to be so.

Just use cups.require() in one place

Currently, there are calls to cups.require() in lots of places, which makes it hard to know which version of pycups is really required. It would be much nicer to just have it in, say, system-config-printer.py.

We could also remove lots of compatibility code for older pycups versions. git grep '#.*pycups' shows where this is.

TypeError on <dict>.update call

This line seems to crash on my ubuntu 17.10 machine. My limited understanding of python notwithstanding, it seems that there are no valid values for key and val where this line would work. It seems this line was last touched in d05c82a

The full error log I got was:

Traceback (most recent call last):
  File "/usr/share/system-config-printer/jobviewer.py", line 1616, in on_job_authenticate_activate
    uri, auth_info_required, True)
  File "/usr/share/system-config-printer/jobviewer.py", line 1048, in get_authentication
    val)
TypeError: update expected at most 1 arguments, got 2

PPD with custom options

I have this in my PPD:

*% Base JCL Authentication option
*JCLOpenUI JCLAuthenticationUser/Login Benutzername: PickOne
*OrderDependency: 10 JCLSetup *JCLAuthenticationUser
*DefaultJCLAuthentication: {Username=""}
*JCLAuthenticationUser None/Kein: "@PJL SET KMUSERNAME = <22><22> <0A>"
*JCLCloseUI: *JCLAuthenticationUser

*% Custom JCL Authentication option
*CustomJCLAuthenticationUser True: "@PJL SET KMUSERNAME = <22>\1<22> <0A>"
*ParamCustomJCLAuthenticationUser Username/Benutzername: 1 string 1 99

Then, in the printer default settings dialog, when selecting "Custom", there should be an input field. Try with the CUPS web GUI, it's working there.

Please make a new release

I was upgrading system-config-printer in NixOS to latest (1.5.7) and got these warnings:

$ system-config-printer
/nix/store/927mwjgzq9ak8wwsibgkf801axw08k3l-system-config-printer-1.5.7/share/system-config-printer/system-config-printer.py:32: PyGIWarning: Polkit was imported without specifying a version first. Use gi.require_version('Polkit', '1.0') before import to ensure that the right version gets loaded.
  from gi.repository import Polkit
/nix/store/927mwjgzq9ak8wwsibgkf801axw08k3l-system-config-printer-1.5.7/share/system-config-printer/system-config-printer.py:36: PyGIWarning: GdkPixbuf was imported without specifying a version first. Use gi.require_version('GdkPixbuf', '2.0') before import to ensure that the right version gets loaded.
  from gi.repository import GdkPixbuf
/nix/store/927mwjgzq9ak8wwsibgkf801axw08k3l-system-config-printer-1.5.7/share/system-config-printer/system-config-printer.py:38: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk
/nix/store/927mwjgzq9ak8wwsibgkf801axw08k3l-system-config-printer-1.5.7/share/system-config-printer/system-config-printer.py:39: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
/nix/store/927mwjgzq9ak8wwsibgkf801axw08k3l-system-config-printer-1.5.7/share/system-config-printer/jobviewer.py:28: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Notify

I see this is fixed in master branch for almost a year. I noticed Ubuntu 16.04 doesn't have these warnings, although they also use 1.5.7. So either they use a post 1.5.7 snapshot (their source archive is named system-config-printer_1.5.7+20160212.orig.tar.gz) or they patch it themself.

Please make a new release as a synchronization point for downstreams, so we don't have to patch too (it takes time and feels like responsibility is inverted).

How can I save printer configurations

Hi, sorry it is not an issue but a request for help.

When I migrate a machine or reinstall fedora from scratch I would like to copy printer configurations to the new installation. Where does system-config-printer save the configuration files, please? Up to now I have to reinstall all the printers (there are many of them) from scratch every time.

Thank you in advance

Giuseppe

Zanata update

Hi. Just wondering, if strings related changes are merged with Zanata translations.

Partial translation of printer settings dialog box

My mom uses french localization of Ubuntu 17.10 with KDE.
In the printer dialog box, part of text is in english and other part in french.

i discovered that issue comes from PPD file that is not adequate regarding to localization (French) and only english version is used as you can see on:

Image and video hosting by TinyPic

you have attached the original file which is located in: /etc/cups/ppd, in my mom's case it's called : EPSON_XP-332_335_Series.ppd

now i can modify it and change few strings into french localization and here is the result:

Image and video hosting by TinyPic

Nobody should modify manualy this file in order to have it localized. Something is wrong as i install french driver from EPSON directly on my mom's laptop.

Several other people told me that they have the same issue with Spanish or other localization.

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 187: invalid start byte

I'm using version 1.5.7 of system-config-printer on Arch Linux (foomatic-db is installed):

  • Select "Add -> LPD/LPR Host or Printer"
  • Enter some IP as "Host"
  • Forward

It hangs forever and prints the following errors to the console:

Traceback (most recent call last):
  File "/usr/share/system-config-printer/newprinter.py", line 899, in on_btnNPForward_clicked
    self.nextNPTab()
  File "/usr/share/system-config-printer/newprinter.py", line 1095, in nextNPTab
    self.getNetworkPrinterMakeModel ()
  File "/usr/share/system-config-printer/newprinter.py", line 1960, in getNetworkPrinterMakeModel
    line = stdout.decode ().strip ()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 187: invalid start byte

/var/log/cups/error_log contains no errors (or other messages).


Side-note: When I try the IP of another printer, I see a "Searching for driver" popup. It fails differently, though. The Traceback from above is not printed. Instead the dialog fails with this ambiguous message:

"CUPS server error: There was an error during the CUPS operation: 'Success'."

There is an error in /var/log/cups/error_log:
[cups-driverd] Bad driver information file "/usr/share/cups/model/foomatic-db-ppds/Kyocera/ReadMe.htm"!

However, I think it is unrelated to the problem. I only posted it in case it helps. Otherwise, you can safely ignore it.

[Patch] Add GenericName

diff -ur system-config-printer.orig/po/system-config-printer.pot system-config-printer/po/system-config-printer.pot
--- system-config-printer.orig/po/system-config-printer.pot 2015-08-29 11:46:13.000000000 +0300
+++ system-config-printer/po/system-config-printer.pot  2015-08-29 11:53:27.000000000 +0300
@@ -2720,6 +2720,10 @@
 msgid "Configure printers"
 msgstr ""

+#: ../system-config-printer.desktop.in.h:3
+msgid "Graphical interface to configure the printing system"
+msgstr ""
+
 #: ../statereason.py:109
 msgid "Toner low"
 msgstr ""
diff -ur system-config-printer.orig/system-config-printer.desktop.in system-config-printer/system-config-printer.desktop.in
--- system-config-printer.orig/system-config-printer.desktop.in 2015-08-29 11:46:13.000000000 +0300
+++ system-config-printer/system-config-printer.desktop.in  2015-08-29 11:50:44.000000000 +0300
@@ -1,6 +1,7 @@
 [Desktop Entry]
 _Name=Print Settings
-_Comment=Configure printers
+_GenericName=Configure printers
+_Comment=Graphical interface to configure the printing system
 Exec=system-config-printer
 Terminal=false
 Type=Application

App does not launch under Python 3.6

I have this output after launch system-config-printer in terminal window:

[fademind@manjaro ~]$ system-config-printer

(system-config-printer.py:7558): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(system-config-printer.py:7558): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(system-config-printer.py:7558): Gtk-WARNING **: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
Traceback (most recent call last):
  File "/usr/share/system-config-printer/system-config-printer.py", line 84, in <module>
    import jobviewer
  File "/usr/share/system-config-printer/jobviewer.py", line 57, in <module>
    gi.require_version('GnomeKeyring', '1.0')
  File "/usr/lib/python3.6/site-packages/gi/__init__.py", line 118, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace GnomeKeyring not available

Distro: Manjaro Linux
Desktop: KDE Plasma lastest 5.8.5, Python 3.6.

Add provides to appstream metadata

I was browsing the commit log and noticed you changed the id for your appstream metadata. Please add a provides id tag for the old name.

Here's an example:
https://gitlab.gnome.org/GNOME/gnome-tweaks/commit/c553730f

Documentation:
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-provides

Specifically, I think this is used by the GNOME Software app to associate reviews posted for the old name to display them in the same place as reviews for the new name.

Program name not properly set

Hi,

When starting system-config-printer the icon and the name of the application in the top bar of gnome-shell is not properly set.

Adding the following line to system-config-printer.py seems to fix the problem:

GLib.set_prgname("system-config-printer")

system-config-printer here is the name of the .desktop file without the extension

NameError: name 'Secret' is not defined

I installed system-config-printer on debian unstable and since sometime in the last month it's giving the following error:

Traceback (most recent call last):
  File "/usr/share/system-config-printer/system-config-printer.py", line 84, in <module>
    import jobviewer
  File "/usr/share/system-config-printer/jobviewer.py", line 76, in <module>
    NETWORK_PASSWORD = Secret.Schema.new("org.system.config.printer.store", Secret.SchemaFlags.NONE,
NameError: name 'Secret' is not defined

When I run the import in a python3 prompt I get:

>>> from gi.repository import Secret
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 888, in _find_spec
AttributeError: 'DynamicImporter' object has no attribute 'find_spec'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/gi/importer.py", line 127, in find_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Secret, introspection typelib not found

The following packages are installed:

  • gir1.2-gtk-3.0
  • gir1.2-gst-plugins-base-1.0

I did manage to fix it by aptitude purge system-config-printer and reinstalling, but it would be nice to have known what the problem was. I'm also wondering if it should just continue with USE_SECRET set to False.

Cannot find driver for KONICA MINOLTA bizhub 223

Hi,

At work when trying to add a KONICA MINOLTA bizhub 223, s-c-p doesn't find the ppd driver while the "KONICA MINOLTA 500/420/360PS(P)" should work for this printer

Next clicked on page 1
nextNPTab: need PPDs loaded
+<ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>
Asking PackageKit to install drivers
Calling InstallPrinterDrivers (0, ['MFG:KONICA MINOLTA;MDL:423 Series;'], 'hide-finished')
Got PackageKit reply
Asking CUPS for PPDs
Using polkit-1 connection class
+<asyncipp._IPPAuthOperation object at 0x7f2ab87da4e0>
New IPPConnection
+<_IPPConnectionThread(Thread-3, initial daemon)>
+<asyncipp.IPPAuthConnection object at 0x7f2ab87da2b0>
+<asyncpk1.PK1Connection object at 0x7f2ab9021240>
+<asyncconn.Connection object at 0x7f2ab91bf1d0>
Awaiting further instructions
<asyncconn.Connection object at 0x7f2ab91bf1d0>: chaining up to <bound method PPDsLoader._cups_connect_reply of <ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>>
+<asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>
<asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>: calling <function PK1Connection._make_binding..binding at 0x7f2ab97b30d0>
+_PK1AsyncMethodCall: <asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>
<asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>: calling <function IPPConnection._make_binding.. at 0x7f2ab87eb268>
+<asyncipp._IPPAuthOperation object at 0x7f2ab97afe80>
Next task: (<method 'getPPDs2' of 'cups.Connection' objects>, (), {}, <bound method _PK1AsyncMethodCall._ipp_reply_handler of <asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>>, <bound method _IPPAuthOperation.error_handler of <asyncipp._IPPAuthOperation object at 0x7f2ab97afe80>>, <bound method _IPPAuthOperation.auth_handler of <asyncipp._IPPAuthOperation object at 0x7f2ab97afe80>>)
-<asyncipp._IPPAuthOperation object at 0x7f2ab87da4e0>
Call <method 'getPPDs2' of 'cups.Connection' objects>
...success
Awaiting further instructions
<asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>: chaining up to <bound method _AsyncMethodCall.reply_handler of <asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>>
<asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>: to reply_handler at <bound method Connection._subst_reply_handler of <asyncconn.Connection object at 0x7f2ab91bf1d0>>
DESTROY: <asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>
<asyncconn.Connection object at 0x7f2ab91bf1d0>: chaining up to <bound method PPDsLoader._cups_reply of <ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>>

KONICA MINOLTA 423 Series
Trying make/model names
init_makes: 0.781s
mfgl: konica minolta
mdll: 423 series
make: KONICA MINOLTA
re-split mdll: 423
Trying best match
PagePro 1400W <= 423 <= 500/420/360PS(P)
Searching for model ID '423', '%d' % 423
Ignoring 0 of 3 digits, trying 423
Ignoring 1 of 3 digits, trying 423
Ignoring 2 of 3 digits, trying 423
Checking CMD field
'textonly.ppd' fallback
No ID match for device dnssd://KONICA%20MINOLTA%20bizhub%20223(7E%3A80%3A64)._pdl-datastream._tcp.local/:
MFG:KONICA MINOLTA;MDL:423 Series;CMD:PS;
Valid driver types for this printer in priority order: ['manufacturer-cmd', 'foomatic-recommended-nonpostscript', 'manufacturer-ricoh-ps', 'manufacturer-ricoh-pxl', 'manufacturer', 'pdf', 'foomatic-recommended-postscript', 'hpcups', 'splix', 'foomatic-postscript', 'gutenprint-simplified', 'gutenprint-expert', 'foomatic-gutenprint', 'foomatic', 'cups', 'generic-postscript', 'generic-foomatic-recommended', 'generic-pcl6', 'generic-pcl5e', 'generic-pcl5', 'generic-pcl', 'generic-escp', 'ghostscript', 'generic', 'foomatic-recommended-hpijs', 'hpijs', 'foomatic-hpijs', 'hpcups-plugin', 'hpijs-plugin', 'turboprint']
PPDs with assigned driver types in priority order: [('generic', 'drv:///cupsfilters.drv/textonly.ppd')]
Resulting PPD list in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
Asking Jockey to install drivers
Got Jockey error: DBusException('The name com.ubuntu.DeviceDriver was not provided by any .service files',)
DESTROY: <asyncconn.Connection object at 0x7f2ab91bf1d0>
DESTROY: <asyncpk1.PK1Connection object at 0x7f2ab9021240>
DESTROY: <asyncipp.IPPAuthConnection object at 0x7f2ab87da2b0>
Stopping worker thread
Next task: None
Thread exiting
-<asyncipp._IPPAuthOperation object at 0x7f2ab97afe80>
<ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>: stored error is None
DESTROY: <ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>
Loaded PPDs this time; try nextNPTab again...
Next clicked on page 1

KONICA MINOLTA 423 Series
Trying make/model names
mfgl: konica minolta
mdll: 423 series
make: KONICA MINOLTA
re-split mdll: 423
Trying best match
PagePro 1400W <= 423 <= 500/420/360PS(P)
Searching for model ID '423', '%d' % 423
Ignoring 0 of 3 digits, trying 423
Ignoring 1 of 3 digits, trying 423
Ignoring 2 of 3 digits, trying 423
Checking CMD field
'textonly.ppd' fallback
No ID match for device dnssd://KONICA%20MINOLTA%20bizhub%20223(7E%3A80%3A64)._pdl-datastream._tcp.local/:
MFG:KONICA MINOLTA;MDL:423 Series;CMD:PS;
Suitable PPDs found: {'drv:///cupsfilters.drv/textonly.ppd': 'none'}
Valid driver types for this printer in priority order: ['manufacturer-cmd', 'foomatic-recommended-nonpostscript', 'manufacturer-ricoh-ps', 'manufacturer-ricoh-pxl', 'manufacturer', 'pdf', 'foomatic-recommended-postscript', 'hpcups', 'splix', 'foomatic-postscript', 'gutenprint-simplified', 'gutenprint-expert', 'foomatic-gutenprint', 'foomatic', 'cups', 'generic-postscript', 'generic-foomatic-recommended', 'generic-pcl6', 'generic-pcl5e', 'generic-pcl5', 'generic-pcl', 'generic-escp', 'ghostscript', 'generic', 'foomatic-recommended-hpijs', 'hpijs', 'foomatic-hpijs', 'hpcups-plugin', 'hpijs-plugin', 'turboprint']
PPDs with assigned driver types in priority order: [('generic', 'drv:///cupsfilters.drv/textonly.ppd')]
Resulting PPD list in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
PPDs in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
Valid driver types for this printer in priority order: ['manufacturer-cmd', 'foomatic-recommended-nonpostscript', 'manufacturer-ricoh-ps', 'manufacturer-ricoh-pxl', 'manufacturer', 'pdf', 'foomatic-recommended-postscript', 'hpcups', 'splix', 'foomatic-postscript', 'gutenprint-simplified', 'gutenprint-expert', 'foomatic-gutenprint', 'foomatic', 'cups', 'generic-postscript', 'generic-foomatic-recommended', 'generic-pcl6', 'generic-pcl5e', 'generic-pcl5', 'generic-pcl', 'generic-escp', 'ghostscript', 'generic', 'foomatic-recommended-hpijs', 'hpijs', 'foomatic-hpijs', 'hpcups-plugin', 'hpijs-plugin', 'turboprint']
PPDs with assigned driver types in priority order: [('manufacturer', 'drv:///cupsfilters.drv/textonly.ppd')]
Resulting PPD list in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
nextNPTab: No exact driver match, querying OpenPrinting
nextNPTab: Searching for "MFG:KONICA MINOLTA;MDL:423 Series;CMD:PS;"
Starting
OpenPrinting: Init ('fr_BE', 'UTF-8') 1 0
+<cupshelpers.openprinting.OpenPrinting object at 0x7f2ab97aff60>
+<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>
<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>: searchPrinters()
searchPrinters: Querying OpenPrinting: {'printer': 'MFG:KONICA MINOLTA;MDL:423 Series;CMD:PS;', 'type': 'printers', 'format': 'xml'}
+<_QueryThread(Thread-4, initial daemon)>
-<ppdsloader.PPDsLoader object at 0x7f2ab87d5c18 (ppdsloader+PPDsLoader at 0x31ff920)>
-<asyncconn.Connection object at 0x7f2ab91bf1d0>
DESTROY: <asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>
-<asyncconn._AsyncMethodCall object at 0x7f2ab90271d0>
-<asyncpk1.PK1Connection object at 0x7f2ab9021240>
-_PK1AsyncMethodCall: <asyncpk1._PK1AsyncMethodCall object at 0x7f2ab97afa58>
-<asyncipp.IPPAuthConnection object at 0x7f2ab87da2b0>
-<_IPPConnectionThread(Thread-3, stopped daemon 139821209184000)>
<_QueryThread(Thread-4, started daemon 139821209184000)>: query complete
searchPrinters/parse_result: OpenPrinting entries: {'Generic-PostScript_Printer': 'Generic PostScript Printer', 'Generic-PostScript_Level_1_Printer': 'Generic PostScript Level 1 Printer'}
<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>: Querying drivers for Generic-PostScript_Level_1_Printer
listDrivers: Querying OpenPrinting: {'onlyppdfiles': '1', 'printer': 'Generic-PostScript_Level_1_Printer', 'onlynewestdriverpackages': '1', 'format': 'xml', 'architectures': 'x86_64', 'noobsoletes': '1', 'showprinterid': '1', 'type': 'drivers', 'onlymanufacturer': '0', 'moreinfo': '1', 'onlyfree': '1'}
+<_QueryThread(Thread-5, initial daemon)>
-<_QueryThread(Thread-4, started daemon 139821209184000)>
<_QueryThread(Thread-5, started daemon 139821225969408)>: query complete
<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>: Querying drivers for Generic-PostScript_Printer
listDrivers: Querying OpenPrinting: {'onlyppdfiles': '1', 'printer': 'Generic-PostScript_Printer', 'onlynewestdriverpackages': '1', 'format': 'xml', 'architectures': 'x86_64', 'noobsoletes': '1', 'showprinterid': '1', 'type': 'drivers', 'onlymanufacturer': '0', 'moreinfo': '1', 'onlyfree': '1'}
+<_QueryThread(Thread-6, initial daemon)>
-<_QueryThread(Thread-5, started daemon 139821225969408)>
<_QueryThread(Thread-6, started daemon 139821209184000)>: query complete
<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>: All printer driver queries finished
<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)> -> 'finished'
Next clicked on page 1

KONICA MINOLTA 423 Series
Trying make/model names
mfgl: konica minolta
mdll: 423 series
make: KONICA MINOLTA
re-split mdll: 423
Trying best match
PagePro 1400W <= 423 <= 500/420/360PS(P)
Searching for model ID '423', '%d' % 423
Ignoring 0 of 3 digits, trying 423
Ignoring 1 of 3 digits, trying 423
Ignoring 2 of 3 digits, trying 423
Checking CMD field
'textonly.ppd' fallback
No ID match for device dnssd://KONICA%20MINOLTA%20bizhub%20223(7E%3A80%3A64)._pdl-datastream._tcp.local/:
MFG:KONICA MINOLTA;MDL:423 Series;CMD:PS;
Suitable PPDs found: {'drv:///cupsfilters.drv/textonly.ppd': 'none'}
Valid driver types for this printer in priority order: ['manufacturer-cmd', 'foomatic-recommended-nonpostscript', 'manufacturer-ricoh-ps', 'manufacturer-ricoh-pxl', 'manufacturer', 'pdf', 'foomatic-recommended-postscript', 'hpcups', 'splix', 'foomatic-postscript', 'gutenprint-simplified', 'gutenprint-expert', 'foomatic-gutenprint', 'foomatic', 'cups', 'generic-postscript', 'generic-foomatic-recommended', 'generic-pcl6', 'generic-pcl5e', 'generic-pcl5', 'generic-pcl', 'generic-escp', 'ghostscript', 'generic', 'foomatic-recommended-hpijs', 'hpijs', 'foomatic-hpijs', 'hpcups-plugin', 'hpijs-plugin', 'turboprint']
PPDs with assigned driver types in priority order: [('generic', 'drv:///cupsfilters.drv/textonly.ppd')]
Resulting PPD list in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
PPDs in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
Valid driver types for this printer in priority order: ['manufacturer-cmd', 'foomatic-recommended-nonpostscript', 'manufacturer-ricoh-ps', 'manufacturer-ricoh-pxl', 'manufacturer', 'pdf', 'foomatic-recommended-postscript', 'hpcups', 'splix', 'foomatic-postscript', 'gutenprint-simplified', 'gutenprint-expert', 'foomatic-gutenprint', 'foomatic', 'cups', 'generic-postscript', 'generic-foomatic-recommended', 'generic-pcl6', 'generic-pcl5e', 'generic-pcl5', 'generic-pcl', 'generic-escp', 'ghostscript', 'generic', 'foomatic-recommended-hpijs', 'hpijs', 'foomatic-hpijs', 'hpcups-plugin', 'hpijs-plugin', 'turboprint']
PPDs with assigned driver types in priority order: [('manufacturer', 'drv:///cupsfilters.drv/textonly.ppd')]
Resulting PPD list in priority order: ['drv:///cupsfilters.drv/textonly.ppd']
ID matched PPDs: ['drv:///cupsfilters.drv/textonly.ppd']
Will fetch ppd? 0
Will advance to page 2
-<_QueryThread(Thread-6, started daemon 139821209184000)>
-<OpenPrintingRequest.OpenPrintingRequest object at 0x7f2a89019e10 (OpenPrintingRequest+OpenPrintingRequest at 0x32fc520)>
-<cupshelpers.openprinting.OpenPrinting object at 0x7f2ab97aff60>

Bubble help config option

I'm using the system-config-printer in version 1.4.8 and I cannot build 1.5.11 on RHEL to test if this feature is already implemented:

When I have the applet open, in the status bar, I see the printjobs from my printer, but unfortunately this is a departement printer an I see all printjobs, which gets more and more disturbing over weeks.

Is it possible to make the bubble help configurable?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.