linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.48k stars 728 forks source link

Missing unmap by minimizing window #7636

Closed mse2 closed 6 years ago

mse2 commented 6 years ago

The window manager for Cinnamon does not unmap the client window if one clicks the '_' window frame button in order to minimize the window. ICCCM:

Reparenting window managers must unmap the client's window when it is in the Iconic state, even if an ancestor window being unmapped renders the client's window unviewable.

https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#changing_window_state

Steps to reproduce Run the attached program in a terminal, click the '_' window frame button of the showed black window. minimizewindow.c.zip

Test results: Mint Cinnamon 18.2 1 21 ReparentNotify 2 28 PropertyNotify 3 28 PropertyNotify 4 28 PropertyNotify 5 22 ConfigureNotify 6 28 PropertyNotify 7 28 PropertyNotify 8 28 PropertyNotify 9 22 ConfigureNotify 10 28 PropertyNotify 11 19 MapNotify 12 12 Expose 13 9 FocusIn 14 11 KeymapNotify 15 28 PropertyNotify 16 3 KeyRelease 17 28 PropertyNotify 18 28 PropertyNotify 19 28 PropertyNotify 20 10 FocusOut
21 28 PropertyNotify <<-no unmap

Mint Mate 18.2 1 28 PropertyNotify 2 21 ReparentNotify 3 28 PropertyNotify 4 28 PropertyNotify 5 28 PropertyNotify 6 22 ConfigureNotify 7 28 PropertyNotify 8 28 PropertyNotify 9 28 PropertyNotify 10 22 ConfigureNotify 11 19 MapNotify 12 12 Expose 13 28 PropertyNotify 14 9 FocusIn 15 11 KeymapNotify 16 28 PropertyNotify 17 28 PropertyNotify 18 3 KeyRelease 19 10 FocusOut 20 18 UnmapNotify <<-unmap 21 28 PropertyNotify 22 28 PropertyNotify

KDE 5 1 28 PropertyNotify 2 21 ReparentNotify 3 28 PropertyNotify 4 19 MapNotify 5 12 Expose 6 28 PropertyNotify 7 28 PropertyNotify 8 28 PropertyNotify 9 28 PropertyNotify 10 28 PropertyNotify 11 28 PropertyNotify 12 28 PropertyNotify 13 28 PropertyNotify 14 28 PropertyNotify 15 28 PropertyNotify 16 9 FocusIn 17 11 KeymapNotify 18 12 Expose 19 12 Expose 20 22 ConfigureNotify 21 28 PropertyNotify 22 28 PropertyNotify 23 28 PropertyNotify 24 28 PropertyNotify 25 10 FocusOut 26 18 UnmapNotify <<-unmap 27 28 PropertyNotify

JosephMcc commented 6 years ago

Neither muffin or mutter, that muffin is based on, do this. Other parts of the desktop environment rely on this behaviour so it's unlikely to change anytime soon.

fredvs commented 6 years ago

Corresponding Gnome bug reports:

https://gitlab.gnome.org/GNOME/mutter/issues/185 https://bugzilla.opensuse.org/show_bug.cgi?id=1096896