kwin/decorations
Martin Gräßlin 24bdfc6317 Make Toplevel::window() no longer virtual and introduce ::windowId()
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.

Reviewers: #plasma

Subscribers: plasma-devel

Projects: #plasma

Differential Revision: https://phabricator.kde.org/D1527
2016-05-17 14:13:24 +02:00
..
decoratedclient.cpp Make Toplevel::window() no longer virtual and introduce ::windowId() 2016-05-17 14:13:24 +02:00
decoratedclient.h Delay maximize button click to next event cycle 2016-05-11 13:45:14 +02:00
decorationbridge.cpp Add an explicit dependency to Breeze to find decoration plugin 2016-04-12 08:54:50 +02:00
decorationbridge.h DecorationBridge creates Decoration for AbstractClient 2015-12-18 16:41:49 +01:00
decorationpalette.cpp [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
decorationpalette.h Adapt to KDecoration API changes 2015-03-31 15:26:55 +02:00
decorationrenderer.cpp [decoration] Use client's depth in X11Renderer for put_image 2015-01-12 11:43:29 +01:00
decorationrenderer.h Override ::reparent in X11Renderer 2014-08-11 11:41:08 +02:00
decorations_logging.cpp [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
decorations_logging.h [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
settings.cpp Use kwinApp()->config() instead of KSharedConfig::openConfig() 2016-01-29 11:24:18 +01:00
settings.h Bring back configuration options for Decorations 2014-12-04 16:28:06 +01:00