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:
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) {