src/ssd: use view->ssd_titlebar_hidden for ssd_thickness calculations

Before this patch we were using the internal .enabled flag of the titlebar
tree node. This failed due to ssd_thickness() not having view->ssd assigned
when initially called. Instead of assigning view->ssd within ssd_create()
we just always use the view boolean flag directly. This fixes an issue
where a border-only view that has been snapped to an edge or region would
have a gap in the size of the titlebar on top after a Reconfigure.

Fixes #1083
This commit is contained in:
Consolatis 2023-09-17 22:41:46 +02:00 committed by Johan Malm
parent e5d459aa0c
commit e8ec8ea7ff
3 changed files with 17 additions and 13 deletions

View file

@ -740,9 +740,13 @@ view_toggle_decorations(struct view *view)
{
assert(view);
if (rc.ssd_keep_border && view->ssd_enabled && view->ssd
&& !ssd_titlebar_is_hidden(view->ssd)) {
ssd_titlebar_hide(view->ssd);
&& !view->ssd_titlebar_hidden) {
/*
* ssd_titlebar_hidden has to be set before calling
* ssd_titlebar_hide() to make ssd_thickness() happy.
*/
view->ssd_titlebar_hidden = true;
ssd_titlebar_hide(view->ssd);
if (!view_is_floating(view)) {
view_apply_special_geometry(view);
}