GNOME Bugzilla – Bug 676521
Windows without decorations can't unfullscreen when there are no panels
Last modified: 2021-07-05 13:53:04 UTC
When running Chrome, if the desktop doesn't have any panels, the window will get stuck in fullscreen mode. Here's a video from a user: http://youtu.be/c6in5GJHBvE This is because of the force_fullscreen code in mutter. Specifically: /* Workaround braindead legacy apps that don't know how to * fullscreen themselves properly - don't get fooled by * windows which hide their titlebar when maximized; that's * not the same as fullscreen, even if there are no struts * making the workarea smaller than the monitor. */ if (meta_prefs_get_force_fullscreen() && !window->hide_titlebar_when_maximized && meta_rectangle_equal (new, &monitor_info->rect) && window->has_fullscreen_func && !window->fullscreen) . For now, I'm going to try to get Chrome to set the hide_titlebar_when_maximized property on its windows, but it might be useful to either remove this code or add some more explicit support for this behavior.
code originally introduced in c96afba71d917d46aacf625ef09327ab71dc388 2006-08-21 Elijah Newren <newren gmail com> Fix several bugs with handling of fullscreen windows, causing them to not actually be fullscreen. #343115 (and also #346927, #350547, #351643, the recent additional WINE-related issue mentioned on the mailing list, and probably others...)
This also affects Office applications running in Wine (Excel 2010 tested here), at least on secondary monitors that are laid out such that wine can determine through _NET_WORKAREA that there are no struts. Maximizing causes the windows to fullscreen, and it's then impossible to unfullscreen them. The version of mutter I'm using has the fix for bug 730681. Maybe this check should be skipped for monitors with no struts? The window doesn't really need to fullscreen in that case to get the requested position. Or maybe, if fullscreen state is added to the window automatically via configure request, it needs to also be possible to remove fullscreen state via configure request?
Also affects wireshark: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780089 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=11303 The workaround is installing Multiple Monitor Panels GNOME extension: https://extensions.gnome.org/extension/323/multiple-monitor-panels/
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/mutter/-/issues/ Thank you for your understanding and your help.