Xinerama (3) - Linux Manuals

Xinerama: API for Xinerama extension to X11 Protocol


Xinerama - API for Xinerama extension to X11 Protocol


#include <X11/extensions/Xinerama.h>
Bool XineramaQueryExtension (Display *dpy,
        int *event_base_return, int *error_base_return);

Status XineramaQueryVersion (Display *dpy,
        int *major_version_return,
        int *minor_version_return);

Bool XineramaIsActive (Display *dpy);

XineramaScreenInfo * XineramaQueryScreens (Display *dpy,
        int *number);


Specifies the connection to the X server.
Specifies the return location for the assigned base event code
Specifies the return location for the assigned base error code
Returns the major version supported by the server
Returns the minor version supported by the server
Returns the number of entries in the returned XineramaScreenInfo array.


Xinerama is a simple library designed to interface the Xinerama Extension for retrieving information about physical output devices which may be combined into a single logical X screen.



The XineramaQueryExtension function queries the Xserver to determine the availability of the Xinerama Extension. If the extension is available, the return value is True, and event_base_return and error_base_return are set to the base event number and base error number for the extension, respectively. Otherwise, the return value is False, and the values of event_base_return and error_base_return are undefined.


The XineramaQueryVersion function returns the version of the Xinerama extension implemented by the Xserver. The version is returned in major_version_return and minor_version_return. The major version will be incremented for protocol incompatible changes, and the minor version will be incremented for small, upwardly compatible changes.

If the Xinerama library is compatible with the version returned by the server, it returns nonzero. If the server does not support the XINERAMA extension, or if there was an error during communications with the server, or if the server and library protocol versions are incompatible, it returns zero.


The XineramaIsActive function returns a Boolean operator used to determine if Xinerama is activated on the screen. Returns True for active and False for not active.


The XineramaQueryScreens() function returns info about each individual output device within the Xinerama Screen. The integer pointed to by the number argument is updated to the number of output devices listed in the returned array of XineramaScreenInfo structures. XineramaQueryScreens() returns NULL and sets number to 0 if Xinerama is not active.

The pointer returned should be released with XFree(3) when no longer needed.


The original API provided for interacting with the XINERAMA extension used function names beginning with XPanoramiX. That API is now deprecated and this API should be used instead in new software.