[wayland] Dismiss popups when they lose focus
AbandonedPublic

Authored by zzag on Sep 13 2018, 2:15 PM.

Details

Reviewers
None
Group Reviewers
KWin
Summary

Currently, if you right-click the desktop and then click somewhere
else(e.g. panel), the popup will stay visible.

This happens because KWin doesn't dismiss popups if you click somewhere
else in the same app. The desktop window and the panel window belong to
the same app so the popup is not dismissed.

From user's perspective this is wrong because the popup lost focus, thus
it should be dismissed.

testDecoCancelsPopup was deleted because it doesn't really matter
whether we click window decoration, what matters is whether we click outside
of popup.

BUG: 379635
FIXED-IN: 5.14.0

Test Plan
  • Right-clicked desktop, then clicked panel (the popup disappeared);
  • Right-clicked empty area in Dolphin, then clicked the "Control" button (the popup disappeared);
  • Right-clicked empty area in Dolphin, then clicked empty area on my desktop (the popup disappeared).

Diff Detail

Repository
R108 KWin
Branch
wayland-dismiss-popups-on-lost-focus
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 2807
Build 2825: arc lint + arc unit
zzag created this revision.Sep 13 2018, 2:15 PM
Restricted Application added a project: KWin. · View Herald TranscriptSep 13 2018, 2:15 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Sep 13 2018, 2:15 PM
zzag edited the summary of this revision. (Show Details)Sep 13 2018, 2:21 PM

The decision to dismiss popups when a click is registered on a different surface of the same client is responsibility of the client. To fix Plasma in this regard one would need to do this somewhere in Plasma shell or frameworks therefore and not in KWin. But there a fix is badly needed for sure.

zzag abandoned this revision.Sep 13 2018, 4:18 PM

OK, then.