add option to run command after screen is locked - slock - simple X display locker utility
 (HTM) git clone git://git.suckless.org/slock
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit e867c38123175d6f050e051ee6b00f4737a9712a
 (DIR) parent b95ee111c7625375716e848ec81af2f57ca35b02
 (HTM) Author: Markus Teich <markus.teich@stusta.mhn.de>
       Date:   Sat, 26 Dec 2015 13:13:25 +0100
       
       add option to run command after screen is locked
       
       Diffstat:
         M slock.c                             |      12 ++++++++++--
       
       1 file changed, 10 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/slock.c b/slock.c
       @@ -289,7 +289,7 @@ lockscreen(Display *dpy, int screen)
        static void
        usage(void)
        {
       -        fprintf(stderr, "usage: slock [-v]\n");
       +        fprintf(stderr, "usage: slock [-v|POST_LOCK_CMD]\n");
                exit(1);
        }
        
       @@ -303,7 +303,8 @@ main(int argc, char **argv) {
        
                if ((argc == 2) && !strcmp("-v", argv[1]))
                        die("slock-%s, © 2006-2015 slock engineers\n", VERSION);
       -        else if (argc != 1)
       +
       +        if ((argc == 2) && !strcmp("-h", argv[1]))
                        usage();
        
        #ifdef __linux__
       @@ -339,6 +340,13 @@ main(int argc, char **argv) {
                        return 1;
                }
        
       +        if (argc >= 2 && fork() == 0) {
       +                if (dpy)
       +                        close(ConnectionNumber(dpy));
       +                execvp(argv[1], argv+1);
       +                die("slock: execvp %s failed: %s\n", argv[1], strerror(errno));
       +        }
       +
                /* Everything is now blank. Now wait for the correct password. */
        #ifdef HAVE_BSD_AUTH
                readpw(dpy);