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

@ -48,6 +48,7 @@ struct rcxml {
/* theme */
char *theme_name;
int corner_radius;
bool ssd_keep_border;
struct font font_activewindow;
struct font font_menuitem;
struct font font_osd;

View file

@ -54,7 +54,8 @@ struct ssd {
/* The top of the view, containing buttons, title, .. */
struct {
/* struct wlr_scene_tree *tree; unused for now */
int height;
struct wlr_scene_tree *tree;
struct ssd_sub_tree active;
struct ssd_sub_tree inactive;
} titlebar;

View file

@ -63,6 +63,8 @@ void ssd_set_active(struct ssd *ssd, bool active);
void ssd_update_title(struct ssd *ssd);
void ssd_update_geometry(struct ssd *ssd);
void ssd_destroy(struct ssd *ssd);
bool ssd_titlebar_is_hidden(struct ssd *ssd);
void ssd_titlebar_hide(struct ssd *ssd);
void ssd_enable_keybind_inhibit_indicator(struct ssd *ssd, bool enable);

View file

@ -89,6 +89,7 @@ struct view {
bool mapped;
bool been_mapped;
bool ssd_enabled;
bool ssd_titlebar_hidden;
enum ssd_preference ssd_preference;
bool minimized;
bool maximized;