Skip to content
  • Martin Flöser's avatar
    Support passing generic QIcon through PlasmaWindow interface · bd2b9665
    Martin Flöser authored
    Summary:
    Especially for Xwayland windows the compositor might not have a themed
    icon name. Resulting in a task manager not having dedicated icons for
    Xwayland windows.
    
    This change deprecates the way how a compositor is supposed to set the
    window icon. Instead of passing the themed icon name, it is now supposed to
    pass the QIcon. In case it's a themed icon the existing way to pass to
    the client is used.
    
    Otherwise a new event is used to inform the client that there is an icon
    - no data is transmitted at this point. The client can then create a
    file descriptor and pass it to the compositor. The compositor serializes
    the icon into the file descriptor and the client can read from it. This
    all happens transparently on client side there is no api change at all.
    
    The writing and reading of the icon is done in a thread. Due to that
    Qt5::Concurrent is now a required dependency instead of an optional
    dependency.
    
    Reviewers: #plasma_on_wayland, hein
    
    Subscribers: plasma-devel
    
    Tags: #plasma_on_wayland
    
    Differential Revision: https://phabricator.kde.org/D3049
    bd2b9665