All of lore.kernel.org
 help / color / mirror / Atom feed
* [Printing-architecture] CUPS and PPD
       [not found] <1404294158.28244.1.camel@pascal.home.net>
@ 2017-12-13 17:08 ` Pascal Obry
  2017-12-13 17:48   ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-13 17:08 UTC (permalink / raw)
  To: printing-architecture


Hello!

I'm not sure this is the right list, if not please let me know.

I've seen that the CUPS PPD API is being deprecated, so I'm trying to
move away from it.

But for the MediaType list I cannot find a way without PPD API.
Currently the code is something like:


  const char *PPDFile = cupsGetPPD(printer_name);
  ppd_file_t *ppd = ppdOpenFile(PPDFile);

  if (ppd)
  {
      ppd_option_t *opt = ppdFindOption(ppd, "MediaType");

      if (opt)
      {
        ppd_choice_t *choice = opt->choices;

        for (int k=0; k<opt->num_choices; k++)
        {
          ... use choice->text here ...


What would be the equivalent without using the PPD API?

Any pointer appreciated as I've not found a solution at this stage. I'm
sure I'm just missing something obvious...

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 17:08 ` [Printing-architecture] CUPS and PPD Pascal Obry
@ 2017-12-13 17:48   ` Michael Sweet
  2017-12-13 18:32     ` Pascal Obry
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Sweet @ 2017-12-13 17:48 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

