aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag/types.c
diff options
context:
space:
mode:
Diffstat (limited to 'swaynag/types.c')
-rw-r--r--swaynag/types.c16
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
32void swaynag_types_add_default(list_t *types) { 32void 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
167void swaynag_type_free(struct swaynag_type *type) { 173void 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}