]> git.mdlowis.com Git - proto/labwc.git/commitdiff
view: add view_toggle_maximize()
authorJohan Malm <jgm323@gmail.com>
Mon, 2 Aug 2021 15:49:41 +0000 (16:49 +0100)
committerJohan Malm <jgm323@gmail.com>
Mon, 2 Aug 2021 15:49:41 +0000 (16:49 +0100)
include/labwc.h
src/action.c
src/cursor.c
src/view.c
src/xwayland.c

index 8956ad67217b8cbdace8c0be9cf3c453cd12750a..f95fb201bd0c7486678498d6d4cefae1e0a0e7e0 100644 (file)
@@ -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,
index 914c557df6af127c966442d6037d0e060f524c1e..bb6cc1ff35d106ed91bc6c36685952497ad12663 100644 (file)
@@ -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);
index 77ce22c4636891a3025bae170c409157a253ec01..1a52d193974fe9b7228d048daf3e105c9f1ca7bb 100644 (file)
@@ -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;
        }
 }
index f46a9ea3c75582183882dc71f24b94e0c7b6eaf7..e0f82b7b08e44518e7e6ba23d7f4e5d7a4eba38b 100644 (file)
@@ -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)
index 515947fe405f28862417cd372d8265883a2c688e..5c8f0820a1ee4e5aab83dc78203fa6a633fb3e5c 100644 (file)
@@ -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