Review Request: use _NET_WM_STATE_HIDDEN to check if the window is minimized instead of WM_STATE == ICONIC when possible.

Martin Gräßlin kde at martin-graesslin.com
Thu Jan 10 06:42:33 GMT 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108308/#review25123
-----------------------------------------------------------


the big question is whether the code has been like that for historic reasons or whether there are problems with some window managers. I am for 99 % sure that it's for historic reasons, but the remaining 1 % tells me that it's dangerous to go into 4.10 (we hardly test with other WMs any more). Also given the fact that it has been broken for quite some time (and only with a non-default option in KWin), tells me that it's not like immediate action needed.

Personally I would say the best we can do is introducing a proper _NET_WM_STATE_MINIMIZED which we set for minimized windows. Not sure whether we could agree on that in the standard, but at least we could add a KDE hint. We see the problem with _NET_WM_STATE_HIDDEN in the comment section of the code: shaded windows use it, too.

- Martin Gräßlin


On Jan. 10, 2013, 12:12 a.m., Yichao Yu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108308/
> -----------------------------------------------------------
> 
> (Updated Jan. 10, 2013, 12:12 a.m.)
> 
> 
> Review request for kdelibs, kwin, Aaron J. Seigo, and Martin Gräßlin.
> 
> 
> Description
> -------
> 
> When setting "Keep window thumbnails" to "Always (Breaks minimization)", kwin will keep WM_STATE to be NORMAL when a client is minimized while including _NET_WM_STATE_HIDDEN in its _NET_WM_STATE, as confirmed by ICCCM[1] and Extended Window Manager Hints[2]. However, apart from the expected result (breaks minimization: the client will continue to refresh its content) the minimized window is not shown as minimized in icontasks and pager.
> 
> These two plasma addons (and probably other addons as well) uses KWindowInfo::isMinimized to determine whether the window is minimized. However, this function threat all window that are not Iconic (WM_STATE != ICONIC) as not minimized, in contradiction to the "Extended window manager hints" which says, "Pagers and similar applications should use _NET_WM_STATE_HIDDEN instead of WM_STATE to decide whether to display a window in miniature representations of the windows on a desktop."
> 
> This patch correct this behavior and therefore correct the behavior of both pager and icontasks in this situation.
> 
> [1] http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.3.1
> [2] http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2731936
> 
> 
> Diffs
> -----
> 
>   kdeui/windowmanagement/kwindowinfo_x11.cpp d983c9a 
> 
> Diff: http://git.reviewboard.kde.org/r/108308/diff/
> 
> 
> Testing
> -------
> 
> Compiled, pager and icontasks shows minimized windows correctly.
> Also tested on openbox (+plasma's pager) by "Xuetian Weng".
> 
> 
> Thanks,
> 
> Yichao Yu
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130110/892671e4/attachment.htm>


More information about the kde-core-devel mailing list