Bug 391960 - NETWinInfo::setFullscreenMonitors incorrectly implemented
Summary: NETWinInfo::setFullscreenMonitors incorrectly implemented
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kwindowsystem
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.44.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL: https://phabricator.kde.org/D11414
Keywords:
: 394246 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-03-17 11:02 UTC by Martin Flöser
Modified: 2018-05-14 15:53 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Flöser 2018-03-17 11:02:47 UTC
NETWinInfo::setFullscreenMonitors should send a client message to the root window if a client indicates to change it. In response the window manager should update the property (see https://standards.freedesktop.org/wm-spec/wm-spec-1.4.html#idm139915842318112 )

But the implementation has the client set the property and the window manager does not do anything.
Comment 1 Martin Flöser 2018-03-18 10:46:07 UTC
Patch at: https://phabricator.kde.org/D11414
Comment 2 Martin Flöser 2018-03-21 05:50:10 UTC
Git commit cc5d6fde1abad968a6c54e872a56833db876dca4 by Martin Flöser.
Committed on 18/03/2018 at 10:45.
Pushed by graesslin into branch 'master'.

[xcb] Fix implementation of _NET_WM_FULLSCREEN_MONITORS

Summary:
According to NETWM spec the client "wishing to change this list MUST send
a _NET_WM_FULLSCREEN_MONITORS client message to the root window". This
was not implemented at all, instead the property was updated. The
property must be set by the window manager, or as the spec says:
"The Window Manager MUST keep this list updated to reflect the current
state of the window."

In KWin (as the user of NETWinInfo) this was implemented correctly (see
kwin, file netinfo.cpp method WinInfo::changeFullscreenMonitors).

Test Plan:
New test case added which verifies the client/wm interplay,
old and incorrect test case removed

Reviewers: #frameworks, #kwin, #plasma

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D11414

M  +0    -44   autotests/netwininfotestclient.cpp
M  +85   -0    autotests/netwininfotestwm.cpp
M  +17   -11   src/platforms/xcb/netwm.cpp

https://commits.kde.org/kwindowsystem/cc5d6fde1abad968a6c54e872a56833db876dca4
Comment 3 Martin Flöser 2018-05-14 15:53:18 UTC
*** Bug 394246 has been marked as a duplicate of this bug. ***