diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2020-07-12 19:53:16 -0700 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2020-07-12 19:53:16 -0700 |
| commit | bd9b4d0e9fa9d88a9e39afabddb857b7d1e39c0c (patch) | |
| tree | 1c852d8c46a502187bbd05b1e469861235713cde | |
| parent | 3bce86b9db458f30fd90ca2556d4821bad54707a (diff) | |
xdg_shell: schedule configure on maximize requests
(cherry picked from commit 4dd46f06acc520449b980a5ea52be544cc5bfb6d)
| -rw-r--r-- | sway/desktop/xdg_shell.c | 10 |
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) transaction_commit_dirty(); } +static void handle_request_maximize(struct wl_listener *listener, void *data) { + struct wlr_xdg_surface *surface = data; + wlr_xdg_surface_schedule_configure(surface); +} + static void handle_request_move(struct wl_listener *listener, void *data) { struct sway_xdg_shell_view *xdg_shell_view = wl_container_of(listener, xdg_shell_view, request_move); @@ -402,6 +407,7 @@ static void handle_unmap(struct wl_listener *listener, void *data) { wl_list_remove(&xdg_shell_view->commit.link); wl_list_remove(&xdg_shell_view->new_popup.link); wl_list_remove(&xdg_shell_view->request_fullscreen.link); + wl_list_remove(&xdg_shell_view->request_maximize.link); wl_list_remove(&xdg_shell_view->request_move.link); wl_list_remove(&xdg_shell_view->request_resize.link); wl_list_remove(&xdg_shell_view->set_title.link); @@ -450,6 +456,10 @@ static void handle_map(struct wl_listener *listener, void *data) { wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen, &xdg_shell_view->request_fullscreen); + xdg_shell_view->request_maximize.notify = handle_request_maximize; + wl_signal_add(&xdg_surface->toplevel->events.request_maximize, + &xdg_shell_view->request_maximize); + xdg_shell_view->request_move.notify = handle_request_move; wl_signal_add(&xdg_surface->toplevel->events.request_move, &xdg_shell_view->request_move); |
