[wiki] [sites] [slock][patch][capscolor] Add patch version compatible with latest commit || Max Schillinger

From: <git_AT_suckless.org>
Date: Wed, 21 Sep 2022 20:09:34 +0200

commit 61db2484f5c9ab6c66e0252d2d9b89235257ae02
Author: Max Schillinger <maxschillinger_AT_web.de>
Date: Wed Sep 21 20:05:41 2022 +0200

    [slock][patch][capscolor] Add patch version compatible with latest commit

diff --git a/tools.suckless.org/slock/patches/capscolor/index.md b/tools.suckless.org/slock/patches/capscolor/index.md
index 964f7e9b..deec2279 100644
--- a/tools.suckless.org/slock/patches/capscolor/index.md
+++ b/tools.suckless.org/slock/patches/capscolor/index.md
_AT_@ -3,15 +3,16 @@ Capscolor
 
 Description
 -----------
-Introduces an additional color to indicate the state of Caps Lock. Written
-against HEAD at a31b919, but should apply to 1.2.
+Introduces an additional color to indicate the state of Caps Lock.
 
 Download
 --------
 * [slock-capscolor.diff](slock-capscolor.diff)
 * [slock-capscolor-20170106-2d2a21a.diff](slock-capscolor-20170106-2d2a21a.diff)
+* [slock-capscolor-20220921-35633d4.diff](slock-capscolor-20220921-35633d4.diff)
 
 Authors
 -------
 * Andrew Hills <ahills_AT_ednos.net>
 * Klemens Nanni <kl3_AT_posteo.org> (20170106 version)
+* Max Schillinger <maxschillinger_AT_web.de> (20220921 version)
diff --git a/tools.suckless.org/slock/patches/capscolor/slock-capscolor-20220921-35633d4.diff b/tools.suckless.org/slock/patches/capscolor/slock-capscolor-20220921-35633d4.diff
new file mode 100644
index 00000000..e4637478
--- /dev/null
+++ b/tools.suckless.org/slock/patches/capscolor/slock-capscolor-20220921-35633d4.diff
_AT_@ -0,0 +1,88 @@
+From da1721b1b4bb0aa8f94537ddd2a3eada1df00a30 Mon Sep 17 00:00:00 2001
+From: Max Schillinger <maxschillinger_AT_web.de>
+Date: Wed, 21 Sep 2022 19:56:58 +0200
+Subject: [PATCH] Update capscolor patch to match the latest slock commit
+ (35633d4)
+
+---
+ config.def.h | 1 +
+ slock.c | 15 ++++++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index 9855e21..6288856 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -6,6 +6,7 @@ static const char *colorname[NUMCOLS] = {
+ [INIT] = "black", /* after initialization */
+ [INPUT] = "#005577", /* during input */
+ [FAILED] = "#CC3333", /* wrong password */
++ [CAPS] = "red", /* CapsLock on */
+ };
+
+ /* treat a cleared input like a wrong password (color) */
+diff --git a/slock.c b/slock.c
+index 5ae738c..5f4fb7a 100644
+--- a/slock.c
++++ b/slock.c
+_AT_@ -18,6 +18,7 @@
+ #include <X11/keysym.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
++#include <X11/XKBlib.h>
+
+ #include "arg.h"
+ #include "util.h"
+_AT_@ -28,6 +29,7 @@ enum {
+ INIT,
+ INPUT,
+ FAILED,
++ CAPS,
+ NUMCOLS
+ };
+
+_AT_@ -130,16 +132,20 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens,
+ {
+ XRRScreenChangeNotifyEvent *rre;
+ char buf[32], passwd[256], *inputhash;
+- int num, screen, running, failure, oldc;
+- unsigned int len, color;
++ int caps, num, screen, running, failure, oldc;
++ unsigned int len, color, indicators;
+ KeySym ksym;
+ XEvent ev;
+
+ len = 0;
++ caps = 0;
+ running = 1;
+ failure = 0;
+ oldc = INIT;
+
++ if (!XkbGetIndicatorState(dpy, XkbUseCoreKbd, &indicators))
++ caps = indicators & 1;
++
+ while (running && !XNextEvent(dpy, &ev)) {
+ if (ev.type == KeyPress) {
+ explicit_bzero(&buf, sizeof(buf));
+_AT_@ -179,6 +185,9 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens,
+ if (len)
+ passwd[--len] = '+ break;
++ case XK_Caps_Lock:
++ caps = !caps;
++ break;
+ default:
+ if (num && !iscntrl((int)buf[0]) &&
+ (len + num < sizeof(passwd))) {
+_AT_@ -187,7 +196,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens,
+ }
+ break;
+ }
+- color = len ? INPUT : ((failure || failonclear) ? FAILED : INIT);
++ color = len ? (caps ? CAPS : INPUT) : (failure || failonclear ? FAILED : INIT);
+ if (running && oldc != color) {
+ for (screen = 0; screen < nscreens; screen++) {
+ XSetWindowBackground(dpy,
+--
+2.37.3
+
Received on Wed Sep 21 2022 - 20:09:34 CEST

This archive was generated by hypermail 2.3.0 : Wed Sep 21 2022 - 20:12:54 CEST