commit 3149907443cf4fb442573cae39b3680c186a4fec
parent e07c3f0abeb86c74386cf70535f8c30b5ed46e7d
Author: Andy Loomis <andy.loomis@gmail.com>
Date: Tue, 1 May 2018 20:29:01 -0700
Adds an option to customize the locking text and another option to customize the lock failed text.
Diffstat:
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/i3lock.1 b/i3lock.1
@@ -309,6 +309,14 @@ Sets the string to be shown upon entering an incorrect password. Defaults to "wr
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
@@ -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
@@ -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;