diff options
-rw-r--r-- | include/swaynag/types.h | 1 | ||||
-rw-r--r-- | swaynag/config.c | 8 | ||||
-rw-r--r-- | swaynag/render.c | 4 | ||||
-rw-r--r-- | swaynag/swaynag.1.scd | 3 | ||||
-rw-r--r-- | swaynag/swaynag.5.scd | 3 | ||||
-rw-r--r-- | swaynag/types.c | 7 |
6 files changed, 24 insertions, 2 deletions
diff --git a/include/swaynag/types.h b/include/swaynag/types.h index f7518d95..24da9418 100644 --- a/include/swaynag/types.h +++ b/include/swaynag/types.h | |||
@@ -11,6 +11,7 @@ struct swaynag_type { | |||
11 | // Colors | 11 | // Colors |
12 | uint32_t button_text; | 12 | uint32_t button_text; |
13 | uint32_t button_background; | 13 | uint32_t button_background; |
14 | uint32_t details_background; | ||
14 | uint32_t background; | 15 | uint32_t background; |
15 | uint32_t text; | 16 | uint32_t text; |
16 | uint32_t border; | 17 | uint32_t border; |
diff --git a/swaynag/config.c b/swaynag/config.c index 3488a74d..a57597ef 100644 --- a/swaynag/config.c +++ b/swaynag/config.c | |||
@@ -38,6 +38,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag, | |||
38 | TO_COLOR_BORDER, | 38 | TO_COLOR_BORDER, |
39 | TO_COLOR_BORDER_BOTTOM, | 39 | TO_COLOR_BORDER_BOTTOM, |
40 | TO_COLOR_BUTTON, | 40 | TO_COLOR_BUTTON, |
41 | TO_COLOR_DETAILS, | ||
41 | TO_COLOR_TEXT, | 42 | TO_COLOR_TEXT, |
42 | TO_COLOR_BUTTON_TEXT, | 43 | TO_COLOR_BUTTON_TEXT, |
43 | TO_THICK_BAR_BORDER, | 44 | TO_THICK_BAR_BORDER, |
@@ -77,6 +78,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag, | |||
77 | {"border-bottom-size", required_argument, NULL, TO_THICK_BAR_BORDER}, | 78 | {"border-bottom-size", required_argument, NULL, TO_THICK_BAR_BORDER}, |
78 | {"message-padding", required_argument, NULL, TO_PADDING_MESSAGE}, | 79 | {"message-padding", required_argument, NULL, TO_PADDING_MESSAGE}, |
79 | {"details-border-size", required_argument, NULL, TO_THICK_DET_BORDER}, | 80 | {"details-border-size", required_argument, NULL, TO_THICK_DET_BORDER}, |
81 | {"details-background", required_argument, NULL, TO_COLOR_DETAILS}, | ||
80 | {"button-border-size", required_argument, NULL, TO_THICK_BTN_BORDER}, | 82 | {"button-border-size", required_argument, NULL, TO_THICK_BTN_BORDER}, |
81 | {"button-gap", required_argument, NULL, TO_GAP_BTN}, | 83 | {"button-gap", required_argument, NULL, TO_GAP_BTN}, |
82 | {"button-dismiss-gap", required_argument, NULL, TO_GAP_BTN_DISMISS}, | 84 | {"button-dismiss-gap", required_argument, NULL, TO_GAP_BTN_DISMISS}, |
@@ -122,6 +124,7 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag, | |||
122 | " --border-bottom-size size Thickness of the bar border.\n" | 124 | " --border-bottom-size size Thickness of the bar border.\n" |
123 | " --message-padding padding Padding for the message.\n" | 125 | " --message-padding padding Padding for the message.\n" |
124 | " --details-border-size size Thickness for the details border.\n" | 126 | " --details-border-size size Thickness for the details border.\n" |
127 | " --details-background RRGGBB[AA] Details background color.\n" | ||
125 | " --button-border-size size Thickness for the button border.\n" | 128 | " --button-border-size size Thickness for the button border.\n" |
126 | " --button-gap gap Size of the gap between buttons\n" | 129 | " --button-gap gap Size of the gap between buttons\n" |
127 | " --button-dismiss-gap gap Size of the gap for dismiss button.\n" | 130 | " --button-dismiss-gap gap Size of the gap for dismiss button.\n" |
@@ -253,6 +256,11 @@ int swaynag_parse_options(int argc, char **argv, struct swaynag *swaynag, | |||
253 | fprintf(stderr, "Invalid button background color: %s", optarg); | 256 | fprintf(stderr, "Invalid button background color: %s", optarg); |
254 | } | 257 | } |
255 | break; | 258 | break; |
259 | case TO_COLOR_DETAILS: // Details background color | ||
260 | if (type && !parse_color(optarg, &type->details_background)) { | ||
261 | fprintf(stderr, "Invalid details background color: %s", optarg); | ||
262 | } | ||
263 | break; | ||
256 | case TO_COLOR_TEXT: // Text color | 264 | case TO_COLOR_TEXT: // Text color |
257 | if (type && !parse_color(optarg, &type->text)) { | 265 | if (type && !parse_color(optarg, &type->text)) { |
258 | fprintf(stderr, "Invalid text color: %s", optarg); | 266 | fprintf(stderr, "Invalid text color: %s", optarg); |
diff --git a/swaynag/render.c b/swaynag/render.c index 4537ec04..cf2cc9e0 100644 --- a/swaynag/render.c +++ b/swaynag/render.c | |||
@@ -37,7 +37,7 @@ static void render_details_scroll_button(cairo_t *cairo, | |||
37 | int border = swaynag->type->button_border_thickness * swaynag->scale; | 37 | int border = swaynag->type->button_border_thickness * swaynag->scale; |
38 | int padding = swaynag->type->button_padding * swaynag->scale; | 38 | int padding = swaynag->type->button_padding * swaynag->scale; |
39 | 39 | ||
40 | cairo_set_source_u32(cairo, swaynag->type->border); | 40 | cairo_set_source_u32(cairo, swaynag->type->details_background); |
41 | cairo_rectangle(cairo, button->x, button->y, | 41 | cairo_rectangle(cairo, button->x, button->y, |
42 | button->width, button->height); | 42 | button->width, button->height); |
43 | cairo_fill(cairo); | 43 | cairo_fill(cairo); |
@@ -153,7 +153,7 @@ static uint32_t render_detailed(cairo_t *cairo, struct swaynag *swaynag, | |||
153 | &swaynag->details.button_down); | 153 | &swaynag->details.button_down); |
154 | } | 154 | } |
155 | 155 | ||
156 | cairo_set_source_u32(cairo, swaynag->type->border); | 156 | cairo_set_source_u32(cairo, swaynag->type->details_background); |
157 | cairo_rectangle(cairo, swaynag->details.x, swaynag->details.y, | 157 | cairo_rectangle(cairo, swaynag->details.x, swaynag->details.y, |
158 | swaynag->details.width, swaynag->details.height); | 158 | swaynag->details.width, swaynag->details.height); |
159 | cairo_fill(cairo); | 159 | cairo_fill(cairo); |
diff --git a/swaynag/swaynag.1.scd b/swaynag/swaynag.1.scd index 61a69909..4a03469e 100644 --- a/swaynag/swaynag.1.scd +++ b/swaynag/swaynag.1.scd | |||
@@ -106,6 +106,9 @@ _swaynag_ [options...] | |||
106 | *--message-padding* <padding> | 106 | *--message-padding* <padding> |
107 | Set the padding for the message. | 107 | Set the padding for the message. |
108 | 108 | ||
109 | *--details-background* <RRGGBB[AA]> | ||
110 | Set the color for the background for details. | ||
111 | |||
109 | *--details-border-size* <size> | 112 | *--details-border-size* <size> |
110 | Set the thickness for the details border. | 113 | Set the thickness for the details border. |
111 | 114 | ||
diff --git a/swaynag/swaynag.5.scd b/swaynag/swaynag.5.scd index 87f21423..a078a4d7 100644 --- a/swaynag/swaynag.5.scd +++ b/swaynag/swaynag.5.scd | |||
@@ -53,6 +53,9 @@ The following sizing options can also be set: | |||
53 | *message-padding=<padding>* | 53 | *message-padding=<padding>* |
54 | Set the padding for the message. | 54 | Set the padding for the message. |
55 | 55 | ||
56 | *details-gackground=<color>* | ||
57 | The background color for the details. | ||
58 | |||
56 | *details-border-size=<size>* | 59 | *details-border-size=<size>* |
57 | Set the thickness for the details border. | 60 | Set the thickness for the details border. |
58 | 61 | ||
diff --git a/swaynag/types.c b/swaynag/types.c index 576dcbff..fa045532 100644 --- a/swaynag/types.c +++ b/swaynag/types.c | |||
@@ -36,6 +36,7 @@ void swaynag_types_add_default(list_t *types) { | |||
36 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | 36 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT |
37 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; | 37 | | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; |
38 | type_defaults->button_background = 0x333333FF; | 38 | type_defaults->button_background = 0x333333FF; |
39 | type_defaults->details_background = 0x333333FF; | ||
39 | type_defaults->background = 0x323232FF; | 40 | type_defaults->background = 0x323232FF; |
40 | type_defaults->text = 0xFFFFFFFF; | 41 | type_defaults->text = 0xFFFFFFFF; |
41 | type_defaults->button_text = 0xFFFFFFFF; | 42 | type_defaults->button_text = 0xFFFFFFFF; |
@@ -53,6 +54,7 @@ void swaynag_types_add_default(list_t *types) { | |||
53 | 54 | ||
54 | struct swaynag_type *type_error = swaynag_type_new("error"); | 55 | struct swaynag_type *type_error = swaynag_type_new("error"); |
55 | type_error->button_background = 0x680A0AFF; | 56 | type_error->button_background = 0x680A0AFF; |
57 | type_error->details_background = 0x680A0AFF; | ||
56 | type_error->background = 0x900000FF; | 58 | type_error->background = 0x900000FF; |
57 | type_error->text = 0xFFFFFFFF; | 59 | type_error->text = 0xFFFFFFFF; |
58 | type_error->button_text = 0xFFFFFFFF; | 60 | type_error->button_text = 0xFFFFFFFF; |
@@ -62,6 +64,7 @@ void swaynag_types_add_default(list_t *types) { | |||
62 | 64 | ||
63 | struct swaynag_type *type_warning = swaynag_type_new("warning"); | 65 | struct swaynag_type *type_warning = swaynag_type_new("warning"); |
64 | type_warning->button_background = 0xFFC100FF; | 66 | type_warning->button_background = 0xFFC100FF; |
67 | type_warning->details_background = 0xFFC100FF; | ||
65 | type_warning->background = 0xFFA800FF; | 68 | type_warning->background = 0xFFA800FF; |
66 | type_warning->text = 0x000000FF; | 69 | type_warning->text = 0x000000FF; |
67 | type_warning->button_text = 0x000000FF; | 70 | type_warning->button_text = 0x000000FF; |
@@ -102,6 +105,10 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) { | |||
102 | dest->button_background = src->button_background; | 105 | dest->button_background = src->button_background; |
103 | } | 106 | } |
104 | 107 | ||
108 | if (src->details_background > 0) { | ||
109 | dest->details_background = src->details_background; | ||
110 | } | ||
111 | |||
105 | if (src->background > 0) { | 112 | if (src->background > 0) { |
106 | dest->background = src->background; | 113 | dest->background = src->background; |
107 | } | 114 | } |