Rémi Bernon (@rbernon) commented about dlls/winex11.drv/window.c:
received = wine_dbg_sprintf( "WM_STATE %#x/%lu", value, serial ); expected = *expect_serial ? wine_dbg_sprintf( ", expected %#x/%lu", *pending, *expect_serial ) : ""; /* ignore Metacity/Mutter transient NormalState during WithdrawnState <-> IconicState transitions */ - if (value == NormalState && *current + *pending == IconicState) reason = "transient "; + if (value == NormalState && *current + *pending == IconicState) reason = "transient NormalState "; + /* ignore KWin transient IconicState when entering WithdrawnState */ + if (value == IconicState && *pending == WithdrawnState) reason = "transient IconicState ";
This seems suspicious, and these transition workarounds are fragile already. If the client requested the window to be unmapped I don't see why the window manager would make it iconic. Do you know where this happens in Kwin source? Could it be fixed there? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10949#note_140592