Diffusion KWin e62dad48a67f

Add a surface tree to DebugConsole

Authored by graesslin on Mar 23 2016, 10:25 AM.

Description

Add a surface tree to DebugConsole

Summary:
While developing support for sub-surfaces it became obvious that there
is a need for visualizing the tree of sub-surfaces.

The surface-tree is a new mode added in the debug console. There are now
two buttons to switch between the default window tree and the surface
tree.

The surface tree is a little bit more basic than the windows tree. The
type of window (whether x11, wayland or internal) is ignored. All windows
build up the top level with the sub surfaces as children.

Each surface is represented by some basic information about it:

  • Client (binary path and pid)
  • internal surface id

If the surface has a shared memory buffer mapped a scaled down version
is used as the window decoration role.

The model gets reset whenever the tree changes in some way as it's
rather complex to track correctly and well, it's just a debug console.

Currently the tree is not really functional yet as KWin doesn't announce
support for sub-compositor protocol, which is also the reason for lack of
autotests for the model. Will be added once sub-compositor works
properly.

Reviewers: Plasma

Subscribers: plasma-devel

Projects: Plasma

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

Details

Committed
graesslinMar 23 2016, 2:07 PM
Differential Revision
D1205: Add a surface tree to DebugConsole
Parents
R108:6e18cae42aca: Drop xcb-shm usage from QPainterWindowPixmap
Branches
Unknown
Tags
Unknown