Add keepBorder <theme> option and enable it by default

With the new keepBorder option enabled, the
ToggleDecorations action now has 3 states:

- the first time only disables the titlebar
- the second time disables the whole SSD
- the third time enables the whole SSD again

When the keepBorder action is disabled, the old 2-state
behavior is restored, e.g. the ToggleDecorations action
only toggles between on and off.

Fixes #813
This commit is contained in:
Consolatis 2023-04-14 09:01:13 +02:00
parent a6a03daae3
commit e39744f1d3
13 changed files with 91 additions and 10 deletions

View file

@ -658,6 +658,15 @@ void
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 = true;
if (!view_is_floating(view)) {
view_apply_special_geometry(view);
}
return;
}
view_set_decorations(view, !view->ssd_enabled);
}
@ -748,6 +757,7 @@ view_set_decorations(struct view *view, bool decorations)
decorate(view);
} else {
undecorate(view);
view->ssd_titlebar_hidden = false;
}
if (!view_is_floating(view)) {
view_apply_special_geometry(view);