mirror of https://github.com/tiyn/slock
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
844 B
28 lines
844 B
1 year ago
|
diff --git a/config.def.h b/config.def.h
|
||
|
index 6fba2b6..933152b 100644
|
||
|
--- a/config.def.h
|
||
|
+++ b/config.def.h
|
||
|
@@ -10,3 +10,6 @@ static const char *colorname[NUMCOLS] = {
|
||
|
|
||
|
/* treat a cleared input like a wrong password */
|
||
|
static const int failonclear = 1;
|
||
|
+
|
||
|
+/* allow control key to trigger fail on clear */
|
||
|
+static const int controlkeyclear = 0;
|
||
|
diff --git a/slock.c b/slock.c
|
||
|
index 4d7f06f..15552ef 100644
|
||
|
--- a/slock.c
|
||
|
+++ b/slock.c
|
||
|
@@ -180,8 +180,9 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens,
|
||
|
passwd[len--] = '\0';
|
||
|
break;
|
||
|
default:
|
||
|
- if (num && !iscntrl((int)buf[0]) &&
|
||
|
- (len + num < sizeof(passwd))) {
|
||
|
+ if (controlkeyclear && iscntrl((int)buf[0]))
|
||
|
+ continue;
|
||
|
+ if (num && (len + num < sizeof(passwd))) {
|
||
|
memcpy(passwd + len, buf, num);
|
||
|
len += num;
|
||
|
}
|