JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Fix linux makefile.
[spectrwm.git] / spectrwm.c
index 54bb1f2..fbfa324 100644 (file)
@@ -89,7 +89,7 @@
 #include <util.h>
 #include <X11/cursorfont.h>
 #include <X11/extensions/Xrandr.h>
-#include <xcb/xcb.h>
+#include <X11/Xlib-xcb.h>
 #include <xcb/xcb_atom.h>
 #include <xcb/xcb_aux.h>
 #include <xcb/xcb_event.h>
@@ -260,6 +260,8 @@ int                 ss_enabled = 0;
 int                    xrandr_support;
 int                    xrandr_eventbase;
 unsigned int           numlockmask = 0;
+
+Display                        *display;
 xcb_connection_t       *conn;
 xcb_key_symbols_t      *syms;
 
@@ -1353,10 +1355,10 @@ bar_print(struct swm_region *r, const char *s)
                return;
        }
        width = ter->overall_width;
-       
+
        free(ter);
        free(c2b);
+
        switch (bar_justify) {
        case SWM_BAR_JUSTIFY_LEFT:
                x = SWM_BAR_OFFSET;
@@ -1371,7 +1373,7 @@ bar_print(struct swm_region *r, const char *s)
 
        if (x < SWM_BAR_OFFSET)
                x = SWM_BAR_OFFSET;
-       
+
        rect.x = 0;
        rect.y = 0;
        rect.width = WIDTH(r->bar);
@@ -1390,7 +1392,7 @@ bar_print(struct swm_region *r, const char *s)
        xcb_change_gc(conn, r->s->bar_gc, XCB_GC_FOREGROUND, gcv);
        gcv[0] = bar_fs;
        xcb_change_gc(conn, r->s->bar_gc, XCB_GC_FONT, gcv);
-       
+
        xcb_image_text_8(conn, len, r->bar->buffer, r->s->bar_gc, x,
                bar_fs_height, s);
 
@@ -1892,12 +1894,13 @@ bar_setup(struct swm_region *r)
                }
        }
 
-       bar_fs_info = xcb_query_font_reply(conn,
-               xcb_query_font(conn, bar_fs),
+       bar_fs_info = xcb_query_font_reply(conn, xcb_query_font(conn, bar_fs),
                NULL);
-       if (!bar_fs_info)
-               errx(1, "unable to get font information for font %s\n",
+       if (!bar_fs_info) {
+               warnx(1, "unable to get font information for font %s\n",
                    bar_font);
+               return;
+       }
        bar_fs_height = bar_fs_info->font_ascent + bar_fs_info->font_descent;
        free(bar_fs_info);
 
@@ -3840,7 +3843,7 @@ search_win(struct swm_region *r, union arg *args)
        struct ws_win           *win = NULL;
        struct search_window    *sw = NULL;
        xcb_window_t            w;
-       uint32_t                gcv[3], wa[2];
+       uint32_t                gcv[4], wa[2];
        int                     i, width;
        char                    s[8];
        FILE                    *lfile;
@@ -3916,9 +3919,11 @@ search_win(struct swm_region *r, union arg *args)
                sw->gc = xcb_generate_id(conn);
                gcv[0] = r->s->c[SWM_S_COLOR_BAR].color;
                gcv[1] = r->s->c[SWM_S_COLOR_FOCUS].color;
-               gcv[2] = 0;
+               gcv[2] = bar_fs;
+               gcv[3] = 0;
                xcb_create_gc(conn, sw->gc, w, XCB_GC_FOREGROUND |
-                   XCB_GC_BACKGROUND | XCB_GC_GRAPHICS_EXPOSURES, gcv);
+                   XCB_GC_BACKGROUND | XCB_GC_FONT | XCB_GC_GRAPHICS_EXPOSURES,
+                   gcv);
                map_window_raised(w);
 
                xcb_image_text_8(conn, len, w, sw->gc, 2, bar_fs_height, s);
@@ -7710,7 +7715,10 @@ main(int argc, char *argv[])
        sact.sa_flags = SA_NOCLDSTOP;
        sigaction(SIGCHLD, &sact, NULL);
 
-       conn = xcb_connect(NULL, NULL);
+       if (!(display = XOpenDisplay(0)))
+               errx(1, "can not open display");
+
+       conn = XGetXCBConnection(display); 
        if (xcb_connection_has_error(conn))
                errx(1, "can not get XCB connection");