One of the new features in system-config-printer-1.3 is that various dialogs are can now be invoked using D-Bus. The details of this are in the file scp-dbus-service.py but here is a summary.
The general idea is that new instances of the New Printer and Printer Properties dialogs, as well as a single instance of the Job Applet, can be requested, and these are given their own object paths. Each has its own simple interface.
In this way, it would be fairly easy for an application to present a dialog for adjusting the printer properties for a queue, and also for starting a job applet.
Here are some more details:
Bus name: org.fedoraproject.Config.Printing
Object path: /org/fedoraproject/Config/Printing
Interface: org.fedoraproject.Config.Printing
Method NewPrinterDialog
Creates a new instance of the New Printer dialog and returns its object path.
Method PrinterPropertiesDialog
Creates a new instance of the Printer Properties dialog for a given printer name and returns its object path.
Method JobApplet
If a Job Applet (system tray icon) instance is already active, returns its object path; otherwise creates a new one and returns its object path.
Interface: org.fedoraproject.Config.Printing.NewPrinterDialog
Method NewPrinterFromDevice
Show a dialog for creating a new printer, given a device URI and an IEEE 1284 Device ID.
Method ChangePPD
Show a dialog for changing the PPD for an existing printer.
Signal PrinterAdded
The printer has now been added.
Signal PrinterModified
The PPD has now been changed.
Signal DialogCanceled
The dialog has been cancelled by the user.
Interface: org.fedoraproject.Config.Printing.PrinterPropertiesDialog
Method PrintTestPage
Print a test page to this printer.
Signal Finished
The dialog has now closed.
Interface: org.fedoraproject.Config.Printing.JobViewer
Method Quit
Stops the applet.
Signal Finished
The applet is no longer running.
Comments
One response to “Using system-config-printer from D-Bus”
[…] « Using system-config-printer from D-Bus […]