diff options
| author | Ian Fan <[email protected]> | 2018-10-12 20:32:48 +0100 | 
|---|---|---|
| committer | Ian Fan <[email protected]> | 2018-10-14 13:33:12 +0100 | 
| commit | bcc61e5147fb57a3b4bfb9a2a33065a0cf6da67b (patch) | |
| tree | 873a09eca473242c15299ea1053966e9d163f6c6 /swaybar/config.c | |
| parent | 55ca16f2d83f4d7e14635ac4de3eb67ee2a0787e (diff) | |
swaybar: handle mode/hidden_state changes
As well as adding the hidden_state property to the bar config struct,
this commit handles barconfig_update events when the mode or
hidden_state changes, and uses a new function determine_bar_visibility
to hide or show the bar as required, using, respectively,
destroy_layer_surface, which is also newly added, and add_layer_surface,
which has been changed to allow dynamically adding the surface.
Diffstat (limited to 'swaybar/config.c')
| -rw-r--r-- | swaybar/config.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/swaybar/config.c b/swaybar/config.c index 09d40c24..eafb0b69 100644 --- a/swaybar/config.c +++ b/swaybar/config.c @@ -30,7 +30,8 @@ struct swaybar_config *init_config(void) {  	config->pango_markup = false;  	config->position = parse_position("bottom");  	config->font = strdup("monospace 10"); -	config->mode = NULL; +	config->mode = strdup("dock"); +	config->hidden_state = strdup("hide");  	config->sep_symbol = NULL;  	config->strip_workspace_numbers = false;  	config->binding_mode_indicator = true; @@ -84,6 +85,7 @@ void free_config(struct swaybar_config *config) {  	free(config->status_command);  	free(config->font);  	free(config->mode); +	free(config->hidden_state);  	free(config->sep_symbol);  	for (int i = 0; i < config->bindings->length; i++) {  		struct swaybar_binding *binding = config->bindings->items[i];  | 
