aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sway/desktop/xdg_shell.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index df751ef6..b9f39833 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -360,6 +360,11 @@ static void handle_request_fullscreen(struct wl_listener *listener, void *data)
360 transaction_commit_dirty(); 360 transaction_commit_dirty();
361} 361}
362 362
363static void handle_request_maximize(struct wl_listener *listener, void *data) {
364 struct wlr_xdg_surface *surface = data;
365 wlr_xdg_surface_schedule_configure(surface);
366}
367
363static void handle_request_move(struct wl_listener *listener, void *data) { 368static void handle_request_move(struct wl_listener *listener, void *data) {
364 struct sway_xdg_shell_view *xdg_shell_view = 369 struct sway_xdg_shell_view *xdg_shell_view =
365 wl_container_of(listener, xdg_shell_view, request_move); 370 wl_container_of(listener, xdg_shell_view, request_move);
@@ -402,6 +407,7 @@ static void handle_unmap(struct wl_listener *listener, void *data) {
402 wl_list_remove(&xdg_shell_view->commit.link); 407 wl_list_remove(&xdg_shell_view->commit.link);
403 wl_list_remove(&xdg_shell_view->new_popup.link); 408 wl_list_remove(&xdg_shell_view->new_popup.link);
404 wl_list_remove(&xdg_shell_view->request_fullscreen.link); 409 wl_list_remove(&xdg_shell_view->request_fullscreen.link);
410 wl_list_remove(&xdg_shell_view->request_maximize.link);
405 wl_list_remove(&xdg_shell_view->request_move.link); 411 wl_list_remove(&xdg_shell_view->request_move.link);
406 wl_list_remove(&xdg_shell_view->request_resize.link); 412 wl_list_remove(&xdg_shell_view->request_resize.link);
407 wl_list_remove(&xdg_shell_view->set_title.link); 413 wl_list_remove(&xdg_shell_view->set_title.link);
@@ -450,6 +456,10 @@ static void handle_map(struct wl_listener *listener, void *data) {
450 wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen, 456 wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen,
451 &xdg_shell_view->request_fullscreen); 457 &xdg_shell_view->request_fullscreen);
452 458
459 xdg_shell_view->request_maximize.notify = handle_request_maximize;
460 wl_signal_add(&xdg_surface->toplevel->events.request_maximize,
461 &xdg_shell_view->request_maximize);
462
453 xdg_shell_view->request_move.notify = handle_request_move; 463 xdg_shell_view->request_move.notify = handle_request_move;
454 wl_signal_add(&xdg_surface->toplevel->events.request_move, 464 wl_signal_add(&xdg_surface->toplevel->events.request_move,
455 &xdg_shell_view->request_move); 465 &xdg_shell_view->request_move);