XCB_CONFIG_WINDOW_STACK_MODE, &val);
xcb_map_window(conn, win);
+ xcb_flush(conn);
}
xcb_atom_t
setup_screens(void)
{
int i, j, k, num_screens;
- int errorbase;
struct workspace *ws;
XGCValues gcv;
-
+ const xcb_query_extension_reply_t *qep;
xcb_randr_query_version_cookie_t c;
xcb_randr_query_version_reply_t *r;
"screens");
/* initial Xrandr setup */
- xrandr_support = XRRQueryExtension(display,
- &xrandr_eventbase, &errorbase);
- if (xrandr_support) {
- c = xcb_randr_query_version(conn, True, False);
- r = xcb_randr_query_version_reply(conn, c, NULL);
- if (r) {
- if (r->major_version < 1)
- xrandr_support = 0;
- free(r);
- } else
- xrandr_support = 0;
+ xrandr_support = False;
+ c = xcb_randr_query_version(conn, True, True);
+ r = xcb_randr_query_version_reply(conn, c, NULL);
+ if (r) {
+ if (r->major_version >= 1)
+ xrandr_support = True;
+ free(r);
}
+ qep = xcb_get_extension_data(conn, &xcb_randr_id);
+ xrandr_eventbase = qep->first_event;
/* map physical screens */
for (i = 0; i < num_screens; i++) {
int xfd, i, num_screens;
fd_set rd;
struct sigaction sact;
- xcb_generic_event_t *evt;
start_argv = argv;
warnx("Welcome to spectrwm V%s Build: %s", SPECTRWM_VERSION, buildstr);
xfd = xcb_get_file_descriptor(conn);
while (running) {
- while ((evt = xcb_poll_for_event(conn)) == 0) {
+ while (XPending(display)) {
XNextEvent(display, &e);
if (running == 0)
goto done;