void ssd_update_title(struct view *view);
void ssd_create(struct view *view);
void ssd_destroy(struct view *view);
-void ssd_update_geometry(struct view *view);
+void ssd_update_geometry(struct view *view, bool force);
#endif /* __LABWC_SSD_H */
continue;
}
view->margin = ssd_thickness(view);
- struct ssd_part *part;
- wl_list_for_each(part, &view->ssd.parts, link) {
- part->box = ssd_visible_box(view, part->type);
- }
+ ssd_update_geometry(view, true);
}
menu_reconfigure(g_server, g_server->rootmenu);
-
damage_all_outputs(g_server);
}
}
void
-ssd_update_geometry(struct view *view)
+ssd_update_geometry(struct view *view, bool force)
{
- if (!geometry_changed(view)) {
+ if (!geometry_changed(view) && !force) {
return;
}
struct ssd_part *part;
view->pending_move_resize.configure_serial = 0;
}
}
- ssd_update_geometry(view);
+ ssd_update_geometry(view, false);
damage_view_part(view);
}
} else if (view->pending_move_resize.configure_serial == 0) {
view->x = geo.x;
view->y = geo.y;
- ssd_update_geometry(view);
+ ssd_update_geometry(view, false);
damage_all_outputs(view->server);
}
}
{
view->x = x;
view->y = y;
- ssd_update_geometry(view);
+ ssd_update_geometry(view, false);
damage_all_outputs(view->server);
}
view->pending_move_resize.height - view->h;
view->pending_move_resize.update_y = false;
}
- ssd_update_geometry(view);
+ ssd_update_geometry(view, false);
damage_view_whole(view);
}
struct wlr_xwayland_surface *s = view->xwayland_surface;
wlr_xwayland_surface_configure(s, (int16_t)x, (int16_t)y,
(uint16_t)s->width, (uint16_t)s->height);
- ssd_update_geometry(view);
+ ssd_update_geometry(view, false);
damage_all_outputs(view->server);
}