decorations: refactor view_set_decorations

This commit is contained in:
Tobias Bengfort 2024-04-18 09:46:36 +02:00 committed by Johan Malm
parent bab1be834d
commit a0debda142
8 changed files with 88 additions and 51 deletions

View file

@ -191,7 +191,7 @@ ssd_create(struct view *view, bool active)
ssd_titlebar_create(ssd);
if (view->ssd_titlebar_hidden) {
/* Ensure we keep the old state on Reconfigure or when exiting fullscreen */
ssd_titlebar_hide(ssd);
ssd_set_titlebar(ssd, false);
}
ssd->margin = ssd_thickness(view);
ssd_set_active(ssd, active);
@ -267,13 +267,13 @@ ssd_update_geometry(struct ssd *ssd)
}
void
ssd_titlebar_hide(struct ssd *ssd)
ssd_set_titlebar(struct ssd *ssd, bool enabled)
{
if (!ssd || !ssd->titlebar.tree->node.enabled) {
if (!ssd || ssd->titlebar.tree->node.enabled == enabled) {
return;
}
wlr_scene_node_set_enabled(&ssd->titlebar.tree->node, false);
ssd->titlebar.height = 0;
wlr_scene_node_set_enabled(&ssd->titlebar.tree->node, enabled);
ssd->titlebar.height = enabled ? ssd->view->server->theme->title_height : 0;
ssd_border_update(ssd);
ssd_extents_update(ssd);
ssd_shadow_update(ssd);