Desktop: Enable window resize controls on Wayland compositors (#3183)
wayland client side decorations
This commit is contained in:
parent
09bc891ab2
commit
21f34ab19a
|
|
@ -1317,7 +1317,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dpi"
|
name = "dpi"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
@ -7134,7 +7134,7 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit"
|
name = "winit"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"cfg_aliases",
|
"cfg_aliases",
|
||||||
|
|
@ -7161,7 +7161,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-android"
|
name = "winit-android"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"android-activity",
|
"android-activity",
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
|
|
@ -7176,7 +7176,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-appkit"
|
name = "winit-appkit"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"block2",
|
"block2",
|
||||||
|
|
@ -7198,7 +7198,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-common"
|
name = "winit-common"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"memmap2",
|
"memmap2",
|
||||||
"objc2",
|
"objc2",
|
||||||
|
|
@ -7213,7 +7213,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-core"
|
name = "winit-core"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"cursor-icon",
|
"cursor-icon",
|
||||||
|
|
@ -7228,7 +7228,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-orbital"
|
name = "winit-orbital"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"dpi",
|
"dpi",
|
||||||
|
|
@ -7243,7 +7243,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-uikit"
|
name = "winit-uikit"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"block2",
|
"block2",
|
||||||
|
|
@ -7264,7 +7264,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-wayland"
|
name = "winit-wayland"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash",
|
"ahash",
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
|
|
@ -7290,7 +7290,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-web"
|
name = "winit-web"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atomic-waker",
|
"atomic-waker",
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
|
|
@ -7312,7 +7312,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-win32"
|
name = "winit-win32"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"cursor-icon",
|
"cursor-icon",
|
||||||
|
|
@ -7328,7 +7328,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit-x11"
|
name = "winit-x11"
|
||||||
version = "0.30.12"
|
version = "0.30.12"
|
||||||
source = "git+https://github.com/rust-windowing/winit.git?rev=66283a79bddd034c45fb0e72c84fa5cd4e5f82fb#66283a79bddd034c45fb0e72c84fa5cd4e5f82fb"
|
source = "git+https://github.com/rust-windowing/winit.git?rev=37221c7192ef1deec022a2278e54429331c01bad#37221c7192ef1deec022a2278e54429331c01bad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.9.3",
|
"bitflags 2.9.3",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ web-sys = { version = "=0.3.77", features = [
|
||||||
"HtmlImageElement",
|
"HtmlImageElement",
|
||||||
"ImageBitmapRenderingContext",
|
"ImageBitmapRenderingContext",
|
||||||
] }
|
] }
|
||||||
winit = { git = "https://github.com/rust-windowing/winit.git", rev = "66283a79bddd034c45fb0e72c84fa5cd4e5f82fb" }
|
winit = { git = "https://github.com/rust-windowing/winit.git", rev = "37221c7192ef1deec022a2278e54429331c01bad" }
|
||||||
url = "2.5"
|
url = "2.5"
|
||||||
tokio = { version = "1.29", features = ["fs", "macros", "io-std", "rt"] }
|
tokio = { version = "1.29", features = ["fs", "macros", "io-std", "rt"] }
|
||||||
vello = { git = "https://github.com/linebender/vello.git", rev = "87cc5bee6d3a34d15017dbbb58634ddc7f33ff9b" } # TODO switch back to stable when a release is made
|
vello = { git = "https://github.com/linebender/vello.git", rev = "87cc5bee6d3a34d15017dbbb58634ddc7f33ff9b" } # TODO switch back to stable when a release is made
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ graphite-desktop-wrapper = { path = "wrapper" }
|
||||||
graphite-desktop-embedded-resources = { path = "embedded-resources", optional = true }
|
graphite-desktop-embedded-resources = { path = "embedded-resources", optional = true }
|
||||||
|
|
||||||
wgpu = { workspace = true }
|
wgpu = { workspace = true }
|
||||||
winit = { workspace = true, features = [ "serde" ] }
|
winit = { workspace = true, features = [ "wayland-csd-adwaita-notitlebar", "serde" ] }
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
futures = { workspace = true }
|
futures = { workspace = true }
|
||||||
cef = { workspace = true }
|
cef = { workspace = true }
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,8 @@ impl NativeWindowHandle {
|
||||||
.with_title(APP_NAME)
|
.with_title(APP_NAME)
|
||||||
.with_min_surface_size(winit::dpi::LogicalSize::new(400, 300))
|
.with_min_surface_size(winit::dpi::LogicalSize::new(400, 300))
|
||||||
.with_surface_size(winit::dpi::LogicalSize::new(1200, 800))
|
.with_surface_size(winit::dpi::LogicalSize::new(1200, 800))
|
||||||
.with_resizable(true);
|
.with_resizable(true)
|
||||||
|
.with_theme(Some(winit::window::Theme::Dark));
|
||||||
|
|
||||||
#[cfg(target_os = "linux")]
|
#[cfg(target_os = "linux")]
|
||||||
{
|
{
|
||||||
|
|
@ -33,7 +34,7 @@ impl NativeWindowHandle {
|
||||||
use winit::platform::wayland::WindowAttributesWayland;
|
use winit::platform::wayland::WindowAttributesWayland;
|
||||||
use winit::platform::x11::WindowAttributesX11;
|
use winit::platform::x11::WindowAttributesX11;
|
||||||
window = if event_loop.is_wayland() {
|
window = if event_loop.is_wayland() {
|
||||||
let wayland_window = WindowAttributesWayland::default().with_name(APP_ID, "");
|
let wayland_window = WindowAttributesWayland::default().with_name(APP_ID, "").with_prefer_csd(true);
|
||||||
window.with_platform_attributes(Box::new(wayland_window))
|
window.with_platform_attributes(Box::new(wayland_window))
|
||||||
} else {
|
} else {
|
||||||
let x11_window = WindowAttributesX11::default().with_name(APP_ID, APP_NAME);
|
let x11_window = WindowAttributesX11::default().with_name(APP_ID, APP_NAME);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue