view: Add optional output parameter to view_center()

Allows centering the view on a specific output without the workaround of
overwriting view->current.x/y.
This commit is contained in:
John Lindgren 2023-02-18 00:23:19 -05:00
parent df7c47b8d7
commit 5062c5bea3
6 changed files with 22 additions and 30 deletions

View file

@ -420,7 +420,7 @@ bool output_is_usable(struct output *output);
void output_update_usable_area(struct output *output);
void output_update_all_usable_areas(struct server *server, bool layout_changed);
struct wlr_box output_usable_area_in_layout_coords(struct output *output);
struct wlr_box output_usable_area_from_cursor_coords(struct server *server);
struct output *output_from_cursor_coords(struct server *server);
void handle_output_power_manager_set_mode(struct wl_listener *listener,
void *data);

View file

@ -130,11 +130,13 @@ void view_move(struct view *view, int x, int y);
void view_moved(struct view *view);
void view_minimize(struct view *view, bool minimized);
void view_store_natural_geometry(struct view *view);
void view_center(struct view *view);
/* output is optional, defaults to current nearest output */
void view_center(struct view *view, struct output *output);
void view_restore_to(struct view *view, struct wlr_box geometry);
void view_set_untiled(struct view *view);
void view_maximize(struct view *view, bool maximize,
bool store_natural_geometry);
/* output is optional, defaults to current nearest output */
void view_set_fullscreen(struct view *view, bool fullscreen,
struct output *output);
void view_toggle_maximize(struct view *view);