From 526ab1ae75554646ed9a763ad025274be4bc0a64 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Mon, 2 Aug 2021 16:49:41 +0100 Subject: [PATCH] view: add view_toggle_maximize() --- include/labwc.h | 1 + src/action.c | 9 ++------- src/cursor.c | 2 +- src/view.c | 6 ++++++ src/xwayland.c | 6 ++---- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/labwc.h b/include/labwc.h index 8956ad67..f95fb201 100644 --- a/include/labwc.h +++ b/include/labwc.h @@ -292,6 +292,7 @@ void view_minimize(struct view *view); void view_unminimize(struct view *view); void view_center(struct view *view); void view_maximize(struct view *view, bool maximize); +void view_toggle_maximize(struct view *view); void view_for_each_surface(struct view *view, wlr_surface_iterator_func_t iterator, void *user_data); void view_for_each_popup_surface(struct view *view, diff --git a/src/action.c b/src/action.c index 914c557d..bb6cc1ff 100644 --- a/src/action.c +++ b/src/action.c @@ -50,13 +50,8 @@ action(struct server *server, const char *action, const char *command) show_menu(server, command); } else if (!strcasecmp(action, "ToggleMaximize")) { struct view *view = topmost_mapped_view(server); - if (!view) { - return; - } - if (view->maximized) { - view_maximize(view, false); - } else { - view_maximize(view, true); + if (view) { + view_toggle_maximize(view); } } else { wlr_log(WLR_ERROR, "action (%s) not supported", action); diff --git a/src/cursor.c b/src/cursor.c index 77ce22c4..1a52d193 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -322,7 +322,7 @@ cursor_button(struct wl_listener *listener, void *data) interactive_begin(view, LAB_INPUT_STATE_MOVE, 0); break; case LAB_SSD_BUTTON_MAXIMIZE: - view_maximize(view, !view->maximized); + view_toggle_maximize(view); break; } } diff --git a/src/view.c b/src/view.c index f46a9ea3..e0f82b7b 100644 --- a/src/view.c +++ b/src/view.c @@ -100,6 +100,12 @@ view_maximize(struct view *view, bool maximize) } } +void +view_toggle_maximize(struct view *view) +{ + view_maximize(view, !view->maximized); +} + void view_for_each_surface(struct view *view, wlr_surface_iterator_func_t iterator, void *user_data) diff --git a/src/xwayland.c b/src/xwayland.c index 515947fe..5c8f0820 100644 --- a/src/xwayland.c +++ b/src/xwayland.c @@ -68,10 +68,8 @@ static void handle_request_maximize(struct wl_listener *listener, void *data) { struct view *view = wl_container_of(listener, view, request_maximize); - if(view != NULL) { - view_maximize(view, !view->maximized); - } - + assert(view); + view_toggle_maximize(view); } static void