background image
Functional specification
63
CDE/Motif PST
CDEnext
PDM_EXIT_ERROR
The PDM encountered an error. If the PDM supports logging of
error messages, an error message could have been logged. This
return code should only be used if the PDM cannot restore the
printer attributes and return a synthetic
PDM_EXIT_CANCEL
.
3.4
PDM_MBOX Selection Target
Clients hoping to start a PDM using the
PDM_START
target may have to first transfer display authorization
information to the PDM, as the PDM will have to establish a display connection on the Video X-Server. Use of this
target requires two phases to complete.
Phase 1 consists of a
SelectionRequest
and
SelectionNotify
on the
PDM_MBOX
target, and results in
the PDM allocating a "mailbox window" for the client. Phase 2 consists of the client using multiple
ClientMessages
to "mail" display authorization information (see
Xauth(1)
) to the mailbox window, thus
transfering to the PDM authorization information that it may need to establish a connection to the Video X-Server.
Phase 1 starts when the client creates the following:
requestor
A client owned window that will act as the selection requestor, and will
hold
property
. This window can be the same as
client_window
(see
PDM_START
target). Note: when using with the
PDM_START
target, it is
important to use the same
requestor
window id.
property
A client owned property for the return of information as described later.
Clients wishing to acquire a "mailbox window" from the PDM can then make the following
ConvertSelection
request:
display
selection_display (
may be the same as
print_display)
selection
PDM_MANAGER
target
PDM_MBOX
property
property
requestor
requestor
time
timestamp of the gesture that initiated the
ConvertSelection
request
The
PDM_MBOX
target has side effects. The PDM creates a mailbox window on the Selection X-Server that the
client can later use to mail (via ClientMessages) display authorization information. The PDM places the mailbox
window id in
property
. Specifically,
property
is created with
type
(
XA_WINDOW
),
format
(
32
),
mode
(
PropModeReplace
),
data
(Window id) and
nelements
(
1
).
Finally, the client should destroy
property
to indicate a successful
ConvertSelection
request.
Phase 1 is now complete, and a mailbox window has been acquired. Phase 2 is as follows.