From 6847713826a0bbd5372a5e1e1ad2a0851ec1d8fd Mon Sep 17 00:00:00 2001 From: Igor Kolokolnikov Date: Thu, 24 Sep 2026 23:03:55 -0700 Subject: [PATCH] Wake up on mouse button press and a minor state text issue. --- slock.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/slock.c b/slock.c index df3a43f..51cf84c 100644 --- a/slock.c +++ b/slock.c @@ -131,6 +131,7 @@ unsigned long long millis() return (unsigned long long)ts.tv_sec * 1000 + ts.tv_nsec / 1000000; } +/* TODO: Move into global state. Should be in the arena. */ XRRScreenResources *crtcres = 0; static int crtccount = 0; static XRRCrtcInfo *crtcinfos[16]; @@ -532,7 +533,7 @@ render_screen(struct arena *arena, message_str_len = 32; message_str = (char *)arena_alloc(&temp_arena, message_str_len); - if(failure) + if(locked && failure) memcpy(message_str, "wrong password", 15); else if(locked) memcpy(message_str, "locked", 7); @@ -681,13 +682,14 @@ readpw(struct arena *arena, if(ev.type == MotionNotify) { needs_rendering = 1; dson = 1; - set_screen_on(dpy); + } else if(ev.type == ButtonPress) { + needs_rendering = 1; + dson = 1; } else if (ev.type == KeyPress) { explicit_bzero(&buf, sizeof(buf)); num = XLookupString(&ev.xkey, buf, sizeof(buf), &ksym, 0); needs_rendering = 1; - if(ksym != XK_Escape) { dson = 1; }