i3lock-color

The world's most popular non-default computer lockscreen.
Index Commits Files Refs README LICENSE
commit de35e177fb6a56ba2f6a2f069eefff8cf4c5195d
parent a52a7c333912d241105ff9d8315e2f127c925884
Author: Raymond Li <hi@raymond.li>
Date:   Fri, 28 May 2021 18:19:28 -0400

Merge pull request #215 from souravdas142/modifcolor

Add more modkey text color options to make it more flexible
Diffstat:
Mi3lock.1 | 4++--
Mi3lock.c | 10++++++++++
Munlock_indicator.c | 10++++++++--
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/i3lock.1 b/i3lock.1
@@ -214,7 +214,7 @@ Sets the color of highlight arcs on the ring upon keypress and backspace.
 Sets the color of the seperators at both ends of the highlight arcs on the ring.
 
 .TP
-.B \-\-{verif, wrong}\-color=rrggbbaa
+.B \-\-{verif, wrong, modif}\-color=rrggbbaa
 Sets the color of the status text while verifying and when password is wrong.
 
 .TP
@@ -283,7 +283,7 @@ modifier and greeter texts.
 .RE
 
 .TP
-.B \-\-{time, date, layout, verif, wrong, greeter}outline\-color=rrggbbaa
+.B \-\-{time, date, layout, verif, wrong, greeter, modif}outline\-color=rrggbbaa
 Sets the color of the outlines.
 
 .TP
diff --git a/i3lock.c b/i3lock.c
@@ -85,6 +85,7 @@ char wrongcolor[9] = "000000ff";
 char layoutcolor[9] = "000000ff";
 char timecolor[9] = "000000ff";
 char datecolor[9] = "000000ff";
+char modifcolor[9] = "000000ff";
 char keyhlcolor[9] = "33db00ff";
 char bshlcolor[9] = "db3300ff";
 char separatorcolor[9] = "000000ff";
@@ -96,6 +97,7 @@ char layoutoutlinecolor[9] = "00000000";
 char timeoutlinecolor[9] = "00000000";
 char dateoutlinecolor[9] = "00000000";
 char greeteroutlinecolor[9] = "00000000";
+char modifoutlinecolor[9] = "00000000";
 
 /* int defining which display the lock indicator should be shown on. If -1, then show on all displays.*/
 int screen_number = 0;
@@ -1452,6 +1454,7 @@ int main(int argc, char *argv[]) {
         {"layout-color", required_argument, NULL, 309},
         {"time-color", required_argument, NULL, 310},
         {"date-color", required_argument, NULL, 311},
+        {"modif-color", required_argument, NULL, 322},
         {"keyhl-color", required_argument, NULL, 312},
         {"bshl-color", required_argument, NULL, 313},
         {"separator-color", required_argument, NULL, 314},
@@ -1464,6 +1467,7 @@ int main(int argc, char *argv[]) {
         {"timeoutline-color", required_argument, NULL, 319},
         {"dateoutline-color", required_argument, NULL, 320},
         {"greeteroutline-color", required_argument, NULL, 321},
+        {"modifoutline-color", required_argument, NULL, 323},
 
         {"line-uses-ring", no_argument, NULL, 'r'},
         {"line-uses-inside", no_argument, NULL, 's'},
@@ -1740,6 +1744,12 @@ int main(int argc, char *argv[]) {
             case  321:
                 parse_color(greeteroutlinecolor);
                 break;
+            case  322:
+                parse_color(modifcolor);
+                break;
+            case  323:
+                parse_color(modifoutlinecolor);
+                break;
 
 
             // General indicator opts
diff --git a/unlock_indicator.c b/unlock_indicator.c
@@ -88,6 +88,7 @@ extern char wrongcolor[9];
 extern char layoutcolor[9];
 extern char timecolor[9];
 extern char datecolor[9];
+extern char modifcolor[9];
 extern char keyhlcolor[9];
 extern char bshlcolor[9];
 extern char separatorcolor[9];
@@ -100,6 +101,7 @@ extern char layoutoutlinecolor[9];
 extern char timeoutlinecolor[9];
 extern char dateoutlinecolor[9];
 extern char greeteroutlinecolor[9];
+extern char modifoutlinecolor[9];
 
 extern int screen_number;
 extern float refresh_rate;
@@ -202,6 +204,7 @@ rgba_t wrong16;
 rgba_t layout16;
 rgba_t time16;
 rgba_t date16;
+rgba_t modif16;
 rgba_t keyhl16;
 rgba_t bshl16;
 rgba_t sep16;
@@ -215,6 +218,7 @@ rgba_t layoutoutline16;
 rgba_t timeoutline16;
 rgba_t dateoutline16;
 rgba_t greeteroutline16;
+rgba_t modifoutline16;
 
 // experimental bar stuff
 
@@ -580,6 +584,7 @@ void init_colors_once(void) {
     colorgen(&tmp, layoutcolor, &layout16);
     colorgen(&tmp, timecolor, &time16);
     colorgen(&tmp, datecolor, &date16);
+    colorgen(&tmp, modifcolor, &modif16);
     colorgen(&tmp, keyhlcolor, &keyhl16);
     colorgen(&tmp, bshlcolor, &bshl16);
     colorgen(&tmp, separatorcolor, &sep16);
@@ -593,6 +598,7 @@ void init_colors_once(void) {
     colorgen(&tmp, timeoutlinecolor, &timeoutline16);
     colorgen(&tmp, dateoutlinecolor, &dateoutline16);
     colorgen(&tmp, greeteroutlinecolor, &greeteroutline16);
+    colorgen(&tmp, modifoutlinecolor, &modifoutline16);
 }
 
 static te_expr *compile_expression(const char *const from, const char *expression, const te_variable *variables, int var_count) {
@@ -797,8 +803,8 @@ void render_lock(uint32_t *resolution, xcb_drawable_t drawable) {
         draw_data.mod_text.outline_width = modifieroutlinewidth;
         draw_data.mod_text.font = get_font_face(WRONG_FONT);
         draw_data.mod_text.align = modif_align;
-        draw_data.mod_text.color = wrong16;
-        draw_data.mod_text.outline_color = wrongoutline16;
+        draw_data.mod_text.color = modif16;
+        draw_data.mod_text.outline_color = modifoutline16;
     }
 
     if (layout_text) {