Bug 470064 - "Moving" unmaximized windows on crash recovery
Summary: "Moving" unmaximized windows on crash recovery
Status: CONFIRMED
Alias: None
Product: kwin
Classification: Plasma
Component: decorations (show other bugs)
Version: 5.27.4
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-20 20:55 UTC by Holger
Modified: 2023-05-26 10:26 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
little animation (888.67 KB, image/gif)
2023-05-20 20:55 UTC, Holger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Holger 2023-05-20 20:55:45 UTC
Created attachment 159152 [details]
little animation

SUMMARY

On reproducing the crash for bug 469908 several times, I found my non-maximized windows are moving. It seems, the window decorations are not properly accounted for. So for each crash, the window jumps up / left by the thickness of the title-bar / its dragable border.

STEPS TO REPRODUCE
1. Setup a screen with some unmaximized windows/dialogs (e.g. Konsole, KMahjongg, KNotes, ...)
2. take first screenshot
3. kill -s 11 $(pidof kwin_x11)
4. take second screenshot

OBSERVED RESULT
The screenshots show some movement shifting some windows / dialogs potentially off screen

EXPECTED RESULT
Don't move.

SOFTWARE/OS VERSIONS
Operating System: Kubuntu 23.04
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.0-20-generic (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-4700MQ CPU @ 2.40GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4600
Manufacturer: Micro-Star International Co., Ltd.
Product Name: GE70 2OC\2OD\2OE
System Version: REV:1.0

ADDITIONAL INFORMATION
- KNotes seems immune, as it doesn't have decorations.
- Also Signal seems protected, as I have a window-rule to set it's position on initialization.
- And finally maximized windows likely ignore positioning and just set their state as maximized requesting all the screen.