All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Uebernickel <larsuebernickel@gmx.de>
To: printing-architecture@lists.linux-foundation.org
Subject: Re: [Printing-architecture] Coding the Common Printing Dialog and its interface
Date: Thu, 01 May 2008 18:33:53 +0200	[thread overview]
Message-ID: <4819F0F1.6050307@gmx.de> (raw)
In-Reply-To: <481101A3.6030700@gmail.com>

> 2. Interface between application and dialog. On the OpenPrinting Meeting
>    on the LF Summit in Austin we have discussed what the application has
>    to communicate with the printing dialog. It looks more or less like
>    this:
> 
>     - User clicks "Print": Application generates PDF from the document
>       and sends it to the dialog, along with the list of
>       application-specific options (all choices, ranges, icons, ...) and
>       their settings, application-specific constraints for the printer
>       or CUPS options, printer option settings and queue selection which
>       were saved with the document, window ID of the application (to
>       inform app when dialog gets killed).

What kinds of constraints for the options do you have in mind? And how 
could these be communicated to the dialog?


>     - Dialog loads list of print queues from CUPS, options for the
>       currently selected queue, and shows the PDF in the preview and the
>       quick selection buttons of the current printer. The dialog reports
>       its window ID back to the app.
>     - If user changes application-specific options, new settings are
>       reported back to the app immediately and app sends new, updated
>       PDF.
>     - If user changes printer-specific options, CUPS options, or the
>       print queue, nothing is reported back to the app. The preview
>       gets updated.
>     - If user clicks "Print" in the dialog, the PDF as it is currently
>       is sent off into the print queue, along with a list of the
>       settings for the CUPS options and the printer-specific options.
>       The choice of the queue, the CUPS option settings and the settings
>       of the printer-specific options are reported back to the
>       application, so that the application can save them with the
>       document to be used on the next printout.
> 
>    Suggested data formats and wire protocols:
> 
>     - Use DBUS for exchanging data between the app process and the
>       dialog process.
>     - Everything except the PDF data stream goes through the DBUS, for
>       the PDF data stream we use sockets.
>     - The application specific options and constraints with all choices,
>       tags, icons, can be submitted in PPD format, using the PPD
>       extensions of spec 1.

Not all application developers know about PPDs. To save them the hassle 
of reading the (really long) spec and the CUPS and OpenPrinting 
extensions, I propose to provide a simpler API for adding application 
specific options to the dialog. This would fit nicely into the dialog's 
DBUS API.

If necessary, we can additionally allow the PPD format.

>     - Option setting lists can be exchanged as simple key-value pairs
>       ("opt1=choiceA opt2=choiceC ...")
>     - Print queue choice and window ID can be exchanged as simple ASCII
>     - If ASCII text pieces are too big, exchange them gzipped
> 


  parent reply	other threads:[~2008-05-01 16:33 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-24 21:54 [Printing-architecture] Coding the Common Printing Dialog and its interface Till Kamppeter
2008-04-25  1:19 ` Marcelo Ricardo Leitner
2008-04-25 11:51   ` Till Kamppeter
2008-04-25 23:07     ` Marcelo Ricardo Leitner
2008-04-27 11:05       ` Till Kamppeter
2008-05-01 15:46         ` Lars Uebernickel
2008-05-01 17:05           ` Till Kamppeter
2008-05-01 17:51             ` Lars Uebernickel
2008-05-01 17:59               ` Till Kamppeter
2008-04-30 18:33 ` Till Kamppeter
2008-04-30 20:12   ` Alex Wauck
2008-04-30 20:40     ` Till Kamppeter
2008-05-01 15:44     ` Alex Wauck
2008-05-01 16:58       ` Till Kamppeter
2008-05-01 23:48         ` Olaf Meeuwissen
2008-05-02  3:17           ` Alex Wauck
2008-05-02  5:59             ` Olaf Meeuwissen
2008-05-04 11:06               ` peter sikking
2008-05-05  6:17         ` Josef Spillner
2008-05-01 16:33 ` Lars Uebernickel [this message]
2008-05-01 17:57   ` Till Kamppeter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4819F0F1.6050307@gmx.de \
    --to=larsuebernickel@gmx.de \
    --cc=printing-architecture@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.