diff options
Diffstat (limited to 'swaynag/main.c')
-rw-r--r-- | swaynag/main.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/swaynag/main.c b/swaynag/main.c index 56e4950b..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,6 +28,13 @@ 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 | ||
31 | struct swaynag_button *button_close = calloc(1, sizeof(struct swaynag_button)); | ||
32 | button_close->text = strdup("X"); | ||
33 | button_close->type = SWAYNAG_ACTION_DISMISS; | ||
34 | list_add(swaynag.buttons, button_close); | ||
35 | |||
36 | swaynag.details.details_text = strdup("Toggle details"); | ||
37 | |||
32 | char *config_path = NULL; | 38 | char *config_path = NULL; |
33 | bool debug = false; | 39 | bool debug = false; |
34 | status = swaynag_parse_options(argc, argv, NULL, NULL, NULL, | 40 | status = swaynag_parse_options(argc, argv, NULL, NULL, NULL, |
@@ -49,8 +55,6 @@ int main(int argc, char **argv) { | |||
49 | } | 55 | } |
50 | } | 56 | } |
51 | 57 | ||
52 | swaynag.details.button_details.text = strdup("Toggle details"); | ||
53 | swaynag.details.button_details.type = SWAYNAG_ACTION_EXPAND; | ||
54 | 58 | ||
55 | if (argc > 1) { | 59 | if (argc > 1) { |
56 | struct swaynag_type *type_args = swaynag_type_new("<args>"); | 60 | struct swaynag_type *type_args = swaynag_type_new("<args>"); |
@@ -83,22 +87,20 @@ int main(int argc, char **argv) { | |||
83 | swaynag_type_merge(type, swaynag_type_get(types, "<args>")); | 87 | swaynag_type_merge(type, swaynag_type_get(types, "<args>")); |
84 | swaynag.type = type; | 88 | swaynag.type = type; |
85 | 89 | ||
86 | swaynag_types_free(types); | ||
87 | |||
88 | struct swaynag_button button_close = { 0 }; | ||
89 | button_close.text = strdup("X"); | ||
90 | button_close.type = SWAYNAG_ACTION_DISMISS; | ||
91 | list_add(swaynag.buttons, &button_close); | ||
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 | } |