From 430c9be6c2c7a5932166645c0dc0b4cca48e9771 Mon Sep 17 00:00:00 2001 From: Sravan Balaji Date: Fri, 11 Dec 2020 10:52:54 -0500 Subject: [PATCH] mediakeys patch - Apply mediakeys patch - Update README with link to mediakeys patch - Add diff to patches folder --- README.md | 1 + patches/slock-mediakeys-1.4.diff | 31 +++++++++++++++++++++++++++++++ slock.c | 13 +++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 patches/slock-mediakeys-1.4.diff diff --git a/README.md b/README.md index 7965cfc..85efdba 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,4 @@ The configuration of slock is done by creating a custom config.h and (re)compili Most patches can be found on the suckless website: [https://tools.suckless.org/slock/patches/](https://tools.suckless.org/slock/patches/) * [capscolor](https://tools.suckless.org/slock/patches/capscolor/) - Introduces an additional color to indicate the state of Caps Lock. +* [mediakeys](https://tools.suckless.org/slock/patches/mediakeys/) - Allows use of media keys while screen is locked diff --git a/patches/slock-mediakeys-1.4.diff b/patches/slock-mediakeys-1.4.diff new file mode 100644 index 0000000..55af8c8 --- /dev/null +++ b/patches/slock-mediakeys-1.4.diff @@ -0,0 +1,31 @@ +diff --git a/slock.c b/slock.c +index 5ae738c..bd54be2 100644 +--- a/slock.c ++++ b/slock.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + + #include "arg.h" + #include "util.h" +@@ -157,6 +158,18 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, + IsPrivateKeypadKey(ksym)) + continue; + switch (ksym) { ++ case XF86XK_AudioPlay: ++ case XF86XK_AudioStop: ++ case XF86XK_AudioPrev: ++ case XF86XK_AudioNext: ++ case XF86XK_AudioRaiseVolume: ++ case XF86XK_AudioLowerVolume: ++ case XF86XK_AudioMute: ++ case XF86XK_AudioMicMute: ++ case XF86XK_MonBrightnessDown: ++ case XF86XK_MonBrightnessUp: ++ XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); ++ break; + case XK_Return: + passwd[len] = '\0'; + errno = 0; diff --git a/slock.c b/slock.c index 5f4fb7a..9e56c8f 100644 --- a/slock.c +++ b/slock.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "arg.h" #include "util.h" @@ -163,6 +164,18 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, IsPrivateKeypadKey(ksym)) continue; switch (ksym) { + case XF86XK_AudioPlay: + case XF86XK_AudioStop: + case XF86XK_AudioPrev: + case XF86XK_AudioNext: + case XF86XK_AudioRaiseVolume: + case XF86XK_AudioLowerVolume: + case XF86XK_AudioMute: + case XF86XK_AudioMicMute: + case XF86XK_MonBrightnessDown: + case XF86XK_MonBrightnessUp: + XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); + break; case XK_Return: passwd[len] = '\0'; errno = 0;