view: add view_toggle_maximize()

This commit is contained in:
Johan Malm 2021-08-02 16:49:41 +01:00
parent d6376808b8
commit 526ab1ae75
5 changed files with 12 additions and 12 deletions

View file

@ -292,6 +292,7 @@ void view_minimize(struct view *view);
void view_unminimize(struct view *view); void view_unminimize(struct view *view);
void view_center(struct view *view); void view_center(struct view *view);
void view_maximize(struct view *view, bool maximize); void view_maximize(struct view *view, bool maximize);
void view_toggle_maximize(struct view *view);
void view_for_each_surface(struct view *view, void view_for_each_surface(struct view *view,
wlr_surface_iterator_func_t iterator, void *user_data); wlr_surface_iterator_func_t iterator, void *user_data);
void view_for_each_popup_surface(struct view *view, void view_for_each_popup_surface(struct view *view,

View file

@ -50,13 +50,8 @@ action(struct server *server, const char *action, const char *command)
show_menu(server, command); show_menu(server, command);
} else if (!strcasecmp(action, "ToggleMaximize")) { } else if (!strcasecmp(action, "ToggleMaximize")) {
struct view *view = topmost_mapped_view(server); struct view *view = topmost_mapped_view(server);
if (!view) { if (view) {
return; view_toggle_maximize(view);
}
if (view->maximized) {
view_maximize(view, false);
} else {
view_maximize(view, true);
} }
} else { } else {
wlr_log(WLR_ERROR, "action (%s) not supported", action); wlr_log(WLR_ERROR, "action (%s) not supported", action);

View file

@ -322,7 +322,7 @@ cursor_button(struct wl_listener *listener, void *data)
interactive_begin(view, LAB_INPUT_STATE_MOVE, 0); interactive_begin(view, LAB_INPUT_STATE_MOVE, 0);
break; break;
case LAB_SSD_BUTTON_MAXIMIZE: case LAB_SSD_BUTTON_MAXIMIZE:
view_maximize(view, !view->maximized); view_toggle_maximize(view);
break; break;
} }
} }

View 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 void
view_for_each_surface(struct view *view, wlr_surface_iterator_func_t iterator, view_for_each_surface(struct view *view, wlr_surface_iterator_func_t iterator,
void *user_data) void *user_data)

View 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); struct view *view = wl_container_of(listener, view, request_maximize);
if(view != NULL) { assert(view);
view_maximize(view, !view->maximized); view_toggle_maximize(view);
}
} }
static void static void