From 1bb745dd8f60e5d6147e88497e877ec7376c3307 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 25 Mar 2022 18:23:33 -0300 Subject: [PATCH] fix(window): fullscreen on Linux when builder is set to Borderless(None) --- .changes/fix-initial-fullscreen-linux.md | 5 +++++ src/platform_impl/linux/window.rs | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 .changes/fix-initial-fullscreen-linux.md diff --git a/.changes/fix-initial-fullscreen-linux.md b/.changes/fix-initial-fullscreen-linux.md new file mode 100644 index 000000000..631c16969 --- /dev/null +++ b/.changes/fix-initial-fullscreen-linux.md @@ -0,0 +1,5 @@ +--- +"tao": patch +--- + +Properly change the window to fullscreen state if the builder instructs it to use `Fullscreen::Borderless(None)`. diff --git a/src/platform_impl/linux/window.rs b/src/platform_impl/linux/window.rs index 0bc319368..c0d7f6b7f 100644 --- a/src/platform_impl/linux/window.rs +++ b/src/platform_impl/linux/window.rs @@ -200,10 +200,14 @@ impl Window { // Rest attributes window.set_title(&attributes.title); - if let Some(Fullscreen::Borderless(Some(f))) = &attributes.fullscreen { - let number = f.inner.number; - let screen = window.display().default_screen(); - window.fullscreen_on_monitor(&screen, number); + if let Some(Fullscreen::Borderless(m)) = &attributes.fullscreen { + if let Some(monitor) = m { + let number = monitor.inner.number; + let screen = window.display().default_screen(); + window.fullscreen_on_monitor(&screen, number); + } else { + window.fullscreen(); + } } if attributes.maximized { window.maximize();