| add option to run command after screen is locked - slock - simple X display loc… | |
| git clone git://git.suckless.org/slock | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit e867c38123175d6f050e051ee6b00f4737a9712a | |
| parent b95ee111c7625375716e848ec81af2f57ca35b02 | |
| Author: Markus Teich <[email protected]> | |
| 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(-) | |
| --- | |
| 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); |