Fix EWMH non-compliance for NET::{OnScreenDisplay,CriticalNotification}

Authored by catherinez on Thu, Feb 13, 9:28 AM.


Group Reviewers

The EWMH specification for _NET_WM_WINDOW_TYPE states:

The Client SHOULD specify window types in order of preference
(the first being most preferable) but MUST include at least one of
the basic window type atoms from the list below. This is to allow
for extension of the list of types whilst providing default behavior
for Window Managers that do not recognize the extensions.

KDE currently does not do this for its extended window types due to
what appears to be a copy-paste error 5 years ago, and so is not
EWMH compliant. This also causes focus stealing issues with i3 that
lack a workaround:

Diff Detail

R278 KWindowSystem
Lint Skipped
Unit Tests Skipped
catherinez created this revision.Thu, Feb 13, 9:28 AM
Restricted Application added a project: Frameworks. · View Herald TranscriptThu, Feb 13, 9:28 AM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
catherinez requested review of this revision.Thu, Feb 13, 9:28 AM

Note that there are what I assume 3 more instances of a similar copy-paste error, for DropdownMenu, PopupMenu, and Notification. I didn't touch them because KDE is currently EWMH compliant for these window types, and because I lack the context to understand the consequences of such a change. (For example, if I fix Notification then it'll start triggering i3 rules for utility windows, which seems potentially problematic.)

broulik added a subscriber: broulik.EditedThu, Feb 13, 9:32 AM

Nice find!
It appears the DropdownMenu, PopupMenu, and Notification type also incorrectly use a len = 1? Ok, question answered :)

davidedmundson accepted this revision.Thu, Feb 13, 9:50 AM
davidedmundson added a subscriber: davidedmundson.

Do you have commit access?

This revision is now accepted and ready to land.Thu, Feb 13, 9:50 AM