Here is a patch I wrote that allows you to set the modifier used by
evilwm.  See the output of 'xmodmap -pm' for the modifier numbers.

I sent this to the author a while back but received no reply.


diff -ur evilwm-0.99.17/events.c evilwm-0.99.17-new/events.c
--- evilwm-0.99.17/events.c     2002-11-26 21:09:35.000000000 +0000
+++ evilwm-0.99.17-new/events.c 2004-12-27 00:49:37.000000000 +0000
@@ -209,6 +209,7 @@
 }
 
 void handle_enter_event(XCrossingEvent *e) {
+       extern unsigned int modifiermask;
        Client *c;
 #ifdef VWM
        int wdesk;
@@ -232,7 +233,7 @@
                client_update_current(c, current);
                XSetInputFocus(dpy, c->window, RevertToPointerRoot, CurrentTime
);
 #ifdef MOUSE
-               grab_button(c->parent, Mod1Mask, AnyButton);
+               grab_button(c->parent, modifiermask, AnyButton);
 #endif
        }
 }
diff -ur evilwm-0.99.17/main.c evilwm-0.99.17-new/main.c
--- evilwm-0.99.17/main.c       2003-10-15 12:48:23.000000000 +0100
+++ evilwm-0.99.17-new/main.c   2004-12-27 00:49:04.000000000 +0000
@@ -48,6 +48,7 @@
 Atom           mwm_hints;
 #endif
 unsigned int numlockmask = 0;
+unsigned int modifiermask = Mod1Mask;
 
 static void *xmalloc(size_t size);
 
@@ -83,6 +84,26 @@
 #endif
                else if (!strcmp(argv[i], "-bw") && i+1<argc)
                        opt_bw = atoi(argv[++i]);
+               else if (!strcmp(argv[i], "-mod") && i+1<argc) {
+                       if (strlen(argv[++i]) == 1)
+                               switch (argv[i][0]) {
+                                       case '1':
+                                               modifiermask = Mod1Mask;
+                                               break;
+                                       case '2':
+                                               modifiermask = Mod2Mask;
+                                               break;
+                                       case '3':
+                                               modifiermask = Mod3Mask;
+                                               break;
+                                       case '4':
+                                               modifiermask = Mod4Mask;
+                                               break;
+                                       case '5':
+                                               modifiermask = Mod5Mask;
+                                               break;
+                               }
+               }
                else if (!strcmp(argv[i], "-term") && i+1<argc) {
                        opt_term = (const char **)xmalloc(3 * sizeof(const char
 *));
                        opt_term[0] = argv[++i];
@@ -98,7 +119,7 @@
                } else {
 #ifdef STDIO
                        printf("usage: evilwm [-display display] [-term termpro
g] [-fg foreground]\n");
-                       printf("\t[-bg background] [-bw borderwidth] [-snap num
] [-V]\n");
+                       printf("\t[-bg background] [-bw borderwidth] [-snap num
] [-mod num] [-V]\n");
 #endif
                        exit(2);
                }
@@ -280,9 +301,9 @@
                /* So now I grab each and every one. */
 
                for (keysym = keys_to_grab; *keysym; keysym++) {
-                       grab_keysym(screens[i].root, ControlMask|Mod1Mask, *key
sym);
+                       grab_keysym(screens[i].root, ControlMask|modifiermask, 
*keysym);
                }
-               grab_keysym(screens[i].root, Mod1Mask, XK_Tab);
+               grab_keysym(screens[i].root, modifiermask, XK_Tab);
 
                /* scan all the windows on this screen */
 #ifdef XDEBUG



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to