--- slock.c +++ slock.c @@ -23,6 +23,7 @@ #include "util.h" char *argv0; +int failtrack = 0; enum { INIT, @@ -167,6 +168,11 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, if (running) { XBell(dpy, 100); failure = 1; + failtrack++; + + if (failtrack >= failcount && failcount != 0){ + system(failcommand); + } } explicit_bzero(&passwd, sizeof(passwd)); len = 0;