[wiki] [sites] [dwm] keycode: bump git patch || Quentin Rameau

From: <git_AT_suckless.org>
Date: Sat, 02 Jul 2016 21:49:53 +0200

commit 619a331ee48db65b6c9852bdfa2ff40fd6b94d13
Author: Quentin Rameau <quinq_AT_fifth.space>
Date: Sat Jul 2 21:48:58 2016 +0200

    [dwm] keycode: bump git patch

diff --git a/dwm.suckless.org/patches/dwm-20151110-5ed9c48-keycode.patch b/dwm.suckless.org/patches/dwm-20151110-5ed9c48-keycode.patch
deleted file mode 100644
index ec9cb42..0000000
--- a/dwm.suckless.org/patches/dwm-20151110-5ed9c48-keycode.patch
+++ /dev/null
_AT_@ -1,146 +0,0 @@
-From 6a9c5bc422a68a40d5eb2b873fa01d59d6c5bd50 Mon Sep 17 00:00:00 2001
-From: Quentin Rameau <quinq_AT_fifth.space>
-Date: Tue, 10 Nov 2015 19:09:20 +0100
-Subject: [PATCH] Use keycodes instead of keysyms
-
----
- config.def.h | 68 ++++++++++++++++++++++++++++++------------------------------
- dwm.c        | 15 +++++---------
- 2 files changed, 39 insertions(+), 44 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 7054c06..f59d1eb 100644
---- a/config.def.h
-+++ b/config.def.h
-_AT_@ -58,40 +58,40 @@ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont,
- static const char *termcmd[]  = { "st", NULL };
- 
- static Key keys[] = {
--	/* modifier                     key        function        argument */
--	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
--	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
--	{ MODKEY,                       XK_b,      togglebar,      {0} },
--	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
--	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
--	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
--	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
--	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
--	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
--	{ MODKEY,                       XK_Return, zoom,           {0} },
--	{ MODKEY,                       XK_Tab,    view,           {0} },
--	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
--	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
--	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
--	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
--	{ MODKEY,                       XK_space,  setlayout,      {0} },
--	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
--	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
--	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
--	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
--	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
--	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
--	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
--	TAGKEYS(                        XK_1,                      0)
--	TAGKEYS(                        XK_2,                      1)
--	TAGKEYS(                        XK_3,                      2)
--	TAGKEYS(                        XK_4,                      3)
--	TAGKEYS(                        XK_5,                      4)
--	TAGKEYS(                        XK_6,                      5)
--	TAGKEYS(                        XK_7,                      6)
--	TAGKEYS(                        XK_8,                      7)
--	TAGKEYS(                        XK_9,                      8)
--	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
-+	/* modifier             key    function        argument */
-+	{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
-+	{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
-+	{ MODKEY,               56,    togglebar,      {0} },             // b
-+	{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
-+	{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
-+	{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
-+	{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
-+	{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
-+	{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
-+	{ MODKEY,               36,    zoom,           {0} },             // Return
-+	{ MODKEY,               23,    view,           {0} },             // Tab
-+	{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
-+	{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
-+	{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
-+	{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
-+	{ MODKEY,               65,    setlayout,      {0} },             // space
-+	{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
-+	{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
-+	{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
-+	{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
-+	{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
-+	{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
-+	{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
-+	TAGKEYS(                10,                    0)                 // 1
-+	TAGKEYS(                11,                    1)                 // 2
-+	TAGKEYS(                12,                    2)                 // 3
-+	TAGKEYS(                13,                    3)                 // 4
-+	TAGKEYS(                14,                    4)                 // 5
-+	TAGKEYS(                15,                    5)                 // 6
-+	TAGKEYS(                16,                    6)                 // 7
-+	TAGKEYS(                17,                    7)                 // 8
-+	TAGKEYS(                18,                    8)                 // 9
-+	{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
- };
- 
- /* button definitions */
-diff --git a/dwm.c b/dwm.c
-index 0362114..60dd817 100644
---- a/dwm.c
-+++ b/dwm.c
-_AT_@ -31,7 +31,6 @@
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <X11/cursorfont.h>
--#include <X11/keysym.h>
- #include <X11/Xatom.h>
- #include <X11/Xlib.h>
- #include <X11/Xproto.h>
-_AT_@ -101,7 +100,7 @@ struct Client {
- 
- typedef struct {
- 	unsigned int mod;
--	KeySym keysym;
-+	KeyCode keycode;
- 	void (*func)(const Arg *);
- 	const Arg arg;
- } Key;
-_AT_@ -967,14 +966,12 @@ grabkeys(void)
- 	{
- 		unsigned int i, j;
- 		unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
--		KeyCode code;
- 
- 		XUngrabKey(dpy, AnyKey, AnyModifier, root);
- 		for (i = 0; i < LENGTH(keys); i++)
--			if ((code = XKeysymToKeycode(dpy, keys[i].keysym)))
--				for (j = 0; j < LENGTH(modifiers); j++)
--					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
--						 True, GrabModeAsync, GrabModeAsync);
-+			for (j = 0; j < LENGTH(modifiers); j++)
-+				XGrabKey(dpy, keys[i].keycode, keys[i].mod | modifiers[j], root,
-+					 True, GrabModeAsync, GrabModeAsync);
- 	}
- }
- 
-_AT_@ -1001,13 +998,11 @@ void
- keypress(XEvent *e)
- {
- 	unsigned int i;
--	KeySym keysym;
- 	XKeyEvent *ev;
- 
- 	ev = &e->xkey;
--	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
- 	for (i = 0; i < LENGTH(keys); i++)
--		if (keysym == keys[i].keysym
-+		if (ev->keycode == keys[i].keycode
- 		&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
- 		&& keys[i].func)
- 			keys[i].func(&(keys[i].arg));
--- 
-2.6.2
-
diff --git a/dwm.suckless.org/patches/dwm-keycode-20160702-56a31dc.diff b/dwm.suckless.org/patches/dwm-keycode-20160702-56a31dc.diff
new file mode 100644
index 0000000..00bc5cf
--- /dev/null
+++ b/dwm.suckless.org/patches/dwm-keycode-20160702-56a31dc.diff
_AT_@ -0,0 +1,133 @@
+diff --git a/config.def.h b/config.def.h
+index fd77a07..7a568df 100644
+--- a/config.def.h
++++ b/config.def.h
+_AT_@ -60,40 +60,40 @@ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont,
+ static const char *termcmd[]  = { "st", NULL };
+ 
+ static Key keys[] = {
+-	/* modifier                     key        function        argument */
+-	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
+-	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
+-	{ MODKEY,                       XK_b,      togglebar,      {0} },
+-	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
+-	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
+-	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
+-	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
+-	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
+-	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
+-	{ MODKEY,                       XK_Return, zoom,           {0} },
+-	{ MODKEY,                       XK_Tab,    view,           {0} },
+-	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
+-	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
+-	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
+-	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
+-	{ MODKEY,                       XK_space,  setlayout,      {0} },
+-	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
+-	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
+-	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
+-	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
+-	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
+-	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
+-	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
+-	TAGKEYS(                        XK_1,                      0)
+-	TAGKEYS(                        XK_2,                      1)
+-	TAGKEYS(                        XK_3,                      2)
+-	TAGKEYS(                        XK_4,                      3)
+-	TAGKEYS(                        XK_5,                      4)
+-	TAGKEYS(                        XK_6,                      5)
+-	TAGKEYS(                        XK_7,                      6)
+-	TAGKEYS(                        XK_8,                      7)
+-	TAGKEYS(                        XK_9,                      8)
+-	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
++	/* modifier             key    function        argument */
++	{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
++	{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
++	{ MODKEY,               56,    togglebar,      {0} },             // b
++	{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
++	{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
++	{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
++	{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
++	{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
++	{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
++	{ MODKEY,               36,    zoom,           {0} },             // Return
++	{ MODKEY,               23,    view,           {0} },             // Tab
++	{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
++	{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
++	{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
++	{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
++	{ MODKEY,               65,    setlayout,      {0} },             // space
++	{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
++	{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
++	{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
++	{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
++	{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
++	{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
++	{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
++	TAGKEYS(                10,                    0)                 // 1
++	TAGKEYS(                11,                    1)                 // 2
++	TAGKEYS(                12,                    2)                 // 3
++	TAGKEYS(                13,                    3)                 // 4
++	TAGKEYS(                14,                    4)                 // 5
++	TAGKEYS(                15,                    5)                 // 6
++	TAGKEYS(                16,                    6)                 // 7
++	TAGKEYS(                17,                    7)                 // 8
++	TAGKEYS(                18,                    8)                 // 9
++	{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
+ };
+ 
+ /* button definitions */
+diff --git a/dwm.c b/dwm.c
+index b2bc9bd..f36285a 100644
+--- a/dwm.c
++++ b/dwm.c
+_AT_@ -31,7 +31,6 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <X11/cursorfont.h>
+-#include <X11/keysym.h>
+ #include <X11/Xatom.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xproto.h>
+_AT_@ -102,7 +101,7 @@ struct Client {
+ 
+ typedef struct {
+ 	unsigned int mod;
+-	KeySym keysym;
++	KeyCode keycode;
+ 	void (*func)(const Arg *);
+ 	const Arg arg;
+ } Key;
+_AT_@ -969,14 +968,12 @@ grabkeys(void)
+ 	{
+ 		unsigned int i, j;
+ 		unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
+-		KeyCode code;
+ 
+ 		XUngrabKey(dpy, AnyKey, AnyModifier, root);
+ 		for (i = 0; i < LENGTH(keys); i++)
+-			if ((code = XKeysymToKeycode(dpy, keys[i].keysym)))
+-				for (j = 0; j < LENGTH(modifiers); j++)
+-					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
+-						 True, GrabModeAsync, GrabModeAsync);
++			for (j = 0; j < LENGTH(modifiers); j++)
++				XGrabKey(dpy, keys[i].keycode, keys[i].mod | modifiers[j], root,
++					 True, GrabModeAsync, GrabModeAsync);
+ 	}
+ }
+ 
+_AT_@ -1003,13 +1000,11 @@ void
+ keypress(XEvent *e)
+ {
+ 	unsigned int i;
+-	KeySym keysym;
+ 	XKeyEvent *ev;
+ 
+ 	ev = &e->xkey;
+-	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
+ 	for (i = 0; i < LENGTH(keys); i++)
+-		if (keysym == keys[i].keysym
++		if (ev->keycode == keys[i].keycode
+ 		&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
+ 		&& keys[i].func)
+ 			keys[i].func(&(keys[i].arg));
diff --git a/dwm.suckless.org/patches/keycode.md b/dwm.suckless.org/patches/keycode.md
index 6adbcc0..30367c9 100644
--- a/dwm.suckless.org/patches/keycode.md
+++ b/dwm.suckless.org/patches/keycode.md
_AT_@ -7,7 +7,7 @@ using for exemple xev).
 Download
 --------
 * [dwm-6.0-keycode.diff](dwm-6.0-keycode.diff)
-* [dwm-20151110-5ed9c48-keycode.patch](dwm-20151110-5ed9c48-keycode.patch)
+* [dwm-keycode-20160702-56a31dc.patch](dwm-keycode-20160702-56a31dc.patch)
 
 Author
 ------
Received on Sat Jul 02 2016 - 21:49:53 CEST

This archive was generated by hypermail 2.3.0 : Sat Jul 02 2016 - 22:00:15 CEST