diff options
Diffstat (limited to 'swaynag/main.c')
-rw-r--r-- | swaynag/main.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/swaynag/main.c b/swaynag/main.c index 2ce37831..634bddbf 100644 --- a/swaynag/main.c +++ b/swaynag/main.c | |||
@@ -1,4 +1,3 @@ | |||
1 | #define _POSIX_C_SOURCE 200809L | ||
2 | #include <stdlib.h> | 1 | #include <stdlib.h> |
3 | #include <signal.h> | 2 | #include <signal.h> |
4 | #include "log.h" | 3 | #include "log.h" |
@@ -29,10 +28,12 @@ int main(int argc, char **argv) { | |||
29 | wl_list_init(&swaynag.outputs); | 28 | wl_list_init(&swaynag.outputs); |
30 | wl_list_init(&swaynag.seats); | 29 | wl_list_init(&swaynag.seats); |
31 | 30 | ||
32 | struct swaynag_button button_close = { 0 }; | 31 | struct swaynag_button *button_close = calloc(1, sizeof(struct swaynag_button)); |
33 | button_close.text = strdup("X"); | 32 | button_close->text = strdup("X"); |
34 | button_close.type = SWAYNAG_ACTION_DISMISS; | 33 | button_close->type = SWAYNAG_ACTION_DISMISS; |
35 | list_add(swaynag.buttons, &button_close); | 34 | list_add(swaynag.buttons, button_close); |
35 | |||
36 | swaynag.details.details_text = strdup("Toggle details"); | ||
36 | 37 | ||
37 | char *config_path = NULL; | 38 | char *config_path = NULL; |
38 | bool debug = false; | 39 | bool debug = false; |
@@ -54,8 +55,6 @@ int main(int argc, char **argv) { | |||
54 | } | 55 | } |
55 | } | 56 | } |
56 | 57 | ||
57 | swaynag.details.button_details.text = strdup("Toggle details"); | ||
58 | swaynag.details.button_details.type = SWAYNAG_ACTION_EXPAND; | ||
59 | 58 | ||
60 | if (argc > 1) { | 59 | if (argc > 1) { |
61 | struct swaynag_type *type_args = swaynag_type_new("<args>"); | 60 | struct swaynag_type *type_args = swaynag_type_new("<args>"); |
@@ -88,17 +87,20 @@ int main(int argc, char **argv) { | |||
88 | swaynag_type_merge(type, swaynag_type_get(types, "<args>")); | 87 | swaynag_type_merge(type, swaynag_type_get(types, "<args>")); |
89 | swaynag.type = type; | 88 | swaynag.type = type; |
90 | 89 | ||
91 | swaynag_types_free(types); | ||
92 | |||
93 | if (swaynag.details.message) { | 90 | if (swaynag.details.message) { |
94 | list_add(swaynag.buttons, &swaynag.details.button_details); | 91 | swaynag.details.button_details = calloc(1, sizeof(struct swaynag_button)); |
92 | swaynag.details.button_details->text = strdup(swaynag.details.details_text); | ||
93 | swaynag.details.button_details->type = SWAYNAG_ACTION_EXPAND; | ||
94 | list_add(swaynag.buttons, swaynag.details.button_details); | ||
95 | } | 95 | } |
96 | 96 | ||
97 | sway_log(SWAY_DEBUG, "Output: %s", swaynag.type->output); | 97 | sway_log(SWAY_DEBUG, "Output: %s", swaynag.type->output); |
98 | sway_log(SWAY_DEBUG, "Anchors: %" PRIu32, swaynag.type->anchors); | 98 | sway_log(SWAY_DEBUG, "Anchors: %" PRIu32, swaynag.type->anchors); |
99 | sway_log(SWAY_DEBUG, "Type: %s", swaynag.type->name); | 99 | sway_log(SWAY_DEBUG, "Type: %s", swaynag.type->name); |
100 | sway_log(SWAY_DEBUG, "Message: %s", swaynag.message); | 100 | sway_log(SWAY_DEBUG, "Message: %s", swaynag.message); |
101 | sway_log(SWAY_DEBUG, "Font: %s", swaynag.type->font); | 101 | char *font = pango_font_description_to_string(swaynag.type->font_description); |
102 | sway_log(SWAY_DEBUG, "Font: %s", font); | ||
103 | free(font); | ||
102 | sway_log(SWAY_DEBUG, "Buttons"); | 104 | sway_log(SWAY_DEBUG, "Buttons"); |
103 | for (int i = 0; i < swaynag.buttons->length; i++) { | 105 | for (int i = 0; i < swaynag.buttons->length; i++) { |
104 | struct swaynag_button *button = swaynag.buttons->items[i]; | 106 | struct swaynag_button *button = swaynag.buttons->items[i]; |
@@ -109,11 +111,9 @@ int main(int argc, char **argv) { | |||
109 | 111 | ||
110 | swaynag_setup(&swaynag); | 112 | swaynag_setup(&swaynag); |
111 | swaynag_run(&swaynag); | 113 | swaynag_run(&swaynag); |
112 | return status; | ||
113 | 114 | ||
114 | cleanup: | 115 | cleanup: |
115 | swaynag_types_free(types); | 116 | swaynag_types_free(types); |
116 | free(swaynag.details.button_details.text); | ||
117 | swaynag_destroy(&swaynag); | 117 | swaynag_destroy(&swaynag); |
118 | return status; | 118 | return status; |
119 | } | 119 | } |