https://bugs.kde.org/show_bug.cgi?id=523995

--- Comment #5 from rogeriolucas <[email protected]> ---
Hi,

The client not applying the configure is real, but it is only the 
trigger. Here the windows that got stuck were Gecko and Electron 
(Thunderbird, Joplin, VS Code, Bitwarden) and KiCad, while Qt windows 
never did - the opposite of your set, so it is not specific to Qt.

What makes it stick is the step you saw seven seconds later. Once a 
maximized client has acked every configure and then commits its old 
size, KWin takes that size as its own request (setMoveResizeGeometry() 
from XdgSurfaceWindow::maybeUpdateMoveResizeGeometry(); in 6.8.0 the 
same call is in XdgToplevelWindow::handleRoleCommit()), and the next 
configure sends it back.

I fixed that with a local KWin patch: for a maximized, fullscreen or 
tiled window a commit no longer replaces the request, and KWin sends the 
configure again, comparing against the pixel-snapped size and giving up 
after five tries. Before it, every wake where a client committed the 
stale size left a window under the dock; with it, the three such wakes I 
measured came back right.

If you wish, I can structure an MR.


Regards,

Rogerio.

On 10/6/26 07:04, Branislav Klocok wrote:
> https://bugs.kde.org/show_bug.cgi?id=523995
>
> --- Comment #4 from Branislav Klocok<[email protected]> ---
> I see the same thing in a different setup, and a WAYLAND_DEBUG log suggests 
> the
> wrong size comes from the Qt client, not from KWin.
>
> My trigger is undocking, closing the lid so the laptop suspends with no 
> output,
> then docking again and opening the lid. The Qt clients log "There are no
> outputs - creating placeholder screen". Afterwards maximized Qt windows
> (Konsole, Dolphin, KRDC) keep the width of the laptop panel on the external
> monitor. Firefox, Thunderbird and Chrome come back at the right size. KWin
> 6.7.5, Qt 6.11.2.
>
> In the log of one Konsole window, KWin sends the correct maximized size twice
> after resume. The client acks it but attaches no new buffer and does not call
> set_window_geometry, so its window geometry stays at the old size. Seven
> seconds later KWin sends the old size back and the client follows. Without
> suspend, when the outputs never disappear, the same window resizes correctly.
>
> This matches QTBUG-141359
> (https://qt-project.atlassian.net/browse/QTBUG-141359), where I posted the log
> details and excerpts. It may be the same bug as this one.
>

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to