Commit Diff


commit - 3b54925cbf35d15232908b7ff996ef354d5b4fab
commit + 550f8a99501b5c3da55db695f0c1e9cf9886c42e
blob - 0812932392a17514093d9fe4d36951657c2a5705
blob + 0feff2eab7eeed776d0b24f30c480b36896208fd
--- bxwm.c
+++ bxwm.c
@@ -18,7 +18,6 @@
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <X11/cursorfont.h>
-#include <X11/keysym.h>
 #include <X11/Xatom.h> 
 
 #include "config.h"
@@ -109,32 +108,9 @@ main(int argc, char *argv[])
     fds[1].fd = server_fd;
     fds[1].events = POLLIN;
 
-    // 3. User configuration/setup (key grabs, etc)
+    // 3. User configuration/setup
     setup();
 
-    /* Cache keycodes */
-    KeyCode kcodes[11];
-    KeyCode ws_codes[10];
-    int i, w;
-
-    for (i = 0; i < 11; i++)
-        kcodes[i] = XKeysymToKeycode(dpy, XStringToKeysym(
-            i == 0 ? "Return" :
-            i == 1 ? "Q" :
-            i == 2 ? "C" :
-            i == 3 ? "H" :
-            i == 4 ? "L" :
-            i == 5 ? "S" :
-            i == 6 ? "M" :
-            i == 7 ? "J" :
-            i == 8 ? "K" :
-            i == 9 ? "X" : "P"));
-
-    for (w = 0; w < 10; w++) {
-        KeySym ks = (w == 9) ? XK_0 : (XK_1 + w);
-        ws_codes[w] = XKeysymToKeycode(dpy, ks);
-    }
-
     running = 1;
 
     // 4. Main Loop
@@ -148,79 +124,7 @@ main(int argc, char *argv[])
         if (fds[0].revents & POLLIN) {
             while (XPending(dpy)) {
                 XNextEvent(dpy, &ev);
-                if (ev.type == KeyPress) {
-                    /* Workspace view keys */
-                    for (w = 0; w < 10; w++) {
-                        if (ev.xkey.keycode == ws_codes[w] &&
-                            (ev.xkey.state & Mod4Mask) &&
-                            !(ev.xkey.state & ShiftMask)) {
-                            view(w);
-                            goto processed;
-                        }
-                    }
-                    /* Workspace move keys */
-                    for (w = 0; w < 10; w++) {
-                        if (ev.xkey.keycode == ws_codes[w] &&
-                            (ev.xkey.state & (Mod4Mask | ShiftMask)) ==
-                            (Mod4Mask | ShiftMask)) {
-                            movetows(w);
-                            goto processed;
-                        }
-                    }
-                    /* Action keys */
-                    for (i = 0; i < 11; i++) {
-                        if (ev.xkey.keycode == kcodes[i]) {
-                            switch (i) {
-                            case 0:
-                                if ((ev.xkey.state & (ShiftMask | Mod1Mask)) == (ShiftMask | Mod1Mask))
-                                    spawn(TERMINAL);
-                                break;
-                            case 1:
-                                if ((ev.xkey.state & (ControlMask | ShiftMask)) == (ControlMask | ShiftMask))
-                                    cleanup(0);
-                                break;
-                            case 2:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    center_window(focused_client);
-                                break;
-                            case 3:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    left_half_window(focused_client);
-                                break;
-                            case 4:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    right_half_window(focused_client);
-                                break;
-                            case 5:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    small_window(focused_client);
-                                break;
-                            case 6:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    maximize_window(focused_client);
-                                break;
-                            case 7:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    focus_next();
-                                break;
-                            case 8:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    focus_prev();
-                                break;
-                            case 9:
-                                if ((ev.xkey.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask))
-                                    close_window(focused_client);
-                                break;
-                            case 10:
-                                if ((ev.xkey.state & (ShiftMask | Mod1Mask)) == (ShiftMask | Mod1Mask))
-                                    spawn(LAUNCHPROGRAM);
-                                break;
-                            }
-                            goto processed;
-                        }
-                    }
-                processed:;
-                } else if (ev.type == MapRequest) {
+                if (ev.type == MapRequest) {
                     manage(ev.xmaprequest.window);
                 } else if (ev.type == DestroyNotify) {
                     unmanage(ev.xdestroywindow.window);
@@ -312,28 +216,7 @@ setup(void) {
     XSetWindowAttributes wa;
     Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
     XColor color;
-    KeyCode keycodes[] = {
-        XKeysymToKeycode(dpy, XStringToKeysym("Return")),
-        XKeysymToKeycode(dpy, XStringToKeysym("Q")),
-        XKeysymToKeycode(dpy, XStringToKeysym("C")),
-        XKeysymToKeycode(dpy, XStringToKeysym("H")),
-        XKeysymToKeycode(dpy, XStringToKeysym("L")),
-        XKeysymToKeycode(dpy, XStringToKeysym("S")),
-        XKeysymToKeycode(dpy, XStringToKeysym("M")),
-        XKeysymToKeycode(dpy, XStringToKeysym("J")),
-        XKeysymToKeycode(dpy, XStringToKeysym("K")),
-		XKeysymToKeycode(dpy, XStringToKeysym("X")),
-		XKeysymToKeycode(dpy, XStringToKeysym("P"))
-    };
 
-    KeyCode ws_codes[10];
-    int w;
-
-    for (w = 0; w < 10; w++) {
-        KeySym ks = (w == 9) ? XK_0 : (XK_1 + w);
-        ws_codes[w] = XKeysymToKeycode(dpy, ks);
-    }
-
     screen = DefaultScreen(dpy);
     screen_w = DisplayWidth(dpy, screen);
     screen_h = DisplayHeight(dpy, screen);
@@ -377,26 +260,6 @@ setup(void) {
     XDefineCursor(dpy, root, cursor);
     XFreeCursor(dpy, cursor);
 
-    /* Key grabs */
-    XGrabKey(dpy, keycodes[0], ShiftMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync);  /* Shift+Alt+Enter: terminal */
-    XGrabKey(dpy, keycodes[1], ControlMask | ShiftMask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Shift+Q: quit */
-    XGrabKey(dpy, keycodes[2], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+C: center */
-    XGrabKey(dpy, keycodes[3], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+H: left */
-    XGrabKey(dpy, keycodes[4], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+L: right */
-    XGrabKey(dpy, keycodes[5], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+S: small */
-    XGrabKey(dpy, keycodes[6], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+M: maximize */
-    XGrabKey(dpy, keycodes[7], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+J: next */
-    XGrabKey(dpy, keycodes[8], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); /* Ctrl+Alt+K: prev */
-	XGrabKey(dpy, keycodes[9], ControlMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync);  /* Ctrl+Alt+X: close */
-    XGrabKey(dpy, keycodes[10], ShiftMask | Mod1Mask, root, True, GrabModeAsync, GrabModeAsync);  /* Shift+Alt+P: launchprograms script */
-
-    for (w = 0; w < 10; w++) {
-        XGrabKey(dpy, ws_codes[w], Mod4Mask, root, True, 
-                 GrabModeAsync, GrabModeAsync);        /* Super+N: view */
-        XGrabKey(dpy, ws_codes[w], Mod4Mask | ShiftMask, 
-                 root, True, GrabModeAsync, GrabModeAsync); /* Super+Shift+N: move */
-    }
-
     /* Intern EWMH/ICCCM atoms */
     net_supported = XInternAtom(dpy, "_NET_SUPPORTED", False);
     net_number_of_desktops = XInternAtom(dpy, "_NET_NUMBER_OF_DESKTOPS", False);