/* gcc -lX11 -lXinerama -o xinerama_dump xinerama_dump.c */
/* http://wiki.cyberleo.net/wiki/CyberLeo/COPYRIGHT?version=3 */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/Xinerama.h>
#include <stdio.h>
int main(int argc, char ** argv) {
Display *display;
int xinerama_active;
if (!(display = XOpenDisplay(NULL))) {
fprintf(stderr, "XOpenDispay failed\n");
return(1);
}
if (xinerama_active = XineramaIsActive(display)) {
int xinerama_iter, xinerama_count;
XineramaScreenInfo * xinerama_info = XineramaQueryScreens(display, & xinerama_count);
for (xinerama_iter = 0; xinerama_iter < xinerama_count; xinerama_iter++) {
XineramaScreenInfo this = xinerama_info[xinerama_iter];
printf("index=%u screen=%u width=%hu height=%hu x_org=%hu y_org=%hu\n",
xinerama_iter, this.screen_number, this.width, this.height,
this.x_org, this.y_org
);
}
XFree(xinerama_info);
}
XCloseDisplay(display);
return(xinerama_active);
}
all: xinerama_dump
xinerama_dump: xinerama_dump.c
gcc -lX11 -lXinerama -o xinerama_dump xinerama_dump.c
clean:
rm -f xinerama_dump
.PHONY: clean