SYNOPSIS

#include <X11/extensions/dmxext.h>

int DMXChangeDesktopAttributes(Display *dpy,
                               unsigned int mask,
                               DMXDesktopAttributes *attr);

DESCRIPTION

DMXChangeDesktopAttributes() resizes the bounding box of the whole screen when using the Xinerama extension. Otherwise, it has no effect on the screen layout. An attribute mask is placed in mask and the attributes to change are placed in attr.

The values that are used to compute mask are as follows:

DMXDesktopWidth
DMXDesktopHeight
DMXDesktopShiftX
DMXDesktopShiftY

The DMXDesktopAttributes structure is:

typedef struct {
    unsigned int width;
    unsigned int height;
    int          shiftX;
    int          shiftY;
} DMXDesktopAttributes;

width and height specify the new width and height for the bounding box. shiftX and shiftY specify where the Xinerama origin will be placed with respect to the origin of the new bounding box. This allows the left and upper edges of the bounding box to be changed without changing the visual position of the windows on the desktop. If width or height is not specified, the current values will be used. If shiftX or shiftY is not specified, 0 will be used.

All coordinates are in the global DMX coordinate system. If Xinerama is not active, an error will be generated.

RETURN VALUE

DMXChangeDesktopAttributes() will return 0 on success, DmxBadXinerama if Xinerama is not active, DmxBadValue if the size of the bounding box is too large, and DmxBadReply if there was a protocol error.

DMXChangeDesktopAttributes() can generate BadLength (if the request is malformed, which should never happen when using this library interface), and BadValue (if any values are out of range).

RELATED TO DMXChangeDesktopAttributes…