[-- Attachment #1: Type: text/plain, Size: 1841 bytes --]

Pascal,

The CUPS destination API is the replacement, specifically the cupsGetDestMedia* functions.  The current CUPS Programming Manual shows how to use it.

FWIW, media type, size, and source are combined with the new API and the typical usage is to show the ready (loaded) media.  You can also look for the supported "media-type" values with the cupsDestFindSupported function, in order to specify it separately.


> On Dec 13, 2017, at 12:08 PM, Pascal Obry <pascal@obry.net> wrote:
> 
> 
> Hello!
> 
> I'm not sure this is the right list, if not please let me know.
> 
> I've seen that the CUPS PPD API is being deprecated, so I'm trying to
> move away from it.
> 
> But for the MediaType list I cannot find a way without PPD API.
> Currently the code is something like:
> 
> 
>  const char *PPDFile = cupsGetPPD(printer_name);
>  ppd_file_t *ppd = ppdOpenFile(PPDFile);
> 
>  if (ppd)
>  {
>      ppd_option_t *opt = ppdFindOption(ppd, "MediaType");
> 
>      if (opt)
>      {
>        ppd_choice_t *choice = opt->choices;
> 
>        for (int k=0; k<opt->num_choices; k++)
>        {
>          ... use choice->text here ...
> 
> 
> What would be the equivalent without using the PPD API?
> 
> Any pointer appreciated as I've not found a solution at this stage. I'm
> sure I'm just missing something obvious...
> 
> Thanks,
> 
> -- 
>  Pascal Obry /  Magny Les Hameaux (78)
> 
>  The best way to travel is by means of imagination
> 
>  http://www.obry.net
> 
>  gpg --keyserver keys.gnupg.net --recv-key F949BD3B
> _______________________________________________
> Printing-architecture mailing list
> Printing-architecture@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/printing-architecture

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


[-- Attachment #2: Type: text/html, Size: 4563 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 17:48   ` Michael Sweet
@ 2017-12-13 18:32     ` Pascal Obry
  2017-12-13 18:38       ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-13 18:32 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture

Hello Michael,

Thanks for the quick response!

> You can also
> look for the supported "media-type" values with the
> cupsDestFindSupported function, in order to specify it separately.

That's why I was looking for :)

Still a little issue. With the following code:

        ipp_attribute_t *attr = cupsFindDestSupported(hcon, dest, info, "media-type");

        if (attr)
        {
          for (int k=0; k<ippGetCount(attr); k++)
          {
            printf ("   %s\n", ippGetString(attr, k, NULL));

I can list the supported paper, but as code:

   stationery
   epson-inkjet-paper--5
   epson-matte-heavy-archival--5
   fineart-paper-smooth--5
   epson-photo-glossy--5
   epson-premium-glossy-luster--5
   epson-proof-satin--5
   transparency
   kodak-premium--5
   ilford-omnijet--5
   fuji-premium-photo--5
   tetenal-photo-quality-glossy-matte--5
   custom-1002--5

The last one is in fact "Canson Infinity Baryta". How can I retrieve
this human readable name?

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 18:32     ` Pascal Obry
@ 2017-12-13 18:38       ` Michael Sweet
  2017-12-13 19:12         ` Pascal Obry
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Sweet @ 2017-12-13 18:38 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

[-- Attachment #1: Type: text/plain, Size: 1621 bytes --]

cupsLocalizeDestOption will give you the localized string, if the printer supplies one.

(but prior to CUPS 2.3 you need to connect to the device/printer to get the localized string for vendor-specific names...)


> On Dec 13, 2017, at 1:32 PM, Pascal Obry <pascal@obry.net> wrote:
> 
> Hello Michael,
> 
> Thanks for the quick response!
> 
>> You can also
>> look for the supported "media-type" values with the
>> cupsDestFindSupported function, in order to specify it separately.
> 
> That's why I was looking for :)
> 
> Still a little issue. With the following code:
> 
>        ipp_attribute_t *attr = cupsFindDestSupported(hcon, dest, info, "media-type");
> 
>        if (attr)
>        {
>          for (int k=0; k<ippGetCount(attr); k++)
>          {
>            printf ("   %s\n", ippGetString(attr, k, NULL));
> 
> I can list the supported paper, but as code:
> 
>   stationery
>   epson-inkjet-paper--5
>   epson-matte-heavy-archival--5
>   fineart-paper-smooth--5
>   epson-photo-glossy--5
>   epson-premium-glossy-luster--5
>   epson-proof-satin--5
>   transparency
>   kodak-premium--5
>   ilford-omnijet--5
>   fuji-premium-photo--5
>   tetenal-photo-quality-glossy-matte--5
>   custom-1002--5
> 
> The last one is in fact "Canson Infinity Baryta". How can I retrieve
> this human readable name?
> 
> Thanks,
> 
> -- 
>  Pascal Obry /  Magny Les Hameaux (78)
> 
>  The best way to travel is by means of imagination
> 
>  http://www.obry.net
> 
>  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


[-- Attachment #2: Type: text/html, Size: 4390 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 18:38       ` Michael Sweet
@ 2017-12-13 19:12         ` Pascal Obry
  2017-12-13 19:57           ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-13 19:12 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture

Hi Michael,

> cupsLocalizeDestOption will give you the localized string, if the
> printer supplies one.

Ok.

> (but prior to CUPS 2.3 you need to connect to the device/printer to
> get the localized string for vendor-specific names...)

I see, but now using: 

      http_t *hcon = cupsConnectDest(dest, CUPS_DEST_FLAGS_DEVICE, 2000, &cancel, resource, sizeof(resource), NULL, (void *)NULL);

Makes attr null in the following code:

      ipp_attribute_t *attr = cupsFindDestSupported(hcon, dest, info, "media-type");


With CUPS_DEST_FLAGS_NONE I can list media.

I'm on CUPS 2.2.6.

Any idea?

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 19:12         ` Pascal Obry
@ 2017-12-13 19:57           ` Michael Sweet
  2017-12-13 20:25             ` Pascal Obry
  2017-12-13 22:31             ` Pascal Obry
  0 siblings, 2 replies; 14+ messages in thread
From: Michael Sweet @ 2017-12-13 19:57 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

[-- Attachment #1: Type: text/plain, Size: 1386 bytes --]

Pascal,

First, make sure you've gotten a copy of the attributes from the device with cupsCopyDestInfo.

Second, make sure your printer actually reports the media types separately; the following command will show:

    ipptool -tv PRINTER-URI get-printer-attributes.test | grep media-type-supported

(the CUPS media APIs help insulate you from dealing with these things BTW...)


> On Dec 13, 2017, at 2:12 PM, Pascal Obry <pascal@obry.net> wrote:
> 
> Hi Michael,
> 
>> cupsLocalizeDestOption will give you the localized string, if the
>> printer supplies one.
> 
> Ok.
> 
>> (but prior to CUPS 2.3 you need to connect to the device/printer to
>> get the localized string for vendor-specific names...)
> 
> I see, but now using: 
> 
>      http_t *hcon = cupsConnectDest(dest, CUPS_DEST_FLAGS_DEVICE, 2000, &cancel, resource, sizeof(resource), NULL, (void *)NULL);
> 
> Makes attr null in the following code:
> 
>      ipp_attribute_t *attr = cupsFindDestSupported(hcon, dest, info, "media-type");
> 
> 
> With CUPS_DEST_FLAGS_NONE I can list media.
> 
> I'm on CUPS 2.2.6.
> 
> Any idea?
> 
> -- 
>  Pascal Obry /  Magny Les Hameaux (78)
> 
>  The best way to travel is by means of imagination
> 
>  http://www.obry.net
> 
>  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


[-- Attachment #2: Type: text/html, Size: 3847 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 19:57           ` Michael Sweet
@ 2017-12-13 20:25             ` Pascal Obry
  2017-12-13 22:31             ` Pascal Obry
  1 sibling, 0 replies; 14+ messages in thread
From: Pascal Obry @ 2017-12-13 20:25 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture

Michael,

> First, make sure you've gotten a copy of the attributes from the
> device with cupsCopyDestInfo.

Right, this is done on my code.

> Second, make sure your printer actually reports the media types
> separately; the following command will show:
> 
>     ipptool -tv PRINTER-URI get-printer-attributes.test | grep media-
> type-supported

$ ipptool -tv http://localhost:631/printers/Epson_Stylus_Pro_3880 get-printer-attributes.test | grep media-type-supported
        media-type-supported (1setOf keyword) =
stationery,postcard,photographic-glossy,transparency,envelope,back-
film,photographic-matte,matte-heavy,stationery-inkjet,stationery-
coated,photo,photographic-glossy,semigloss,luster,archival-matte,water-
color-radiant,photographic-glossy,ilford,color-life,other

> (the CUPS media APIs help insulate you from dealing with these things
> BTW...)

I'm certainly missing some information here. I've only worked with the
PPD API, so all this is new to me and I do not find lot of
documentation around.

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 19:57           ` Michael Sweet
  2017-12-13 20:25             ` Pascal Obry
@ 2017-12-13 22:31             ` Pascal Obry
  2017-12-14 10:57               ` Pascal Obry
  1 sibling, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-13 22:31 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture

Hello Michael,

Making progress, I just found out that I can retrieve the attributes
when using cupsGetDestWithURI() but not cupsGetDests() and
cupsGetDest() if CUPS_DEST_FLAGS_DEVICE is used.

That is:

    cups_dest_t *dests;
    int num_dests = cupsGetDests(&dests);
    cups_dest_t *dest = cupsGetDest(printer_name, NULL, num_dests, dests);

Does not work, as reported previously cupsFindDestSupported returns
null. But I can list attributes with:

    cups_dest_t *dest = cupsGetDestWithURI(NULL, printer_uri);

Yet, the localized is still not working. So I'm not sure how to move
away from PPD API for media-type. This is quite important to have the
proper paper names listed here.

I have tried for an Epson 3880 with the gutenprint driver or the
turboprint driver. Do you see something I'm missing?

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-13 22:31             ` Pascal Obry
@ 2017-12-14 10:57               ` Pascal Obry
  2017-12-14 15:29                 ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-14 10:57 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

Hello Michael,

Sorry to bother you again with this. But now I'm not sure we are talking
about the same thing. The get cupsLocalizeDestValue() is to handle the
translation in different language I suppose, but what I want is to get the
"text" field for a *MediaType line.

With the PPD API one could do:

    ppd_option_t *opt = ppdFindOption(ppd, "MediaType");

    if (opt)
      {
        ppd_choice_t *choice = opt->choices;

        for (int k=0; k<opt->num_choices; k++)
          {
            printf ("PPD: media type %s | %s\n", choice->choice,
choice->text);
            choice++;
          }

And the choice->choice above is "Luster" in "Luster/Premium Luster Photo
Paper" (see PPD def just below) and choice->text is the second part (human
readable string) after the / so "Premium Luster Photo Paper".

   *MediaType Luster/Premium Luster Photo Paper:
"<</MediaType(Luster)>>setpagedevice"

And what I'm looking for is a way to get the human readable part without
resorting on the PPD API. I've tried many things, but fails to get this
value.

Is that possible without the PPD API?

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://photos.obry.net
  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

[-- Attachment #2: Type: text/html, Size: 2014 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and PPD
  2017-12-14 10:57               ` Pascal Obry
@ 2017-12-14 15:29                 ` Michael Sweet
  2017-12-30 14:40                   ` [Printing-architecture] CUPS and Borderless Pascal Obry
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Sweet @ 2017-12-14 15:29 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

[-- Attachment #1: Type: text/plain, Size: 2195 bytes --]

Pascal,

The cupsLocalizeDestValue API is there to get the equivalent of the PPD choice text field.  However, for a driver-based queue we currently do not generate the strings file (being tracked by Issue #5194) so unless it is a standard choice you'll just get the unlocalized (US english) keyword string.

FWIW, I think it would be useful for you to do development with a printer that actually supports IPP, if for any other reason to see where things are going and the functionality that is available on a modern printer without additional driver software...


> On Dec 14, 2017, at 5:57 AM, Pascal Obry <pascal@obry.net> wrote:
> 
> Hello Michael,
> 
> Sorry to bother you again with this. But now I'm not sure we are talking about the same thing. The get cupsLocalizeDestValue() is to handle the translation in different language I suppose, but what I want is to get the "text" field for a *MediaType line.
> 
> With the PPD API one could do:
> 
>     ppd_option_t *opt = ppdFindOption(ppd, "MediaType");
> 
>     if (opt)
>       {
>         ppd_choice_t *choice = opt->choices;
> 
>         for (int k=0; k<opt->num_choices; k++)
>           {
>             printf ("PPD: media type %s | %s\n", choice->choice, choice->text);
>             choice++;
>           }
> 
> And the choice->choice above is "Luster" in "Luster/Premium Luster Photo Paper" (see PPD def just below) and choice->text is the second part (human readable string) after the / so "Premium Luster Photo Paper".
> 
>    *MediaType Luster/Premium Luster Photo Paper:    "<</MediaType(Luster)>>setpagedevice"
> 
> And what I'm looking for is a way to get the human readable part without resorting on the PPD API. I've tried many things, but fails to get this value.
> 
> Is that possible without the PPD API?
> 
> Thanks,
> 
> -- 
>   Pascal Obry /  Magny Les Hameaux (78)
> 
>   The best way to travel is by means of imagination
> 
>   http://photos.obry.net <http://photos.obry.net/>
>   http://www.obry.net <http://www.obry.net/>
> 
>   gpg --keyserver keys.gnupg.net <http://keys.gnupg.net/> --recv-key F949BD3B

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


[-- Attachment #2: Type: text/html, Size: 5232 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and Borderless
  2017-12-14 15:29                 ` Michael Sweet
@ 2017-12-30 14:40                   ` Pascal Obry
  2018-01-01  2:33                     ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2017-12-30 14:40 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture


Hello Michael,

I'm wondering what is the solution to check, using the CUPS IPP API, if
a printer does support borderless printing?

Is that with cupsGetDestMediaByIndex(..., &size)? Where in size we have
for a given paper left, top, bottom and right set to 0?

Thanks,

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and Borderless
  2017-12-30 14:40                   ` [Printing-architecture] CUPS and Borderless Pascal Obry
@ 2018-01-01  2:33                     ` Michael Sweet
  2018-01-01  9:19                       ` Pascal Obry
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Sweet @ 2018-01-01  2:33 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

Pascal,

You can use the cupsGetDestMedia* APIs with the CUPS_MEDIA_FLAGS_BORDERLESS flags value.


> On Dec 30, 2017, at 9:40 AM, Pascal Obry <pascal@obry.net> wrote:
> 
> 
> Hello Michael,
> 
> I'm wondering what is the solution to check, using the CUPS IPP API, if
> a printer does support borderless printing?
> 
> Is that with cupsGetDestMediaByIndex(..., &size)? Where in size we have
> for a given paper left, top, bottom and right set to 0?
> 
> Thanks,
> 
> -- 
>  Pascal Obry /  Magny Les Hameaux (78)
> 
>  The best way to travel is by means of imagination
> 
>  http://www.obry.net
> 
>  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and Borderless
  2018-01-01  2:33                     ` Michael Sweet
@ 2018-01-01  9:19                       ` Pascal Obry
  2018-01-02  3:44                         ` Michael Sweet
  0 siblings, 1 reply; 14+ messages in thread
From: Pascal Obry @ 2018-01-01  9:19 UTC (permalink / raw)
  To: Michael Sweet; +Cc: printing-architecture


Michael,

> You can use the cupsGetDestMedia* APIs with the
> CUPS_MEDIA_FLAGS_BORDERLESS flags value.

I tried that already, but when using CUPS_MEDIA_FLAGS_BORDERLESS for
the Epson 3880 gutenprint driver I get 0 media.

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Printing-architecture] CUPS and Borderless
  2018-01-01  9:19                       ` Pascal Obry
@ 2018-01-02  3:44                         ` Michael Sweet
  0 siblings, 0 replies; 14+ messages in thread
From: Michael Sweet @ 2018-01-02  3:44 UTC (permalink / raw)
  To: Pascal Obry; +Cc: printing-architecture

Pascal,

Make sure you are testing with the latest CUPS code - I've fixed a bunch of bugs in the media code, particularly with the Gutenprint PPDs.


> On Jan 1, 2018, at 4:19 AM, Pascal Obry <pascal@obry.net> wrote:
> 
> 
> Michael,
> 
>> You can use the cupsGetDestMedia* APIs with the
>> CUPS_MEDIA_FLAGS_BORDERLESS flags value.
> 
> I tried that already, but when using CUPS_MEDIA_FLAGS_BORDERLESS for
> the Epson 3880 gutenprint driver I get 0 media.
> 
> -- 
>  Pascal Obry /  Magny Les Hameaux (78)
> 
>  The best way to travel is by means of imagination
> 
>  http://www.obry.net
> 
>  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

_________________________________________________________
Michael Sweet, Senior Printing System Engineer


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-01-02  3:44 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1404294158.28244.1.camel@pascal.home.net>
2017-12-13 17:08 ` [Printing-architecture] CUPS and PPD Pascal Obry
2017-12-13 17:48   ` Michael Sweet
2017-12-13 18:32     ` Pascal Obry
2017-12-13 18:38       ` Michael Sweet
2017-12-13 19:12         ` Pascal Obry
2017-12-13 19:57           ` Michael Sweet
2017-12-13 20:25             ` Pascal Obry
2017-12-13 22:31             ` Pascal Obry
2017-12-14 10:57               ` Pascal Obry
2017-12-14 15:29                 ` Michael Sweet
2017-12-30 14:40                   ` [Printing-architecture] CUPS and Borderless Pascal Obry
2018-01-01  2:33                     ` Michael Sweet
2018-01-01  9:19                       ` Pascal Obry
2018-01-02  3:44                         ` Michael Sweet

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.