Functional specification
43
CDE/Motif PST
CDEnext
replaced with
pool
. For
XPAttrMerge
,
pool
is merged into the existing attribute pool; pre-existing
name-value pairs are replaced, and non-existing name-value pairs are added. The contents of
pool
is not
affected by this call, and can be freed by the caller afterwords.
The values for the typedef
XPAttributes
in
<X11/extensions/Print.h>
are:
#define XPJobAttr
1
/* get/set */
#define XPDocAttr
2
/* get/set */
#define XPPageAttr
3
/* get/set - subset of XPDocAttr */
#define XPPrinterAttr
4
/* get only (library) */
#define XPServerAttr
5
/* get only (library), no context needed */
The values for the typedef
XPAttrReplacement
in
<X11/extensions/Print.h>
are:
#define XPAttrReplace
1
#define XPAttrMerge
2
For attribute pools that are read-write (see "get/set" in
XPAttributes
definition), there exists in the
XPPrinterAttr
attribute pool an attribute for each and every read-write pool that shows all supported
(settable) attributes. For example, in the
XPPrinterAttr
attribute pool can be found the attributes:
job-attributes-supported
,
document-attributes-supported
and
xp-page-
attributes-supported
.
When setting supported attribute names, the X Print Server and associated driver will validate the new
values and ignore those that are invalid - pre-existing values remain. When setting unsupported (i.e,
unknown) attribute names, no validation is done, and the name-value pairs will be set, even though they
will not be used. When deleting (i.e. failing to reset with XPAttrReplace) a supported attribute name, the
X Print Server may respond by explicitly re-setting the attribute name with a default value, or may
implicitly rely on an internal default without re-setting the attribute.
When setting certain supported attributes, the X Print Server and associated driver may choose to modify
other associated attributes. For example, considering the
XPPrinterAttr
attribute
document-
formats-supported
, setting the
XPDocAttr
attribute
document-format
may cause a number of
other attributes to change.
For attribute pools that are read-only (see "get only" in
XPAttributes
definition), attempting to use
XpSetAttributes
generates a
BadMatch
. The X Print Server however is capable of modifying any
attribute pool at any time, including those that are read-only for a client.
The lifetime of all attribute pools are bounded by the lifetime of the print context they are contained in.
When set, all attribute values will "stick" across all Xp operations, until changed by the user directly, the X
Print Server directly, or changed because of a side effect when either the user or X Print Server changed
another attribute value.
For a complete description of all print attributes, the precedence between print attributes, and the "side
effects" of setting certain print attributes on other print attributes, etc, See "X Print Service Attributes" on
page 97.