aboutsummaryrefslogtreecommitdiffstats
path: root/LIBAXL_REQUEST_SET_SELECTION_OWNER.3
blob: e2766132067fb084b9ed78c1b063d9c3fe9c2b4c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
.TH LIBAXL_REQUEST_SET_SELECTION_OWNER 3 libaxl
.SH NAME
LIBAXL_REQUEST_SET_SELECTION_OWNER - Change ownership of a selection
.SH SYNOPSIS
.nf
#include <libaxl.h>

#define LIBAXL_REQUEST_SET_SELECTION_OWNER 22
struct libaxl_request_set_selection_owner {
        uint8_t            \fIopcode\fP;
        uint8_t            \fI__pad\fP;
        uint16_t           \fI_request_length\fP;
        libaxl_window_t    \fIowner\fP;
        libaxl_atom_t      \fIselection\fP;
        libaxl_timestamp_t \fItime\fP;
};
.fi
.SH DESCRIPTION
This request changes the owner window, and last-change
time of the selection specified in the
.I selection
field to the window and time specifed in the
.I owner
and
.I time
fields, and the owner of the selection to the client
making the request. However the request has no effect
if the request new last-change time is less than the
current last-change time or greater than the current
time according to the server.
.PP
The constant
.I LIBAXL_CURRENT_TIME
can be specified in the
.I time
field for the current server time.
.PP
If the constant
.I LIBAXL_NONE
is specified in the
.I owner
field, the owner window and the owner are both set to
.I LIBAXL_NONE
(none).
.PP
The value of the
.I opcode
field shall be
.I LIBAXL_REQUEST_SET_SELECTION_OWNER
to signify that the request is of the
request described in this document.
.PP
Other fields are filled in automatically by the
.BR libaxl_send_request (3)
function.
.PP
If the new owner is not the same as the
current owner, and the current owner is not
.BR LIBAXL_NONE ,
a
.BR LIBAXL_EVENT_SELECTION_CLEAR (3)
event is sent to the current owner.
.PP
If the owner of a selection is terminated,
or the owner window is destroyed, the owner
and owner window revers to
.BR LIBAXL_NONE ,
but the last-change time remains as is.
.SH ERRORS
.TP
.BR LIBAXL_ERROR_WINDOW (3)
The specified window ID does not exist.
.TP
.BR LIBAXL_ERROR_ATOM (3)
The specified atom ID does not exist.
.SH REPLIES
None.
.SH NOTES
Selections are global to the display.
.SH SEE ALSO
.BR libaxl_send_request (3),
.BR LIBAXL_REQUEST_GET_SELECTION_OWNER (3),
.BR LIBAXL_REQUEST_CONVERT_SELECTION (3),
.BR LIBAXL_EVENT_SELECTION_REQUEST (3),
.BR LIBAXL_EVENT_SELECTION_CLEAR (3)