mate-desktop / marco

MATE default window manager
https://mate-desktop.org
GNU General Public License v2.0
195 stars 86 forks source link

window: Only unmaximize when the window is already maximized. #679

Closed zzhiyi closed 3 years ago

zzhiyi commented 3 years ago

When handling a ClientMessage event that removes _NET_WM_STATE_MAXIMIZED_HORZ or _NET_WM_STATE_MAXIMIZED_VERT from _NET_WM_STATE, marco always restores the window rectangle to the saved rectangle. So if an application window is already unmaximized and the application sends such a ClientMessage event, marco will reset the window rectangle regardless. EWMH doesn't specify what must be done when handling such events. It seems best to avoid restoring window rectangles like other window managers in this case.

Fix a related bug: https://bugs.winehq.org/show_bug.cgi?id=50381

This revert a change introduced by 6219f8e8bcaeefb9185a3c3f5f20de4e2fa8f18f.

Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com