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

Thomas Lübking thomas.luebking at gmail.com
Thu Jan 10 11:00:09 GMT 2013



> On Jan. 10, 2013, 6:42 a.m., Martin Gräßlin wrote:
> > 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.

plus as mentioned before, taskbar & pager can still use an altered version of the function (keeps any regression local)
i'm at 99.9% though ;-)


- Thomas


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


On Jan. 10, 2013, 6:50 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, 6:50 a.m.)
> 
> 
> Review request for kdelibs, kwin, Plasma, 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/c8d2f045/attachment.htm>
-------------- next part --------------
_______________________________________________
kwin mailing list
kwin at kde.org
https://mail.kde.org/mailman/listinfo/kwin


More information about the kde-core-devel mailing list