Skip to content
  • Eike Hein's avatar
    Treat NET::Utility type windows as SkipTaskbar. · 7dee4619
    Eike Hein authored
    Summary:
    Utility windows (NET::Utility/_NET_WM_WINDOW_TYPE_UTILITY) should
    not be on the Task Manager, but they should be on the Pager. This
    patch achieves this by evaluating the window type in the
    AbstractTasksModel::SkipTaskBar data role.
    
    I considered the alternative approach of making a new
    AbstractTasksModel::IsUtilityWindow (or similar) data role and
    adding a pass to evaluate it to TaskFilterProxyModel, then
    configuring the filter models in TasksModel and the Pager backend
    differently. But this is not very extensible. Then I realized that
    AbstractTasksModel data roles do not and should not reflect X11
    idioms anyway; the point of the library is to abstract for the
    purpose of UI, and what XWindowTasksModel considers "SkipTaskBar"
    is really an implementation detail. This makes all the more sense
    considering on Wayland we have no notion of window types (beyond
    "popup") yet, and don't quite now how it's going to evolve.
    
    Various API docstrings have been changed to better reflect that
    the meaning of the data role doesn't map to anything specific in
    the tasks.
    
    BUG:368956
    
    Reviewers: #plasma, davidedmundson, broulik
    
    Subscribers: plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D2807
    7dee4619