]> git.lizzy.rs Git - bspwm.git/blobdiff - src/messages.c
bspwm: port rounded corners patch to latest version
[bspwm.git] / src / messages.c
index c3a42014db6e2f25bd7fd42cdf03ddd25de4f802..66e78c7754e721e122a9c29755403bed4364d026 100644 (file)
@@ -1494,6 +1494,13 @@ void set_setting(coordinates_t loc, char *name, char *value, FILE *rsp)
                        return;
                }
                SET_DEF_DEFMON_DEFDESK_WIN(border_width, bw)
+       } else if (streq("border_radius", name)) {
+               unsigned int br;
+               if (sscanf(value, "%u", &br) != 1) {
+                       fail(rsp, "config: %s: Invalid value: '%s'.\n", name, value);
+                       return;
+               }
+               SET_DEF_DEFMON_DEFDESK_WIN(border_radius, br)
 #undef SET_DEF_DEFMON_DEFDESK_WIN
 #define SET_DEF_DEFMON_DESK(k, v) \
                if (loc.desktop != NULL) { \
@@ -1512,6 +1519,21 @@ void set_setting(coordinates_t loc, char *name, char *value, FILE *rsp)
                                } \
                        } \
                }
+       } else if (streq("border_radius", name)) {
+               if (loc.node != NULL) {
+                       for (node_t *n = first_extrema(loc.node); n != NULL; n = next_leaf(n, loc.node)) {
+                               if (n->client != NULL) {
+                                       fprintf(rsp, "%u", n->client->border_radius);
+                                       break;
+                               }
+                       }
+               } else if (loc.desktop != NULL) {
+                       fprintf(rsp, "%u", loc.desktop->border_radius);
+               } else if (loc.monitor != NULL) {
+                       fprintf(rsp, "%u", loc.monitor->border_radius);
+               } else {
+                       fprintf(rsp, "%u", border_radius);
+               }
        } else if (streq("window_gap", name)) {
                int wg;
                if (sscanf(value, "%i", &wg) != 1) {