void desktop_move_to_front(struct view *view);
void desktop_move_to_back(struct view *view);
void desktop_focus_and_activate_view(struct seat *seat, struct view *view);
+void desktop_arrange_all_views(struct server *server);
enum lab_cycle_dir {
LAB_CYCLE_DIR_NONE,
}
}
+void
+desktop_arrange_all_views(struct server *server)
+{
+ /* Adjust window positions/sizes */
+ struct view *view;
+ wl_list_for_each(view, &server->views, link) {
+ view_adjust_for_layout_change(view);
+ }
+}
+
void
desktop_focus_and_activate_view(struct seat *seat, struct view *view)
{
!seat->focused_layer->current.keyboard_interactive) {
seat_set_focus_layer(seat, NULL);
}
- /* FIXME: should we call a desktop_arrange_all_views() here? */
+
+ /* Finally re-arrange all views based on usable_area */
+ desktop_arrange_all_views(server);
}
static void
output_update_for_layout_change(struct server *server)
{
/* Adjust window positions/sizes */
- struct view *view;
- wl_list_for_each(view, &server->views, link) {
- view_adjust_for_layout_change(view);
- }
+ desktop_arrange_all_views(server);
/*
* "Move" each wlr_output_cursor (in per-output coordinates) to