constraints: Translate frame to client rect for legacy fullscreen check

Stupid apps fullscreen themselves by resizing the client window to
monitor size. A monitor-sized frame rect on the other hand is perfectly
normal on monitors without struts - stop force-fullscreening those
and catch the real baddies instead.

https://bugzilla.gnome.org/show_bug.cgi?id=730681
This commit is contained in:
Florian Müllner 2014-06-06 14:53:33 +02:00
parent ebc2e7221b
commit 3f6c6f1dd9

View File

@ -411,6 +411,9 @@ setup_constraint_info (ConstraintInfo *info,
* if there are no struts making the workarea smaller than * if there are no struts making the workarea smaller than
* the monitor. * the monitor.
*/ */
meta_window_frame_rect_to_client_rect (window, new, new);
if (meta_prefs_get_force_fullscreen() && if (meta_prefs_get_force_fullscreen() &&
window->client_type != META_WINDOW_CLIENT_TYPE_WAYLAND && window->client_type != META_WINDOW_CLIENT_TYPE_WAYLAND &&
!window->hide_titlebar_when_maximized && !window->hide_titlebar_when_maximized &&
@ -429,6 +432,8 @@ setup_constraint_info (ConstraintInfo *info,
meta_window_make_fullscreen_internal (window); meta_window_make_fullscreen_internal (window);
} }
meta_window_client_rect_to_frame_rect (window, new, new);
/* Log all this information for debugging */ /* Log all this information for debugging */
meta_topic (META_DEBUG_GEOMETRY, meta_topic (META_DEBUG_GEOMETRY,
"Setting up constraint info:\n" "Setting up constraint info:\n"