File: ls_xinerama.c

package info (click to toggle)
notion 4.0.2%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,676 kB
  • sloc: ansic: 47,508; sh: 2,096; makefile: 603; perl: 270
file content (26 lines) | stat: -rw-r--r-- 839 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <X11/Xlib.h>
#include <X11/extensions/Xinerama.h>
#include <stdbool.h>
#include <stdio.h>

int main()
{
    Display *dpy = XOpenDisplay(NULL);
    int xinerama_event_base;
    int xinerama_error_base;
    bool xinerama_ready = XineramaQueryExtension(dpy,&xinerama_event_base, &xinerama_error_base);

    fprintf(stdout, "Basic Xinerama screen information - for all the details run 'xdpyinfo -ext XINERAMA'\n");

    if (!xinerama_ready)
        fprintf(stderr, "No Xinerama support detected, mod_xinerama won't do anything.");
    else {
        int nRects,i;
        XineramaScreenInfo* sInfo = XineramaQueryScreens(dpy, &nRects);
        for(i = 0 ; i < nRects ; ++i) {
            fprintf(stdout, "Screen %d: %dx%d+%d+%d\n", i, sInfo[i].width, sInfo[i].height, sInfo[i].x_org, sInfo[i].y_org);
        }
    }

    return 0;
}