diff --git a/Cargo.lock b/Cargo.lock index fae2dc536..2b240c154 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3445,7 +3445,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.48", @@ -3895,15 +3895,6 @@ dependencies = [ "toml_edit 0.19.15", ] -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.0", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3968,9 +3959,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -4558,7 +4549,7 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/smithay//smithay?rev=f7638e8#f7638e860347e8d4abb8c10f7ebaece9dac38de5" +source = "git+https://github.com/ids1024/smithay?branch=wl_fixes#357758ac72ab482edcb02a9b42d0411f8180b08a" dependencies = [ "appendlist", "ash", @@ -5537,13 +5528,12 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" +version = "0.3.3" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "cc", "downcast-rs", - "nix 0.26.4", + "rustix 0.38.32", "scoped-tls", "smallvec", "wayland-sys", @@ -5551,12 +5541,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" +version = "0.31.2" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "bitflags 2.4.2", - "nix 0.26.4", + "rustix 0.38.32", "wayland-backend", "wayland-scanner", ] @@ -5574,11 +5563,11 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b" +checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" dependencies = [ - "nix 0.26.4", + "rustix 0.38.32", "wayland-client", "xcursor", ] @@ -5586,8 +5575,7 @@ dependencies = [ [[package]] name = "wayland-egl" version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355f652e5a24ae02d2ad536c8fc2d3dcc6c2bd635027cd6103a193e7d75eeda2" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "wayland-backend", "wayland-sys", @@ -5596,8 +5584,7 @@ dependencies = [ [[package]] name = "wayland-protocols" version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "bitflags 2.4.2", "wayland-backend", @@ -5609,8 +5596,7 @@ dependencies = [ [[package]] name = "wayland-protocols-misc" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5933740b200188c9b4c38601b8212e8c154d7de0d2cb171944e137a77de1e" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "bitflags 2.4.2", "wayland-backend", @@ -5635,8 +5621,7 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "bitflags 2.4.2", "wayland-backend", @@ -5648,9 +5633,8 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" +version = "0.31.1" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "proc-macro2", "quick-xml", @@ -5659,14 +5643,13 @@ dependencies = [ [[package]] name = "wayland-server" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3f0c52a445936ca1184c98f1a69cf4ad9c9130788884531ef04428468cb1ce" +version = "0.31.1" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "bitflags 2.4.2", "downcast-rs", "io-lifetimes 2.0.3", - "nix 0.26.4", + "rustix 0.38.32", "wayland-backend", "wayland-scanner", ] @@ -5674,8 +5657,7 @@ dependencies = [ [[package]] name = "wayland-sys" version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +source = "git+https://github.com/ids1024/wayland-rs?branch=wl-fixes#f8975f7c2ea31578fdd4411955f9f3b0ab757fdb" dependencies = [ "dlib", "libc", @@ -6326,7 +6308,7 @@ version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate", "proc-macro2", "quote", "regex", @@ -6400,7 +6382,7 @@ version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate", "proc-macro2", "quote", "syn 1.0.109", diff --git a/Cargo.toml b/Cargo.toml index 796a0b74b..919848852 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -119,4 +119,16 @@ inherits = "release" lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = {git = "https://github.com/smithay//smithay", rev = "f7638e8"} +# smithay = {git = "https://github.com/smithay//smithay", rev = "f7638e8"} +smithay = {git = "https://github.com/ids1024/smithay", branch = "wl_fixes"} + +[patch.crates-io] +wayland-egl = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-protocols = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-protocols-wlr = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-protocols-misc = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-server = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-client = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-sys = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-backend = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } +wayland-scanner = { git = "https://github.com/ids1024/wayland-rs", branch = "wl-fixes" } diff --git a/src/state.rs b/src/state.rs index 899e0678b..9735f2bb6 100644 --- a/src/state.rs +++ b/src/state.rs @@ -65,6 +65,7 @@ use smithay::{ wayland::{ compositor::{CompositorClientState, CompositorState}, dmabuf::{DmabufFeedback, DmabufGlobal, DmabufState}, + fixes::FixesState, fractional_scale::{with_fractional_scale, FractionalScaleManagerState}, idle_inhibit::IdleInhibitManagerState, idle_notify::IdleNotifierState, @@ -433,6 +434,7 @@ impl State { InputMethodManagerState::new::(&dh, client_is_privileged); TextInputManagerState::new::(&dh); VirtualKeyboardManagerState::new::(&dh, client_is_privileged); + FixesState::new::(&dh); let idle_notifier_state = IdleNotifierState::::new(&dh, handle.clone()); let idle_inhibit_manager_state = IdleInhibitManagerState::new::(&dh); diff --git a/src/wayland/handlers/fixes.rs b/src/wayland/handlers/fixes.rs new file mode 100644 index 000000000..b589aabc7 --- /dev/null +++ b/src/wayland/handlers/fixes.rs @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-3.0-only + +use crate::state::State; +use smithay::delegate_fixes; + +delegate_fixes!(State); diff --git a/src/wayland/handlers/mod.rs b/src/wayland/handlers/mod.rs index 56971a962..ae889d796 100644 --- a/src/wayland/handlers/mod.rs +++ b/src/wayland/handlers/mod.rs @@ -8,6 +8,7 @@ pub mod decoration; pub mod dmabuf; pub mod drm; pub mod drm_lease; +pub mod fixes; pub mod fractional_scale; pub mod idle_inhibit; pub mod idle_notify;