xdg: Implement request_minimize

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2021-12-31 02:44:25 +00:00 committed by Johan Malm
parent 295d5172d4
commit 2d98179b31
2 changed files with 13 additions and 0 deletions

View file

@ -277,6 +277,7 @@ struct view {
struct wl_listener request_move;
struct wl_listener request_resize;
struct wl_listener request_configure; /* xwayland only */
struct wl_listener request_minimize;
struct wl_listener request_maximize;
struct wl_listener request_fullscreen;
struct wl_listener set_title;

View file

@ -135,6 +135,16 @@ handle_request_resize(struct wl_listener *listener, void *data)
interactive_begin(view, LAB_INPUT_STATE_RESIZE, event->edges);
}
static void
handle_request_minimize(struct wl_listener *listener, void *data)
{
struct view *view = wl_container_of(listener, view, request_minimize);
struct wlr_xdg_surface *surface = data;
if (view) {
view_minimize(view, surface->toplevel->requested.minimized);
}
}
static void
handle_request_maximize(struct wl_listener *listener, void *data)
{
@ -423,6 +433,8 @@ xdg_surface_new(struct wl_listener *listener, void *data)
wl_signal_add(&toplevel->events.request_move, &view->request_move);
view->request_resize.notify = handle_request_resize;
wl_signal_add(&toplevel->events.request_resize, &view->request_resize);
view->request_minimize.notify = handle_request_minimize;
wl_signal_add(&toplevel->events.request_minimize, &view->request_minimize);
view->request_maximize.notify = handle_request_maximize;
wl_signal_add(&toplevel->events.request_maximize, &view->request_maximize);
view->request_fullscreen.notify = handle_request_fullscreen;