slock-failure-command-1.4.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
slock-failure-command-1.4.diff (1034B)
---
1 diff --git a/config.def.h b/config.def.h
2 index 9855e21..4c7b0d9 100644
3 --- a/config.def.h
4 +++ b/config.def.h
5 @@ -10,3 +10,10 @@ static const char *colorname[NUMCOLS] = {
6
7 /* treat a cleared input like a wrong password (color) */
8 static const int failonclear = 1;
9 +
10 +/* number of failed password attempts until failcommand is executed.
11 + Set to 0 to disable */
12 +static const int failcount = 0;
13 +
14 +/* command to be executed after [failcount] failed password attempts */
15 +static const char *failcommand = "shutdown";
16 diff --git a/slock.c b/slock.c
17 index d2f0886..53c567f 100644
18 --- a/slock.c
19 +++ b/slock.c
20 @@ -23,6 +23,7 @@
21 #include "util.h"
22
23 char *argv0;
24 +int failtrack = 0;
25
26 enum {
27 INIT,
28 @@ -167,6 +168,11 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens,
29 if (running) {
30 XBell(dpy, 100);
31 failure = 1;
32 + failtrack++;
33 +
34 + if (failtrack >= failcount && failcount != 0){
35 + system(failcommand);
36 + }
37 }
38 explicit_bzero(&passwd, sizeof(passwd));
39 len = 0;