Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-setxkbgroup-6.4.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-setxkbgroup-6.4.diff (1326B)
---
1 From cbaa365a336355712e3c63a550f903b2cd46ab58 Mon Sep 17 00:00:00 2001
2 From: Anton Yabchinskiy <[email protected]>
3 Date: Sun, 1 Oct 2023 22:42:59 +0300
4 Subject: [PATCH] Add setxkbgroup() function to be used in keys[]
5
6 ---
7 dwm.c | 17 +++++++++++++++++
8 1 file changed, 17 insertions(+)
9
10 diff --git a/dwm.c b/dwm.c
11 index e5efb6a2..4a6632f3 100644
12 --- a/dwm.c
13 +++ b/dwm.c
14 @@ -36,6 +36,7 @@
15 #include <X11/Xlib.h>
16 #include <X11/Xproto.h>
17 #include <X11/Xutil.h>
18 +#include <X11/XKBlib.h>
19 #ifdef XINERAMA
20 #include <X11/extensions/Xinerama.h>
21 #endif /* XINERAMA */
22 @@ -234,6 +235,7 @@ static int xerror(Display *dpy, XErrorEvent *ee);
23 static int xerrordummy(Display *dpy, XErrorEvent *ee);
24 static int xerrorstart(Display *dpy, XErrorEvent *ee);
25 static void zoom(const Arg *arg);
26 +static void setxkbgroup(const Arg *arg);
27
28 /* variables */
29 static const char broken[] = "broken";
30 @@ -2122,6 +2124,21 @@ zoom(const Arg *arg)
31 pop(c);
32 }
33
34 +void
35 +setxkbgroup(const Arg *arg) {
36 + static int hasxkb = -1;
37 + if (hasxkb < 0) {
38 + int major = XkbMajorVersion;
39 + int minor = XkbMinorVersion;
40 + hasxkb = XkbQueryExtension(dpy, NULL, NULL, NULL, &majo…
41 + }
42 + if (hasxkb > 0) {
43 + if (arg != NULL && arg->ui < 4) {
44 + XkbLockGroup(dpy, XkbUseCoreKbd, arg->ui);
45 + }
46 + }
47 +}
48 +
49 int
50 main(int argc, char *argv[])
51 {
52 --
53 2.39.2
54
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.