Summary: | Pointer constraints protocol not honored when switching from server side decorations to client side | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Mark Bolhuis <mark> |
Component: | input | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | normal | CC: | mark, nate |
Priority: | NOR | Keywords: | wayland-only |
Version First Reported In: | 5.23.5 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
A small C file that demonstrates the bug
CORRECTION: Small C program that demonstrates the bug. |
Description
Mark Bolhuis
2022-02-04 21:42:34 UTC
Created attachment 146286 [details]
A small C file that demonstrates the bug
This is a small C file that demonstrates the bug.
I have omitted error handling for brevity.
I have not included xkbcommon to keep the code simpler, so you'll need to chose some appropriate scan-codes for controlling both ssd/csd and constraining.
You can edit the KEY_ definitions at the top of the file.
The current codes are 'u', 'l', 'c', 's', for US-ANSI keyboards.
Created attachment 146288 [details]
CORRECTION: Small C program that demonstrates the bug.
The previous attachment was archived incorrectly.
See this for the correct file.
This bug was reported against an outdated version of KWin. We have made many changes since the. If the issue persists in newer versions can you reopen the bug report updating the version number. (In reply to David Edmundson from comment #3) > This bug was reported against an outdated version of KWin. We have made many > changes since the. > If the issue persists in newer versions can you reopen the bug report > updating the version number. I've run some tests again on 5.27.7 and can confirm that the bug no longer appears. I'm not sure what the problem was but I think it was something to do with Kwin preserving the entire frame size when toggling between SSD and CSD. IIRC on 5.23 the window was maintaining the same client area size, and the client area wasn't moved or resized until another configure cycle, but the frame bounds were moved, meaning that the pointer was being confined to a region that didn't match where the client area was. |