Adds an option to customize the locking text and another option to customize the lock failed text.

This commit is contained in:
Andy Loomis 2018-05-01 20:29:01 -07:00
parent e07c3f0abe
commit 3149907443
3 changed files with 23 additions and 3 deletions

View File

@ -308,6 +308,14 @@ Sets the string to be shown upon entering an incorrect password. Defaults to "wr
.B \-\-noinputtext="text" .B \-\-noinputtext="text"
Sets the string to be shown upon pressing backspace without anything to delete. Defaults to "no input". Sets the string to be shown upon pressing backspace without anything to delete. Defaults to "no input".
.TP
.B \-\-locktext="text"
Sets the string to be shown while acquiring pointer and keyboard focus. Defaults to "locking…".
.TP
.B \-\-lockfailedtext="text"
Sets the string to be shown after failing to acquire pointer and keyboard focus. Defaults to "lock failed!".
.TP .TP
.B \-\-radius .B \-\-radius
The radius of the circle. Defaults to 90. The radius of the circle. Defaults to 90.

View File

@ -160,6 +160,8 @@ double ring_width = 7.0;
char* verif_text = "verifying…"; char* verif_text = "verifying…";
char* wrong_text = "wrong!"; char* wrong_text = "wrong!";
char* noinput_text = "no input"; char* noinput_text = "no input";
char* lock_text = "locking…";
char* lock_failed_text = "lock failed!";
int keylayout_mode = -1; int keylayout_mode = -1;
char* layout_text = NULL; char* layout_text = NULL;
@ -636,7 +638,7 @@ static void handle_key_press(xcb_key_press_event_t *event) {
return; return;
} }
} }
// return/enter/etc // return/enter/etc
switch (ksym) { switch (ksym) {
case XKB_KEY_j: case XKB_KEY_j:
@ -1142,6 +1144,8 @@ int main(int argc, char *argv[]) {
{"wrongtext", required_argument, NULL, 513}, {"wrongtext", required_argument, NULL, 513},
{"keylayout", required_argument, NULL, 514}, {"keylayout", required_argument, NULL, 514},
{"noinputtext", required_argument, NULL, 515}, {"noinputtext", required_argument, NULL, 515},
{"locktext", required_argument, NULL, 516},
{"lockfailedtext", required_argument, NULL, 517},
// fonts // fonts
@ -1415,6 +1419,12 @@ int main(int argc, char *argv[]) {
case 515: case 515:
noinput_text = optarg; noinput_text = optarg;
break; break;
case 516:
lock_text = optarg;
break;
case 517:
lock_failed_text = optarg;
break;
// font stuff // font stuff
case 520: case 520:
if (strlen(optarg) > 31) { if (strlen(optarg) > 31) {

View File

@ -124,6 +124,8 @@ extern double layout_size;
extern char *verif_text; extern char *verif_text;
extern char *wrong_text; extern char *wrong_text;
extern char *noinput_text; extern char *noinput_text;
extern char *lock_text;
extern char *lock_failed_text;
extern char *layout_text; extern char *layout_text;
/* Whether the failed attempts should be displayed. */ /* Whether the failed attempts should be displayed. */
@ -729,7 +731,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) {
break; break;
case STATE_AUTH_LOCK: case STATE_AUTH_LOCK:
draw_data.status_text.show = true; draw_data.status_text.show = true;
strncpy(draw_data.status_text.str, "locking…", sizeof(draw_data.status_text.str)); strncpy(draw_data.status_text.str, lock_text, sizeof(draw_data.status_text.str));
draw_data.status_text.font = get_font_face(VERIF_FONT); draw_data.status_text.font = get_font_face(VERIF_FONT);
draw_data.status_text.color = verif16; draw_data.status_text.color = verif16;
draw_data.status_text.size = verif_size; draw_data.status_text.size = verif_size;
@ -745,7 +747,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) {
break; break;
case STATE_I3LOCK_LOCK_FAILED: case STATE_I3LOCK_LOCK_FAILED:
draw_data.status_text.show = true; draw_data.status_text.show = true;
strncpy(draw_data.status_text.str, "lock failed!", sizeof(draw_data.status_text.str)); strncpy(draw_data.status_text.str, lock_failed_text, sizeof(draw_data.status_text.str));
draw_data.status_text.font = get_font_face(WRONG_FONT); draw_data.status_text.font = get_font_face(WRONG_FONT);
draw_data.status_text.color = wrong16; draw_data.status_text.color = wrong16;
draw_data.status_text.size = wrong_size; draw_data.status_text.size = wrong_size;