luebking added a comment.
Unless things changed for the worse, clients (through this function) still send a client message (on _NET_ACTIVE_WINDOW) - the difference between the regular call and the force version is the source indication being "2" ("i'm a pager/taskbar and know what i'm doing so please do") - but the actual property is still set by the WM after receiving (and honoring) such message. IOW, whenever the property on the root window is set by anything but kwin, anything™ has a bug. Period. This member variable will systematically get out of in a race between kwin and the X11 server (ie. you can be sure there're some ns - ms where m_activeWindow will differ from ::activeWindow()) but any other case is clearly misbehavior in a 3rd process (or the X11 server failing to handle the property update request) REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D7096 To: graesslin, #kwin, #plasma, davidedmundson Cc: luebking, davidedmundson, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas