aboutsummaryrefslogtreecommitdiffstats
path: root/swaynag
diff options
context:
space:
mode:
authorLibravatar Mustafa Abdul-Kader <mustafa@nvisia.com>2020-09-08 21:43:35 -0500
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2020-09-14 22:13:01 -0400
commiteb1c09030ece6fcf0c6b387c8b74ded106eccecb (patch)
tree6ce8c1b8991a5dc6b3be88415b903c9ff8ab9033 /swaynag
parentinput/cursor: reset event source after unhide (diff)
downloadsway-eb1c09030ece6fcf0c6b387c8b74ded106eccecb.tar.gz
sway-eb1c09030ece6fcf0c6b387c8b74ded106eccecb.tar.zst
sway-eb1c09030ece6fcf0c6b387c8b74ded106eccecb.zip
swaynag: add details background option
Adds a new config option for details background for swaynag issue/#5673
Diffstat (limited to 'swaynag')
-rw-r--r--swaynag/config.c8
-rw-r--r--swaynag/render.c4
-rw-r--r--swaynag/swaynag.1.scd3
-rw-r--r--swaynag/swaynag.5.scd3
-rw-r--r--swaynag/types.c7
5 files changed, 23 insertions, 2 deletions
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 }