| 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 | |