wayland_protocols_plasma/
lib.rs

1//! This crate provides bindings to the plasma wayland protocol extensions
2//! provided in <https://github.com/KDE/plasma-wayland-protocols>
3//!
4//! These bindings are built on top of the crates wayland-client and wayland-server.
5//!
6//! Each protocol module contains a `client` and a `server` submodules, for each side of the
7//! protocol. The creation of these modules (and the dependency on the associated crate) is
8//! controlled by the two cargo features `client` and `server`.
9
10#![forbid(improper_ctypes, unsafe_op_in_unsafe_fn)]
11#![cfg_attr(docsrs, feature(doc_auto_cfg))]
12#![cfg_attr(rustfmt, rustfmt_skip)]
13
14#[macro_use]
15mod protocol_macro;
16
17pub mod appmenu {
18    wayland_protocol!(
19        "./plasma-wayland-protocols/src/protocols/appmenu.xml",
20        []
21    );
22}
23
24pub mod blur {
25    wayland_protocol!(
26        "./plasma-wayland-protocols/src/protocols/blur.xml",
27        []
28    );
29}
30
31pub mod contrast {
32    wayland_protocol!(
33        "./plasma-wayland-protocols/src/protocols/contrast.xml",
34        []
35    );
36}
37
38pub mod dpms {
39    wayland_protocol!(
40        "./plasma-wayland-protocols/src/protocols/dpms.xml",
41        []
42    );
43}
44
45pub mod external_brightness {
46    pub mod v1 {
47        wayland_protocol!(
48            "./plasma-wayland-protocols/src/protocols/kde-external-brightness-v1.xml",
49            []
50        );
51    }
52}
53
54pub mod fake_input {
55    wayland_protocol!(
56        "./plasma-wayland-protocols/src/protocols/fake-input.xml",
57        []
58    );
59}
60
61pub mod fullscreen_shell {
62    wayland_protocol!(
63        "./plasma-wayland-protocols/src/protocols/fullscreen-shell.xml",
64        []
65    );
66}
67
68pub mod idle {
69    wayland_protocol!(
70        "./plasma-wayland-protocols/src/protocols/idle.xml",
71        []
72    );
73}
74
75pub mod keystate {
76    wayland_protocol!(
77        "./plasma-wayland-protocols/src/protocols/keystate.xml",
78        []
79    );
80}
81
82pub mod lockscreen_overlay {
83    pub mod v1 {
84        wayland_protocol!(
85            "./plasma-wayland-protocols/src/protocols/kde-lockscreen-overlay-v1.xml",
86            []
87        );
88    }
89}
90
91pub mod output_device {
92    pub mod v1 {
93        wayland_protocol!(
94            "./plasma-wayland-protocols/src/protocols/outputdevice.xml",
95            []
96        );
97    }
98
99    pub mod v2 {
100        wayland_protocol!(
101            "./plasma-wayland-protocols/src/protocols/kde-output-device-v2.xml",
102            []
103        );
104    }
105}
106
107pub mod output_management {
108    pub mod v1 {
109        wayland_protocol!(
110            "./plasma-wayland-protocols/src/protocols/output-management.xml",
111            [crate::output_device::v1]
112        );
113    }
114
115    pub mod v2 {
116        wayland_protocol!(
117            "./plasma-wayland-protocols/src/protocols/kde-output-management-v2.xml",
118            [crate::output_device::v2]
119        );
120    }
121}
122
123pub mod output_order {
124    pub mod v1 {
125        wayland_protocol!(
126            "./plasma-wayland-protocols/src/protocols/kde-output-order-v1.xml",
127            []
128        );
129    }
130}
131
132pub mod plasma_shell {
133    wayland_protocol!(
134        "./plasma-wayland-protocols/src/protocols/plasma-shell.xml",
135        []
136    );
137}
138
139pub mod plasma_virtual_desktop {
140    wayland_protocol!(
141        "./plasma-wayland-protocols/src/protocols/org-kde-plasma-virtual-desktop.xml",
142        []
143    );
144}
145
146pub mod plasma_window_management {
147    wayland_protocol!(
148        "./plasma-wayland-protocols/src/protocols/plasma-window-management.xml",
149        []
150    );
151}
152
153pub mod primary_output {
154    pub mod v1 {
155        wayland_protocol!(
156            "./plasma-wayland-protocols/src/protocols/kde-primary-output-v1.xml",
157            []
158        );
159    }
160}
161
162pub mod remote_access {
163    wayland_protocol!(
164        "./plasma-wayland-protocols/src/protocols/remote-access.xml",
165        []
166    );
167}
168
169pub mod screencast {
170    pub mod v1 {
171        wayland_protocol!(
172            "./plasma-wayland-protocols/src/protocols/zkde-screencast-unstable-v1.xml",
173            []
174        );
175    }
176}
177
178pub mod screen_edge {
179    pub mod v1 {
180        wayland_protocol!(
181            "./plasma-wayland-protocols/src/protocols/kde-screen-edge-v1.xml",
182            []
183        );
184    }
185}
186
187pub mod server_decoration_palette {
188    wayland_protocol!(
189        "./plasma-wayland-protocols/src/protocols/server-decoration-palette.xml",
190        []
191    );
192}
193
194pub mod server_decoration {
195    wayland_protocol!(
196        "./plasma-wayland-protocols/src/protocols/server-decoration.xml",
197        []
198    );
199}
200
201pub mod shadow {
202    wayland_protocol!(
203        "./plasma-wayland-protocols/src/protocols/shadow.xml",
204        []
205    );
206}
207
208pub mod slide {
209    wayland_protocol!(
210        "./plasma-wayland-protocols/src/protocols/slide.xml",
211        []
212    );
213}
214
215pub mod surface_extension {
216    wayland_protocol!(
217        "./plasma-wayland-protocols/src/protocols/surface-extension.xml",
218        []
219    );
220}
221
222pub mod text_input {
223    pub mod v1 {
224        wayland_protocol!(
225            "./plasma-wayland-protocols/src/protocols/text-input.xml",
226            []
227        );
228    }
229
230    pub mod v2 {
231        wayland_protocol!(
232            "./plasma-wayland-protocols/src/protocols/text-input-unstable-v2.xml",
233            []
234        );
235    }
236}
237
238pub mod wayland_eglstream_controller {
239    wayland_protocol!(
240        "./plasma-wayland-protocols/src/protocols/wayland-eglstream-controller.xml",
241        []
242    );
243}