fix(preview): set GTK WindowTypeHint::Utility for non-KDE compositor coverage
KWin reads _NET_WM_STATE_SKIP_TASKBAR for its Alt+Tab list, which OW-2 already wired via skip_taskbar(true) on the builder. On Hyprland, Sway, and GNOME Mutter that's not always enough — some switchers still enumerate the overlay. Classifying the window as gdk::WindowTypeHint::Utility signals to the compositor that this is an assistive auxiliary surface, so switchers and auto-tilers leave it alone. No behavioural change on KWin. GTK3 only honours the type hint before the window maps, so the preview builder now starts .visible(false); we grab the gtk_window() via Tauri's escape hatch, set the hint, then show(). The existing hide/show on re-open still works — hint is a property of the gtk::ApplicationWindow and survives the cycle. Added gtk = "0.18" and gdk = "0.18" as Linux-only deps. Both are already pulled in transitively via webkit2gtk 2.0, so this is just surfacing them by name — no new compile cost. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -46,3 +46,8 @@ uuid = { version = "1", features = ["v4"] }
|
||||
|
||||
[target.'cfg(target_os = "linux")'.dependencies]
|
||||
webkit2gtk = "2.0"
|
||||
# Needed for setting the preview overlay's WindowTypeHint to Utility via
|
||||
# the Tauri gtk_window() escape hatch. Versions track what webkit2gtk 2.0
|
||||
# transitively depends on (GTK 3).
|
||||
gtk = "0.18"
|
||||
gdk = "0.18"
|
||||
|
||||
Reference in New Issue
Block a user