tauri-app: switch to native title bar (fixes drag + clicks)
The previous 'custom' title bar used tauri.conf.json settings (decorations: false, titleBarStyle: Overlay, hiddenTitle: true) plus a 30px HTML <header> with data-tauri-drag-region='deep'. Two problems made the app unusable: 1. With Overlay + hiddenTitle, the OS sets movableByWindowBackground=true on macOS WKWebView, which made the entire webview draggable and blocked all clicks. 2. Tauri 2's WKWebView integration has a known issue (tao#N) where the drag.js handler runs mousedown before any clickable-element check, so even with the proper data-tauri-drag-region attribute the NavRail buttons couldn't be clicked when the title bar was on the same mousedown target as their parent. Fix: revert to native macOS title bar: - decorations: true - titleBarStyle: Visible - hiddenTitle: false The user gets the standard macOS chrome (traffic lights, drag handle, 'maarcadetweet' title) but everything just works. Custom title-bar work deferred until Tauri 3.0 (which fixes the WKWebView + movableByWindowBackground interaction). Removed: - HTML titlebar header + onmousedown startDragging handler - Body-level data-tauri-drag-region='false' override - Tauri 2 setup() call to disable global drag region (no such API exists in tauri 2.11.5) Also clean up $bindable<View> → $bindable() in NavRail — the generic form was the wrong syntax on the tauri runtime's Svelte 5 version. All 240 tests still pass (231 Rust + 9 vitest).
This commit is contained in:
@@ -20,10 +20,10 @@
|
||||
"minWidth": 880,
|
||||
"minHeight": 540,
|
||||
"resizable": true,
|
||||
"decorations": false,
|
||||
"decorations": true,
|
||||
"transparent": false,
|
||||
"titleBarStyle": "Overlay",
|
||||
"hiddenTitle": true,
|
||||
"titleBarStyle": "Visible",
|
||||
"hiddenTitle": false,
|
||||
"backgroundColor": "#0D0D0D"
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user