Skip to content

Instantly share code, notes, and snippets.

@mickvangelderen
Created January 18, 2019 11:10
Show Gist options
  • Save mickvangelderen/627558200c0ff0ab19c096a0448374dd to your computer and use it in GitHub Desktop.
Save mickvangelderen/627558200c0ff0ab19c096a0448374dd to your computer and use it in GitHub Desktop.
Obtain a screen pointer by the screen number with xcb.
// Find XCB screen.
int default_screen_number = XDefaultScreen(display);
xcb_screen_t *screen = NULL;
xcb_screen_iterator_t iter = xcb_setup_roots_iterator(xcb_get_setup(connection));
int index = 0;
do {
if (index == default_screen_number) {
screen = iter.data;
break;
}
if (iter.rem > 0) {
index += 1;
xcb_screen_next(&iter);
continue;
}
} while (0);
if (!screen) {
fprintf(stderr, "Failed to find screen from screen number.\n");
exit_code = -1;
break;
}
@oliverlee
Copy link

:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment