If a client uses PPD option ColorModel (which is converted into
attribute to be sent via IPP) for changing the default color option
(which happens via CUPS-Add-Modify-Printer operation), we have to
convert ColorModel into print-color-mode attribute, so the
print-color-mode-default attribute gets updated.
The change survives reboot because print-color-mode is saved as an
option in printer's entry in /etc/cups/printers.conf.
set_device_uri = 0;
+ if ((attr = ippFindAttribute(con->request, "ColorModel", IPP_TAG_NAME)) != NULL)
+ {
+ const char * keyword = NULL;
+
+ if (!strcmp(attr->values[0].string.text, "FastGray") || !strcmp(attr->values[0].string.text, "Gray") || !strcmp(attr->values[0].string.text, "DeviceGray"))
+ keyword = "monochrome";
+ else
+ keyword = "color";
+
+ printer->num_options = cupsAddOption("print-color-mode", keyword, printer->num_options, &printer->options);
+ }
+
if ((attr = ippFindAttribute(con->request, "device-uri",
IPP_TAG_URI)) != NULL)
{