Treat NET::Utility type windows as SkipTaskbar.
ClosedPublic

Authored by hein on Sep 17 2016, 4:23 PM.

Details

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

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
hein updated this revision to Diff 6794.Sep 17 2016, 4:23 PM
hein retitled this revision from to Treat NET::Utility type windows as SkipTaskbar..
hein updated this object.
hein edited the test plan for this revision. (Show Details)
hein added reviewers: Plasma, davidedmundson, broulik.
hein added a subscriber: plasma-devel.
Restricted Application added a project: Plasma. · View Herald TranscriptSep 17 2016, 4:23 PM
davidedmundson accepted this revision.Sep 18 2016, 3:14 PM
davidedmundson edited edge metadata.
This revision is now accepted and ready to land.Sep 18 2016, 3:14 PM
This revision was automatically updated to reflect the committed changes.