Imply SkipTaskbar and SkipPager depending on Window Type

Review Request #118909 - Created June 23, 2014 and updated

Martin Flöser
kdeframeworks, kwin
Imply SkipTaskbar and SkipPager depending on Window Type

Quoting EWMH:
"Applications should not set this hint if _NET_WM_WINDOW_TYPE already
conveys the exact nature of the window."

This means if the window type implies a SkipPager or SkipTaskbar the
window will not have it set. To simplify the life of our API users we
should add the state and not require our users to check that manually.

Every Normal or Dialog window does not imply that it shouldn't be shown.
As our KDE Override is not a proper window type we can assume that it's
also a Normal window or a Dialog.

The change is done in KWindowInfo and requires that the API user adds
NET::WMWindowType explicitly to the properties. NETWinInfo is not
adjusted to have it reflect the actual state of the atoms. Here we can
assume that the users of the more low-level API are aware of the EWMH
spec and will implement these checks themselves.

Thomas Lübking
What about (non override) utility windows (eg. assume Qt would not set floating dock override to bring its own titlebar)?
While kwin (iirc by default) hides them for inactive windows, that's rather a feature.

-> By their nature, they should not be in the taskbar. But should they not appear in pagers?
  1. > What about (non override) utility windows
    Eike, what's your opinion on that from task manager perspective? Is the nature of a utility window to skip taskbar?
    > But should they not appear in pagers?
    yes, it has the same text: "This hint should be requested by the application, i.e. it indicates that the window by nature is never in the Pager."
  2. I totally missed this review somehow. I feel like Utility windows should skip, yeah.

    See also plasma-workspace.git c34550cf.

    Can you recheck you still want this? You can get a +1 then.

  3. I guess we all actually agree on skipping the taskbar, the question was about pagers.
    They're distinct hints - so the nature of one does hardly imply the nature of the other.

    No idea how widely pagers are used, but it would hide eg. the gimp docks and we do not enforce them to be on the VD of the image editor (we would not even if they were transient...), ie. they'd loose their representation in the pager (and you don't know they're over there)