From 3149907443cf4fb442573cae39b3680c186a4fec Mon Sep 17 00:00:00 2001 From: Andy Loomis Date: Tue, 1 May 2018 20:29:01 -0700 Subject: [PATCH] Adds an option to customize the locking text and another option to customize the lock failed text. --- i3lock.1 | 8 ++++++++ i3lock.c | 12 +++++++++++- unlock_indicator.c | 6 ++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/i3lock.1 b/i3lock.1 index a2eb94e..761a6bd 100644 --- a/i3lock.1 +++ b/i3lock.1 @@ -308,6 +308,14 @@ Sets the string to be shown upon entering an incorrect password. Defaults to "wr .B \-\-noinputtext="text" 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 .B \-\-radius The radius of the circle. Defaults to 90. diff --git a/i3lock.c b/i3lock.c index 14c4959..3d2e902 100644 --- a/i3lock.c +++ b/i3lock.c @@ -160,6 +160,8 @@ double ring_width = 7.0; char* verif_text = "verifying…"; char* wrong_text = "wrong!"; char* noinput_text = "no input"; +char* lock_text = "locking…"; +char* lock_failed_text = "lock failed!"; int keylayout_mode = -1; char* layout_text = NULL; @@ -636,7 +638,7 @@ static void handle_key_press(xcb_key_press_event_t *event) { return; } } - + // return/enter/etc switch (ksym) { case XKB_KEY_j: @@ -1142,6 +1144,8 @@ int main(int argc, char *argv[]) { {"wrongtext", required_argument, NULL, 513}, {"keylayout", required_argument, NULL, 514}, {"noinputtext", required_argument, NULL, 515}, + {"locktext", required_argument, NULL, 516}, + {"lockfailedtext", required_argument, NULL, 517}, // fonts @@ -1415,6 +1419,12 @@ int main(int argc, char *argv[]) { case 515: noinput_text = optarg; break; + case 516: + lock_text = optarg; + break; + case 517: + lock_failed_text = optarg; + break; // font stuff case 520: if (strlen(optarg) > 31) { diff --git a/unlock_indicator.c b/unlock_indicator.c index 64747d5..8fc218f 100644 --- a/unlock_indicator.c +++ b/unlock_indicator.c @@ -124,6 +124,8 @@ extern double layout_size; extern char *verif_text; extern char *wrong_text; extern char *noinput_text; +extern char *lock_text; +extern char *lock_failed_text; extern char *layout_text; /* Whether the failed attempts should be displayed. */ @@ -729,7 +731,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) { break; case STATE_AUTH_LOCK: 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.color = verif16; draw_data.status_text.size = verif_size; @@ -745,7 +747,7 @@ xcb_pixmap_t draw_image(uint32_t *resolution) { break; case STATE_I3LOCK_LOCK_FAILED: 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.color = wrong16; draw_data.status_text.size = wrong_size;