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 ] |
15 | mod protocol_macro; |
16 | |
17 | pub mod appmenu { |
18 | wayland_protocol!( |
19 | "./plasma-wayland-protocols/src/protocols/appmenu.xml" , |
20 | [] |
21 | ); |
22 | } |
23 | |
24 | pub mod blur { |
25 | wayland_protocol!( |
26 | "./plasma-wayland-protocols/src/protocols/blur.xml" , |
27 | [] |
28 | ); |
29 | } |
30 | |
31 | pub mod contrast { |
32 | wayland_protocol!( |
33 | "./plasma-wayland-protocols/src/protocols/contrast.xml" , |
34 | [] |
35 | ); |
36 | } |
37 | |
38 | pub mod dpms { |
39 | wayland_protocol!( |
40 | "./plasma-wayland-protocols/src/protocols/dpms.xml" , |
41 | [] |
42 | ); |
43 | } |
44 | |
45 | pub mod fake_input { |
46 | wayland_protocol!( |
47 | "./plasma-wayland-protocols/src/protocols/fake-input.xml" , |
48 | [] |
49 | ); |
50 | } |
51 | |
52 | pub mod fullscreen_shell { |
53 | wayland_protocol!( |
54 | "./plasma-wayland-protocols/src/protocols/fullscreen-shell.xml" , |
55 | [] |
56 | ); |
57 | } |
58 | |
59 | pub mod idle { |
60 | wayland_protocol!( |
61 | "./plasma-wayland-protocols/src/protocols/idle.xml" , |
62 | [] |
63 | ); |
64 | } |
65 | |
66 | pub mod keystate { |
67 | wayland_protocol!( |
68 | "./plasma-wayland-protocols/src/protocols/keystate.xml" , |
69 | [] |
70 | ); |
71 | } |
72 | |
73 | pub mod output_device { |
74 | pub mod v1 { |
75 | wayland_protocol!( |
76 | "./plasma-wayland-protocols/src/protocols/outputdevice.xml" , |
77 | [] |
78 | ); |
79 | } |
80 | |
81 | pub mod v2 { |
82 | wayland_protocol!( |
83 | "./plasma-wayland-protocols/src/protocols/kde-output-device-v2.xml" , |
84 | [] |
85 | ); |
86 | } |
87 | } |
88 | |
89 | pub mod output_management { |
90 | pub mod v1 { |
91 | wayland_protocol!( |
92 | "./plasma-wayland-protocols/src/protocols/output-management.xml" , |
93 | [crate::output_device::v1] |
94 | ); |
95 | } |
96 | |
97 | pub mod v2 { |
98 | wayland_protocol!( |
99 | "./plasma-wayland-protocols/src/protocols/kde-output-management-v2.xml" , |
100 | [crate::output_device::v2] |
101 | ); |
102 | } |
103 | } |
104 | |
105 | |
106 | pub mod primary_output { |
107 | pub mod v1 { |
108 | wayland_protocol!( |
109 | "./plasma-wayland-protocols/src/protocols/kde-primary-output-v1.xml" , |
110 | [] |
111 | ); |
112 | } |
113 | } |
114 | |
115 | pub mod plasma_shell { |
116 | wayland_protocol!( |
117 | "./plasma-wayland-protocols/src/protocols/plasma-shell.xml" , |
118 | [] |
119 | ); |
120 | } |
121 | |
122 | pub mod plasma_virtual_desktop { |
123 | wayland_protocol!( |
124 | "./plasma-wayland-protocols/src/protocols/plasma-virtual-desktop.xml" , |
125 | [] |
126 | ); |
127 | } |
128 | |
129 | pub mod plasma_window_management { |
130 | wayland_protocol!( |
131 | "./plasma-wayland-protocols/src/protocols/plasma-window-management.xml" , |
132 | [] |
133 | ); |
134 | } |
135 | |
136 | pub mod remote_access { |
137 | wayland_protocol!( |
138 | "./plasma-wayland-protocols/src/protocols/remote-access.xml" , |
139 | [] |
140 | ); |
141 | } |
142 | |
143 | pub mod screencast { |
144 | pub mod v1 { |
145 | wayland_protocol!( |
146 | "./plasma-wayland-protocols/src/protocols/zkde-screencast-unstable-v1.xml" , |
147 | [] |
148 | ); |
149 | } |
150 | } |
151 | |
152 | pub mod server_decoration_palette { |
153 | wayland_protocol!( |
154 | "./plasma-wayland-protocols/src/protocols/server-decoration-palette.xml" , |
155 | [] |
156 | ); |
157 | } |
158 | |
159 | pub mod server_decoration { |
160 | wayland_protocol!( |
161 | "./plasma-wayland-protocols/src/protocols/server-decoration.xml" , |
162 | [] |
163 | ); |
164 | } |
165 | |
166 | pub mod shadow { |
167 | wayland_protocol!( |
168 | "./plasma-wayland-protocols/src/protocols/shadow.xml" , |
169 | [] |
170 | ); |
171 | } |
172 | |
173 | pub mod slide { |
174 | wayland_protocol!( |
175 | "./plasma-wayland-protocols/src/protocols/slide.xml" , |
176 | [] |
177 | ); |
178 | } |
179 | |
180 | pub mod surface_extension { |
181 | wayland_protocol!( |
182 | "./plasma-wayland-protocols/src/protocols/surface-extension.xml" , |
183 | [] |
184 | ); |
185 | } |
186 | |
187 | pub mod text_input { |
188 | pub mod v1 { |
189 | wayland_protocol!( |
190 | "./plasma-wayland-protocols/src/protocols/text-input.xml" , |
191 | [] |
192 | ); |
193 | } |
194 | |
195 | pub mod v2 { |
196 | wayland_protocol!( |
197 | "./plasma-wayland-protocols/src/protocols/text-input-unstable-v2.xml" , |
198 | [] |
199 | ); |
200 | } |
201 | } |
202 | |
203 | pub mod wayland_eglstream_controller { |
204 | wayland_protocol!( |
205 | "./plasma-wayland-protocols/src/protocols/wayland-eglstream-controller.xml" , |
206 | [] |
207 | ); |
208 | } |
209 | |