xdg_shell: schedule configure on maximize requests

master
Ronan Pigott 4 years ago committed by Simon Ser
parent 9bb70283e9
commit 4dd46f06ac

@ -369,6 +369,11 @@ static void handle_request_fullscreen(struct wl_listener *listener, void *data)
transaction_commit_dirty(); 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) { static void handle_request_move(struct wl_listener *listener, void *data) {
struct sway_xdg_shell_view *xdg_shell_view = struct sway_xdg_shell_view *xdg_shell_view =
wl_container_of(listener, xdg_shell_view, request_move); wl_container_of(listener, xdg_shell_view, request_move);
@ -411,6 +416,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->commit.link);
wl_list_remove(&xdg_shell_view->new_popup.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_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_move.link);
wl_list_remove(&xdg_shell_view->request_resize.link); wl_list_remove(&xdg_shell_view->request_resize.link);
wl_list_remove(&xdg_shell_view->set_title.link); wl_list_remove(&xdg_shell_view->set_title.link);
@ -459,6 +465,10 @@ static void handle_map(struct wl_listener *listener, void *data) {
wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen, wl_signal_add(&xdg_surface->toplevel->events.request_fullscreen,
&xdg_shell_view->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; xdg_shell_view->request_move.notify = handle_request_move;
wl_signal_add(&xdg_surface->toplevel->events.request_move, wl_signal_add(&xdg_surface->toplevel->events.request_move,
&xdg_shell_view->request_move); &xdg_shell_view->request_move);

Loading…
Cancel
Save