diff options
Diffstat (limited to 'swaynag/types.c')
-rw-r--r-- | swaynag/types.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/swaynag/types.c b/swaynag/types.c index fa045532..821e5b21 100644 --- a/swaynag/types.c +++ b/swaynag/types.c | |||
@@ -1,4 +1,3 @@ | |||
1 | #define _POSIX_C_SOURCE 200809L | ||
2 | #include <getopt.h> | 1 | #include <getopt.h> |
3 | #include <stdbool.h> | 2 | #include <stdbool.h> |
4 | #include <stdlib.h> | 3 | #include <stdlib.h> |
@@ -26,15 +25,18 @@ struct swaynag_type *swaynag_type_new(const char *name) { | |||
26 | type->button_gap_close = -1; | 25 | type->button_gap_close = -1; |
27 | type->button_margin_right = -1; | 26 | type->button_margin_right = -1; |
28 | type->button_padding = -1; | 27 | type->button_padding = -1; |
28 | type->layer = -1; | ||
29 | return type; | 29 | return type; |
30 | } | 30 | } |
31 | 31 | ||
32 | void swaynag_types_add_default(list_t *types) { | 32 | void swaynag_types_add_default(list_t *types) { |
33 | struct swaynag_type *type_defaults = swaynag_type_new("<defaults>"); | 33 | struct swaynag_type *type_defaults = swaynag_type_new("<defaults>"); |
34 | type_defaults->font = strdup("pango:Monospace 10"); | 34 | type_defaults->font_description = |
35 | pango_font_description_from_string("pango:Monospace 10"); | ||
35 | type_defaults->anchors = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | 36 | type_defaults->anchors = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP |
36 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | 37 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT |
37 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; | 38 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; |
39 | type_defaults->layer = ZWLR_LAYER_SHELL_V1_LAYER_TOP; | ||
38 | type_defaults->button_background = 0x333333FF; | 40 | type_defaults->button_background = 0x333333FF; |
39 | type_defaults->details_background = 0x333333FF; | 41 | type_defaults->details_background = 0x333333FF; |
40 | type_defaults->background = 0x323232FF; | 42 | type_defaults->background = 0x323232FF; |
@@ -88,8 +90,8 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) { | |||
88 | return; | 90 | return; |
89 | } | 91 | } |
90 | 92 | ||
91 | if (src->font) { | 93 | if (src->font_description) { |
92 | dest->font = strdup(src->font); | 94 | dest->font_description = pango_font_description_copy(src->font_description); |
93 | } | 95 | } |
94 | 96 | ||
95 | if (src->output) { | 97 | if (src->output) { |
@@ -100,6 +102,10 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) { | |||
100 | dest->anchors = src->anchors; | 102 | dest->anchors = src->anchors; |
101 | } | 103 | } |
102 | 104 | ||
105 | if (src->layer >= 0) { | ||
106 | dest->layer = src->layer; | ||
107 | } | ||
108 | |||
103 | // Colors | 109 | // Colors |
104 | if (src->button_background > 0) { | 110 | if (src->button_background > 0) { |
105 | dest->button_background = src->button_background; | 111 | dest->button_background = src->button_background; |
@@ -166,7 +172,7 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) { | |||
166 | 172 | ||
167 | void swaynag_type_free(struct swaynag_type *type) { | 173 | void swaynag_type_free(struct swaynag_type *type) { |
168 | free(type->name); | 174 | free(type->name); |
169 | free(type->font); | 175 | pango_font_description_free(type->font_description); |
170 | free(type->output); | 176 | free(type->output); |
171 | free(type); | 177 | free(type); |
172 | } | 178 | } |