[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