Open eloquence opened 5 years ago
I have excluded kprinter4
, the KDE printing utility available in Ubuntu 18.04, because a) I was not able to get it to actually run, b) the dependencies likely make it prohibitive to install.
Another option that I think is worth considering, however, is to create a very lightweight wrapper around GTK's printing dialog, in combination with the Poppler PDF library or a PostScript library. I was able to use this example code to print PDFs with the GTK dialogs. Here are the GTK dialogs for comparison with the above front-ends, including an example of a preview:
If we used this option, we'd have to "just" find a way to convert every supported file format to PDF prior to printing, but we're already doing some processing to get files to work with lpr
.
NB: I would argue that all the above choices, with the possible exception of gpr
, satisfy the must-have requirements for a first iteration:
I did not find a print quality option in gpr
, but it's possible that this is available in the printer options when a PPD printer is configured. In terms of aesthetics and usability, I think the GTK dialogs are clearly preferable to all other options, using clearer labeling, sensible font and color choices, and making the most common choices (e.g., page range selection) immediately available. It's also most similar to printer dialogs on other operating systems and applications.
We should discuss this soon. The UI of the current xpp
is really bad and I could not find any preview option.
Update from 2022-08-11 review with @tina-ux @nathandyer @l3th3 @eloquence @zenmonkeykstop:
xpp
in the closed beta.Still an open issue - we have added xpp
to our bookworm apt repo to make it available for 4.2, but it should get replaced.
I got the chance to talk to the lead maintainer of OpenPrinting. I found out that XPP as the front-end in fact does very little. All that it does is surface to the user the printer and document options. CUPS does the remaining processing. However, as we know, some formats CUPS cannot understand. That's why we're already converting LibreOffice files to PDF (which is exactly what the LibreOffice print dialogue does before sending it to cups).
GTK dialogs based on simple Python script using GLib, Gtk, and Poppler
I couldn't find any minimally modern-looking print dialogues, so if this dialogue minimally satisfies our needs, it could be a way to go, if we end up going with the "simply replace XPP approach" (which may only be a temporary solution).
But it is not as complicated as I was originally thinking since it doesn't actually require implementing non-PDF file converters. (CC @zenmonkeykstop).
The current proof-of-concept printing implementation in freedomofpress/securedrop-workstation#277 uses
xpp
as a printer front-end. We should compare this with other front-end options in terms of:and then make a final decision about what front-end to use for the beta.