aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'swaynag/main.c')
-rw-r--r--swaynag/main.c26
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
114cleanup: 115cleanup:
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}