aboutsummaryrefslogtreecommitdiffstats
path: root/common/util.c
diff options
context:
space:
mode:
authorLibravatar Calvin Lee <cyrus296@gmail.com>2017-02-21 12:49:22 -0700
committerLibravatar Calvin Lee <cyrus296@gmail.com>2017-02-21 14:12:31 -0700
commit34e2c70abcbc9ba496ab32f1f742dd7bae0ce0fe (patch)
tree41068bbf6d412c8501a8040c577321798ff8991c /common/util.c
parentMerge pull request #1075 from zandrmartin/floating-positioning (diff)
downloadsway-34e2c70abcbc9ba496ab32f1f742dd7bae0ce0fe.tar.gz
sway-34e2c70abcbc9ba496ab32f1f742dd7bae0ce0fe.tar.zst
sway-34e2c70abcbc9ba496ab32f1f742dd7bae0ce0fe.zip
Feature for #1078: Configurable swaylock colors
Colors are configured through the command line so that swaylock conforms to the i3lock fork 'github.com/chrjguill/i3lock-color'. Differences from it are that one letter options '-r' and '-s' are not implimentend because '-s' is already used by '--scaling' in swaylock. This commit also fixed whitespace in 'include/swaylock/swaylock.h' and changed `parse_color` in 'common/util.h' so that it can accept colors that do not start with a hash. This was done to keep compatability with the i3lock fork.
Diffstat (limited to 'common/util.c')
-rw-r--r--common/util.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/common/util.c b/common/util.c
index f2302676..73704afd 100644
--- a/common/util.c
+++ b/common/util.c
@@ -102,13 +102,17 @@ pid_t get_parent_pid(pid_t child) {
102} 102}
103 103
104uint32_t parse_color(const char *color) { 104uint32_t parse_color(const char *color) {
105 if (color[0] == '#') {
106 ++color;
107 }
108
105 int len = strlen(color); 109 int len = strlen(color);
106 if (color[0] != '#' || (len != 7 && len != 9)) { 110 if (len != 6 && len != 8) {
107 sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color); 111 sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color);
108 return 0xFFFFFFFF; 112 return 0xFFFFFFFF;
109 } 113 }
110 uint32_t res = (uint32_t)strtoul(color + 1, NULL, 16); 114 uint32_t res = (uint32_t)strtoul(color, NULL, 16);
111 if (strlen(color) == 7) { 115 if (strlen(color) == 6) {
112 res = (res << 8) | 0xFF; 116 res = (res << 8) | 0xFF;
113 } 117 }
114 return res; 118 return res;