瀏覽代碼

fix(macos): set default title-bar style to `Visible`, close #10225 (#10297)

* fix(macos): set default title-bar style to `Visible`

* chore: add TODO
Jason Tsai 1 年之前
父節點
當前提交
9546548ec0
共有 2 個文件被更改,包括 20 次插入1 次删除
  1. 6 0
      .changes/runtime-macos-default-visible-titlebat.md
  2. 14 1
      core/tauri-runtime-wry/src/lib.rs

+ 6 - 0
.changes/runtime-macos-default-visible-titlebat.md

@@ -0,0 +1,6 @@
+---
+"tauri": "patch:bug"
+"tauri-runtime-wry": "patch"
+---
+
+On macOS, set default titlebar style to `Visible` to prevent webview move out of the view.

+ 14 - 1
core/tauri-runtime-wry/src/lib.rs

@@ -715,7 +715,20 @@ unsafe impl Send for WindowBuilderWrapper {}
 impl WindowBuilderBase for WindowBuilderWrapper {}
 impl WindowBuilder for WindowBuilderWrapper {
   fn new() -> Self {
-    Self::default().focused(true)
+    #[allow(unused_mut)]
+    let mut builder = Self::default().focused(true);
+
+    #[cfg(target_os = "macos")]
+    {
+      // TODO: find a proper way to prevent webview being pushed out of the window.
+      // Workround for issue: https://github.com/tauri-apps/tauri/issues/10225
+      // The window requies `NSFullSizeContentViewWindowMask` flag to prevent devtools
+      // pushing the content view out of the window.
+      // By setting the default style to `TitleBarStyle::Visible` should fix the issue for most of the users.
+      builder = builder.title_bar_style(TitleBarStyle::Visible);
+    }
+
+    builder
   }
 
   fn with_config(config: &WindowConfig) -> Self {