i3 - improved tiling WM


Allow servers which do not support the XKB extension.

Patch status: merged

Patch by David Edmondson

Long description:

If we can open the X display but the XKB extension is not available,
continue without it.

To apply this patch, use:
curl http://cr.i3wm.org/patch/2/raw.patch | git am

b/src/main.c

15
@@ -593,13 +593,13 @@ int main(int argc, char *argv[]) {
16
         int i1;
17
         if (!XkbQueryExtension(xkbdpy,&i1,&xkb_event_base,&errBase,&major,&minor)) {
18
             fprintf(stderr, "XKB not supported by X-server\n");
19
-            return 1;
20
-        }
21
+	    xkb_supported = false;
22
+        } 
23
         /* end of ugliness */
24
 
25
-        if (!XkbSelectEvents(xkbdpy, XkbUseCoreKbd,
26
-                             XkbMapNotifyMask | XkbStateNotifyMask,
27
-                             XkbMapNotifyMask | XkbStateNotifyMask)) {
28
+        if (xkb_supported && !XkbSelectEvents(xkbdpy, XkbUseCoreKbd,
29
+                                              XkbMapNotifyMask | XkbStateNotifyMask,
30
+                                              XkbMapNotifyMask | XkbStateNotifyMask)) {
31
             fprintf(stderr, "Could not set XKB event mask\n");
32
             return 1;
33
         }