[Differential] [Request, 53 lines] D1527: Make Toplevel::window() no longer virtual and introduce ::windowId()
graesslin (Martin Gräßlin)
noreply at phabricator.kde.org
Mon May 2 15:53:24 UTC 2016
graesslin created this revision.
graesslin added a reviewer: Plasma.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
Toplevel::window() is the actual X11 window. This makes it difficult
to use as the generic identifier for both X11 and Wayland. The Wayland
ShellClient already had a windowId() which is now added to Toplevel as
a virtual method. On X11 (Toplevel default) it returns the window().
The method window() now returns XCB_WINDOW_NONE for classes without
the Toplevel::m_client, such as ShellClient. Thus it allows to properly
check whether we are on Wayland or X11.
The code is adjusted to use windowId where a generic id is needed and
to properly check whether the window is valid before using it where
a window() is used.
This also fixes at least one additional unknown issue in
Workspace::setActiveClient
where the windowId of a Wayland client was passed to X11.
REPOSITORY
rKWIN KWin
BRANCH
split-window-and-windowId
REVISION DETAIL
https://phabricator.kde.org/D1527
AFFECTED FILES
decorations/decoratedclient.cpp
effects.cpp
shadow.cpp
shell_client.cpp
shell_client.h
tabbox/tabbox.cpp
thumbnailitem.cpp
toplevel.cpp
toplevel.h
useractions.cpp
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: graesslin, Plasma
Cc: plasma-devel, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160502/ab0bea2a/attachment-0001.html>
More information about the Plasma-devel
mailing list