modernc.org/xcb@v1.0.15/examples/screen/screen.c (about) 1 // +build ignore 2 3 // src: https://www.x.org/releases/current/doc/libxcb/tutorial/index.html#screen 4 5 #include <stdio.h> 6 7 #include <xcb/xcb.h> 8 9 int 10 main () 11 { 12 xcb_connection_t *c; 13 xcb_screen_t *screen; 14 int screen_nbr; 15 xcb_screen_iterator_t iter; 16 17 /* Open the connection to the X server. Use the DISPLAY environment variable */ 18 c = xcb_connect (NULL, &screen_nbr); 19 20 /* Get the screen #screen_nbr */ 21 iter = xcb_setup_roots_iterator (xcb_get_setup (c)); 22 for (; iter.rem; --screen_nbr, xcb_screen_next (&iter)) 23 if (screen_nbr == 0) { 24 screen = iter.data; 25 break; 26 } 27 28 printf ("\n"); 29 printf ("Informations of screen %ld:\n", screen->root); 30 printf (" width.........: %d\n", screen->width_in_pixels); 31 printf (" height........: %d\n", screen->height_in_pixels); 32 printf (" white pixel...: %ld\n", screen->white_pixel); 33 printf (" black pixel...: %ld\n", screen->black_pixel); 34 printf ("\n"); 35 36 return 0; 37 }