summaryrefslogtreecommitdiff
path: root/src/core/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/window.c')
-rw-r--r--src/core/window.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/core/window.c b/src/core/window.c
index 79b7cb3e9..ba2891ff2 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3116,6 +3116,9 @@ meta_window_maximize_internal (MetaWindow *window,
meta_window_recalc_features (window);
set_net_wm_state (window);
+ if (window->surface && window->maximized_horizontally && window->maximized_vertically)
+ meta_wayland_surface_send_maximized (window->surface);
+
g_object_freeze_notify (G_OBJECT (window));
g_object_notify (G_OBJECT (window), "maximized-horizontally");
g_object_notify (G_OBJECT (window), "maximized-vertically");
@@ -3601,10 +3604,13 @@ meta_window_unmaximize_internal (MetaWindow *window,
set_net_wm_state (window);
}
- g_object_freeze_notify (G_OBJECT (window));
- g_object_notify (G_OBJECT (window), "maximized-horizontally");
- g_object_notify (G_OBJECT (window), "maximized-vertically");
- g_object_thaw_notify (G_OBJECT (window));
+ if (window->surface && !window->maximized_horizontally && !window->maximized_vertically)
+ meta_wayland_surface_send_unmaximized (window->surface);
+
+ g_object_freeze_notify (G_OBJECT (window));
+ g_object_notify (G_OBJECT (window), "maximized-horizontally");
+ g_object_notify (G_OBJECT (window), "maximized-vertically");
+ g_object_thaw_notify (G_OBJECT (window));
}
void
@@ -3707,6 +3713,9 @@ meta_window_make_fullscreen_internal (MetaWindow *window)
/* For the auto-minimize feature, if we fail to get focus */
meta_screen_queue_check_fullscreen (window->screen);
+ if (window->surface)
+ meta_wayland_surface_send_fullscreened (window->surface);
+
g_object_notify (G_OBJECT (window), "fullscreen");
}
}
@@ -3763,6 +3772,9 @@ meta_window_unmake_fullscreen (MetaWindow *window)
meta_window_update_layer (window);
+ if (window->surface)
+ meta_wayland_surface_send_unfullscreened (window->surface);
+
g_object_notify (G_OBJECT (window), "fullscreen");
}
}