Bug 400675

Summary: Message appears in the upper left corner after I press ctrl+alt+esc a second time on Wayland
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: nate, tromzy
Priority: NOR Flags: mgraesslin: Wayland+
mgraesslin: X11-
Version: 5.19.90   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.20
Sentry Crash Report:
Attachments: screenshot

Description Patrick Silva 2018-11-04 17:58:35 UTC
Created attachment 116088 [details]
screenshot

STEPS TO REPRODUCE
1. start Wayland session
2. press ctrl+alt+esc: a message appears centered on screen asking you to select a window to close with left click or press ESC to cancel.
3. Press ESC, press ctrl+alt+esc again

OBSERVED RESULT
now the same message appears in the upper left corner. See the screenshot please.

EXPECTED RESULT
The mssage should always be centered on the screen.


SOFTWARE VERSIONS
Arch Linux
KDE Plasma Version: 5.14.2
KDE Frameworks Version: 5.51
Qt Version: 5.12 beta3
Comment 1 tromzy 2019-01-23 12:39:36 UTC
I can confirm this behaviour on :

Arch Linux
KDE Plasma Version: 5.14.90
KDE Frameworks Version: 5.54
Qt Version: 5.12.0
Comment 2 Patrick Silva 2019-05-16 18:09:29 UTC
A message also appears in the upper left corner when I press printscreen.

Operating System: Arch Linux 
KDE Plasma Version: 5.15.90
KDE Frameworks Version: 5.58.0
Qt Version: 5.13.0 beta3
Comment 3 Patrick Silva 2019-09-19 18:17:11 UTC
pressing ctrl+alt+esc just once is enough on Plasma 5.17. beta.
Comment 4 Patrick Silva 2020-09-18 20:54:50 UTC
Currently the message always appears in the upper left corner.

Operating System: Arch Linux
KDE Plasma Version: 5.19.90
KDE Frameworks Version: 5.74.0
Qt Version: 5.15.1
Comment 5 Vlad Zahorodnii 2020-09-23 14:39:34 UTC
Git commit bc34736534d3e288f985551ee16f3aace9675389 by Vlad Zahorodnii.
Committed on 23/09/2020 at 14:39.
Pushed by vladz into branch 'master'.

Use better window placement heuristics for internal clients

Currently, we do some sort of window placement only for decorated
internal windows, which feels hacky.

With this change, all internal clients will go through the window
placement code, unless it's a popup or the BypassWindowManagerHint
flag is set.

If the BypassWindowManagerHint flag is set, the window must have
valid position.

M  +5    -0    internal_client.cpp
M  +1    -0    internal_client.h
M  +3    -2    workspace.cpp

https://invent.kde.org/plasma/kwin/commit/bc34736534d3e288f985551ee16f3aace9675389
Comment 6 Bug Janitor Service 2020-09-23 15:37:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/284
Comment 7 Vlad Zahorodnii 2020-09-29 14:06:58 UTC
Git commit 4559d30399bebf5867c7bf49bc75064bcbaed872 by Vlad Zahorodnii.
Committed on 29/09/2020 at 14:06.
Pushed by vladz into branch 'master'.

Place internal osd windows according to placement policies

Currently, internal on screen display windows have the bypass window
manager hint set. If that hint is set, the osds must place themselves,
but they don't do it.

As far as I know, there is no any reason why internal OSDs have that
flag set.

By removing the Qt::BypassWindowManagerHint flag, we let kwin core
know that it's okay to place internal OSD windows.

M  +1    -1    qml/onscreennotification/plasma/main.qml

https://invent.kde.org/plasma/kwin/commit/4559d30399bebf5867c7bf49bc75064bcbaed872
Comment 8 Vlad Zahorodnii 2020-09-29 14:09:04 UTC
Git commit ef65a34017c2fb7cc69d49c6c3110d0236397e4f by Vlad Zahorodnii.
Committed on 29/09/2020 at 14:08.
Pushed by vladz into branch 'Plasma/5.20'.

Use better window placement heuristics for internal clients

Currently, we do some sort of window placement only for decorated
internal windows, which feels hacky.

With this change, all internal clients will go through the window
placement code, unless it's a popup or the BypassWindowManagerHint
flag is set.

If the BypassWindowManagerHint flag is set, the window must have
valid position.


(cherry picked from commit bc34736534d3e288f985551ee16f3aace9675389)

M  +5    -0    internal_client.cpp
M  +1    -0    internal_client.h
M  +3    -2    workspace.cpp

https://invent.kde.org/plasma/kwin/commit/ef65a34017c2fb7cc69d49c6c3110d0236397e4f
Comment 9 Vlad Zahorodnii 2020-09-29 14:10:05 UTC
Git commit 6e56d5741da68a76e5038c2ceb168ad74dc8effb by Vlad Zahorodnii.
Committed on 29/09/2020 at 14:10.
Pushed by vladz into branch 'Plasma/5.20'.

Place internal osd windows according to placement policies

Currently, internal on screen display windows have the bypass window
manager hint set. If that hint is set, the osds must place themselves,
but they don't do it.

As far as I know, there is no any reason why internal OSDs have that
flag set.

By removing the Qt::BypassWindowManagerHint flag, we let kwin core
know that it's okay to place internal OSD windows.


(cherry picked from commit 4559d30399bebf5867c7bf49bc75064bcbaed872)

M  +1    -1    qml/onscreennotification/plasma/main.qml

https://invent.kde.org/plasma/kwin/commit/6e56d5741da68a76e5038c2ceb168ad74dc8effb