summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/echinus/files/echinus-0.3.1-modkey.patch')
-rw-r--r--x11-wm/echinus/files/echinus-0.3.1-modkey.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/x11-wm/echinus/files/echinus-0.3.1-modkey.patch b/x11-wm/echinus/files/echinus-0.3.1-modkey.patch
new file mode 100644
index 000000000000..2b1c9781ac8b
--- /dev/null
+++ b/x11-wm/echinus/files/echinus-0.3.1-modkey.patch
@@ -0,0 +1,73 @@
+diff -r ffa4f6eba0b2 echinus.c
+--- a/echinus.c Tue Aug 19 22:53:23 2008 +0400
++++ b/echinus.c Wed Aug 20 03:20:40 2008 +0200
+@@ -276,6 +276,7 @@
+ int nrules = 0;
+ Bool dectiled = 0;
+ Bool hidebastards = 0;
++unsigned int modkey = 0;
+ /* configuration, allows nested code to access above variables */
+ #include "config.h"
+ #include "ewmh.c"
+@@ -488,7 +489,7 @@
+ focus(c);
+ restack();
+ XAllowEvents(dpy, ReplayPointer, CurrentTime);
+- if(CLEANMASK(ev->state) != MODKEY)
++ if(CLEANMASK(ev->state) != modkey)
+ return;
+ if(ev->button == Button1) {
+ if((layouts[ltidxs[curtag]].arrange == floating) || c->isfloating)
+@@ -959,8 +960,8 @@
+ void
+ grabbuttons(Client *c, Bool focused) {
+ unsigned int Buttons[] = {Button1, Button2, Button3};
+- unsigned int Modifiers[] = {MODKEY, MODKEY|LockMask,
+- MODKEY|numlockmask, MODKEY|numlockmask|LockMask};
++ unsigned int Modifiers[] = {modkey, modkey|LockMask,
++ modkey|numlockmask, modkey|numlockmask|LockMask};
+ int i, j;
+ XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
+
+@@ -1779,6 +1780,30 @@
+ xrdb = XrmGetFileDatabase("echinusrc");
+ if(!xrdb)
+ eprint("echinus: cannot open configuration file\n");
++
++ /* init modkey */
++ char* key;
++ if(!(key = getresource("modkey", NULL)))
++ modkey = MODKEY;
++ else {
++ switch(atoi(key)) {
++ case 1:
++ modkey = Mod1Mask;
++ break;
++ case 2:
++ modkey = Mod2Mask;
++ break;
++ case 3:
++ modkey = Mod3Mask;
++ break;
++ case 4:
++ modkey = Mod4Mask;
++ break;
++ default:
++ modkey = MODKEY;
++ break;
++ }
++ }
+
+ /* init tags */
+ inittags();
+diff -r ffa4f6eba0b2 echinusrc
+--- a/echinusrc Tue Aug 19 22:53:23 2008 +0400
++++ b/echinusrc Wed Aug 20 03:20:40 2008 +0200
+@@ -41,6 +41,7 @@
+ Echinus*tags.layout1: m
+ Echinus*tags.layout3: b
+
++Echinus*modkey: 1
+ Echinus*togglestruts: A + b
+ Echinus*focusnext: A + j
+ Echinus*focusprev: A + k