Rust bindings for the River 0.4.x Wayland compositor's window management protocols
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Initial commit

arthomnix 5d057636

+296
+1
.gitignore
··· 1 + /target
+3
.gitmodules
··· 1 + [submodule "river"] 2 + path = river 3 + url = https://codeberg.org/river/river
+10
.idea/.gitignore
··· 1 + # Default ignored files 2 + /shelf/ 3 + /workspace.xml 4 + # Ignored default folder with query files 5 + /queries/ 6 + # Datasource local storage ignored files 7 + /dataSources/ 8 + /dataSources.local.xml 9 + # Editor-based HTTP Client requests 10 + /httpRequests/
+15
.idea/misc.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <project version="4"> 3 + <component name="DiscordProjectSettings"> 4 + <option name="show" value="ASK" /> 5 + <option name="description" value="" /> 6 + <option name="theme" value="material" /> 7 + <option name="button1Title" value="" /> 8 + <option name="button1Url" value="" /> 9 + <option name="button2Title" value="" /> 10 + <option name="button2Url" value="" /> 11 + </component> 12 + <component name="MarkdownSettingsMigration"> 13 + <option name="stateVersion" value="1" /> 14 + </component> 15 + </project>
+8
.idea/modules.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <project version="4"> 3 + <component name="ProjectModuleManager"> 4 + <modules> 5 + <module fileurl="file://$PROJECT_DIR$/.idea/river-rs.iml" filepath="$PROJECT_DIR$/.idea/river-rs.iml" /> 6 + </modules> 7 + </component> 8 + </project>
+11
.idea/river-rs.iml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <module type="EMPTY_MODULE" version="4"> 3 + <component name="NewModuleRootManager"> 4 + <content url="file://$MODULE_DIR$"> 5 + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> 6 + <excludeFolder url="file://$MODULE_DIR$/target" /> 7 + </content> 8 + <orderEntry type="inheritedJdk" /> 9 + <orderEntry type="sourceFolder" forTests="false" /> 10 + </component> 11 + </module>
+6
.idea/vcs.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <project version="4"> 3 + <component name="VcsDirectoryMappings"> 4 + <mapping directory="" vcs="Git" /> 5 + </component> 6 + </project>
+193
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "bitflags" 7 + version = "2.10.0" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" 10 + 11 + [[package]] 12 + name = "cc" 13 + version = "1.2.51" 14 + source = "registry+https://github.com/rust-lang/crates.io-index" 15 + checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" 16 + dependencies = [ 17 + "find-msvc-tools", 18 + "shlex", 19 + ] 20 + 21 + [[package]] 22 + name = "downcast-rs" 23 + version = "1.2.1" 24 + source = "registry+https://github.com/rust-lang/crates.io-index" 25 + checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" 26 + 27 + [[package]] 28 + name = "errno" 29 + version = "0.3.14" 30 + source = "registry+https://github.com/rust-lang/crates.io-index" 31 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 32 + dependencies = [ 33 + "libc", 34 + "windows-sys", 35 + ] 36 + 37 + [[package]] 38 + name = "find-msvc-tools" 39 + version = "0.1.6" 40 + source = "registry+https://github.com/rust-lang/crates.io-index" 41 + checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" 42 + 43 + [[package]] 44 + name = "libc" 45 + version = "0.2.178" 46 + source = "registry+https://github.com/rust-lang/crates.io-index" 47 + checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" 48 + 49 + [[package]] 50 + name = "linux-raw-sys" 51 + version = "0.11.0" 52 + source = "registry+https://github.com/rust-lang/crates.io-index" 53 + checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" 54 + 55 + [[package]] 56 + name = "memchr" 57 + version = "2.7.6" 58 + source = "registry+https://github.com/rust-lang/crates.io-index" 59 + checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 60 + 61 + [[package]] 62 + name = "pkg-config" 63 + version = "0.3.32" 64 + source = "registry+https://github.com/rust-lang/crates.io-index" 65 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 66 + 67 + [[package]] 68 + name = "proc-macro2" 69 + version = "1.0.104" 70 + source = "registry+https://github.com/rust-lang/crates.io-index" 71 + checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" 72 + dependencies = [ 73 + "unicode-ident", 74 + ] 75 + 76 + [[package]] 77 + name = "quick-xml" 78 + version = "0.38.4" 79 + source = "registry+https://github.com/rust-lang/crates.io-index" 80 + checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" 81 + dependencies = [ 82 + "memchr", 83 + ] 84 + 85 + [[package]] 86 + name = "quote" 87 + version = "1.0.42" 88 + source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" 90 + dependencies = [ 91 + "proc-macro2", 92 + ] 93 + 94 + [[package]] 95 + name = "river-rs" 96 + version = "0.1.0" 97 + dependencies = [ 98 + "bitflags", 99 + "wayland-backend", 100 + "wayland-client", 101 + "wayland-scanner", 102 + ] 103 + 104 + [[package]] 105 + name = "rustix" 106 + version = "1.1.3" 107 + source = "registry+https://github.com/rust-lang/crates.io-index" 108 + checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" 109 + dependencies = [ 110 + "bitflags", 111 + "errno", 112 + "libc", 113 + "linux-raw-sys", 114 + "windows-sys", 115 + ] 116 + 117 + [[package]] 118 + name = "shlex" 119 + version = "1.3.0" 120 + source = "registry+https://github.com/rust-lang/crates.io-index" 121 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 122 + 123 + [[package]] 124 + name = "smallvec" 125 + version = "1.15.1" 126 + source = "registry+https://github.com/rust-lang/crates.io-index" 127 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 128 + 129 + [[package]] 130 + name = "unicode-ident" 131 + version = "1.0.22" 132 + source = "registry+https://github.com/rust-lang/crates.io-index" 133 + checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 134 + 135 + [[package]] 136 + name = "wayland-backend" 137 + version = "0.3.12" 138 + source = "registry+https://github.com/rust-lang/crates.io-index" 139 + checksum = "fee64194ccd96bf648f42a65a7e589547096dfa702f7cadef84347b66ad164f9" 140 + dependencies = [ 141 + "cc", 142 + "downcast-rs", 143 + "rustix", 144 + "smallvec", 145 + "wayland-sys", 146 + ] 147 + 148 + [[package]] 149 + name = "wayland-client" 150 + version = "0.31.12" 151 + source = "registry+https://github.com/rust-lang/crates.io-index" 152 + checksum = "b8e6faa537fbb6c186cb9f1d41f2f811a4120d1b57ec61f50da451a0c5122bec" 153 + dependencies = [ 154 + "bitflags", 155 + "rustix", 156 + "wayland-backend", 157 + "wayland-scanner", 158 + ] 159 + 160 + [[package]] 161 + name = "wayland-scanner" 162 + version = "0.31.8" 163 + source = "registry+https://github.com/rust-lang/crates.io-index" 164 + checksum = "5423e94b6a63e68e439803a3e153a9252d5ead12fd853334e2ad33997e3889e3" 165 + dependencies = [ 166 + "proc-macro2", 167 + "quick-xml", 168 + "quote", 169 + ] 170 + 171 + [[package]] 172 + name = "wayland-sys" 173 + version = "0.31.8" 174 + source = "registry+https://github.com/rust-lang/crates.io-index" 175 + checksum = "1e6dbfc3ac5ef974c92a2235805cc0114033018ae1290a72e474aa8b28cbbdfd" 176 + dependencies = [ 177 + "pkg-config", 178 + ] 179 + 180 + [[package]] 181 + name = "windows-link" 182 + version = "0.2.1" 183 + source = "registry+https://github.com/rust-lang/crates.io-index" 184 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 185 + 186 + [[package]] 187 + name = "windows-sys" 188 + version = "0.61.2" 189 + source = "registry+https://github.com/rust-lang/crates.io-index" 190 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 191 + dependencies = [ 192 + "windows-link", 193 + ]
+11
Cargo.toml
··· 1 + [package] 2 + name = "river-rs" 3 + version = "0.1.0" 4 + edition = "2024" 5 + description = "Rust bindings for the river 0.4 wayland compositor's window management protocols" 6 + 7 + [dependencies] 8 + wayland-scanner = "0.31" 9 + wayland-client = "0.31" 10 + wayland-backend = "0.3" 11 + bitflags = "2"
+38
src/lib.rs
··· 1 + pub mod window_management { 2 + use wayland_client; 3 + use wayland_client::protocol::*; 4 + 5 + pub mod __interfaces { 6 + use wayland_client::protocol::__interfaces::*; 7 + wayland_scanner::generate_interfaces!("river/protocol/river-window-management-v1.xml"); 8 + } 9 + 10 + use self::__interfaces::*; 11 + wayland_scanner::generate_client_code!("river/protocol/river-window-management-v1.xml"); 12 + } 13 + 14 + pub mod layer_shell { 15 + use wayland_client; 16 + 17 + pub mod __interfaces { 18 + use crate::window_management::__interfaces::*; 19 + wayland_scanner::generate_interfaces!("river/protocol/river-layer-shell-v1.xml"); 20 + } 21 + 22 + use self::__interfaces::*; 23 + use crate::window_management::*; 24 + wayland_scanner::generate_client_code!("river/protocol/river-layer-shell-v1.xml"); 25 + } 26 + 27 + pub mod xkb_bindings { 28 + use wayland_client; 29 + 30 + pub mod __interfaces { 31 + use crate::window_management::__interfaces::*; 32 + wayland_scanner::generate_interfaces!("river/protocol/river-xkb-bindings-v1.xml"); 33 + } 34 + 35 + use self::__interfaces::*; 36 + use crate::window_management::*; 37 + wayland_scanner::generate_client_code!("river/protocol/river-xkb-bindings-v1.xml"); 38 + }