fix(wm): handle hide events for layered windows

This commit ensures that Hide events on Layered windows (usually added
when the transparency feature is enabled) will always be considered
eligible for handling.

This will avoid situations where ghost borders are left behind because
the Hide event was ignored.

fix #878
This commit is contained in:
LGUG2Z
2025-01-23 16:43:15 -08:00
parent 067a279c58
commit 0a2dbed116

View File

@@ -872,7 +872,11 @@ fn window_is_eligible(
let known_layered_hwnds = transparency_manager::known_hwnds();
allow_layered = if known_layered_hwnds.contains(&hwnd) {
allow_layered = if known_layered_hwnds.contains(&hwnd)
// we always want to process hide events for windows with transparency, even on other
// monitors, because we don't want to be left with ghost tiles
|| matches!(event, Some(WindowManagerEvent::Hide(_, _)))
{
debug.allow_layered_transparency = true;
true
} else {