Skip to content
  • Martin Flöser's avatar
    Add a surface tree to DebugConsole · e62dad48
    Martin Flöser authored
    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
    e62dad48