---
slock.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/slock.c b/slock.c
index b5a9b04..1cd4995 100644
--- a/slock.c
+++ b/slock.c
_AT_@ -9,6 +9,7 @@
#include <grp.h>
#include <pwd.h>
#include <stdarg.h>
+#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
_AT_@ -45,6 +46,8 @@ struct xrandr {
int errbase;
};
+bool visual_unlock = false;
+
#include "config.h"
static void
_AT_@ -272,7 +275,8 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen)
/* input is grabbed: we can lock the screen */
if (ptgrab == GrabSuccess && kbgrab == GrabSuccess) {
- XMapRaised(dpy, lock->win);
+ if (!visual_unlock)
+ XMapRaised(dpy, lock->win);
if (rr->active)
XRRSelectInput(dpy, lock->win, RRScreenChangeNotifyMask);
_AT_@ -301,7 +305,7 @@ lockscreen(Display *dpy, struct xrandr *rr, int screen)
static void
usage(void)
{
- die("usage: slock [-v] [cmd [arg ...]]\n");
+ die("usage: slock [-u] [-v] [cmd [arg ...]]\n");
}
int
_AT_@ -316,13 +320,17 @@ main(int argc, char **argv) {
Display *dpy;
int s, nlocks, nscreens;
- ARGBEGIN {
- case 'v':
- puts("slock-"VERSION);
- return 0;
- default:
- usage();
- } ARGEND
+ if (argc > 1 && strcmp(argv[1], "-u") == 0) {
+ visual_unlock = true;
+ } else {
+ ARGBEGIN {
+ case 'v':
+ puts("slock-"VERSION);
+ return 0;
+ default:
+ usage();
+ } ARGEND
+ }
/* validate drop-user and -group */
errno = 0;
--
2.51.0
Received on Thu Oct 30 2025 - 13:05:30 CET
This archive was generated by hypermail 2.3.0 : Thu Oct 30 2025 - 13:12:36 CET