---
name: "DMXChangeDesktopAttributes"
section: "3x"
platform: "linux"
package: "libdmx-dev"
version: "1:1.0.2-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/DMXChangeDesktopAttributes/3x"
---

# DMXChangeDesktopAttributes(3x)

change global bounding box

## NAME

DMXChangeDesktopAttributes - change global bounding box

## 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 coordinants are in the global DMX coordinant 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).

## SEE ALSO

**DMXGetDesktopAttributes**(3X), **DMX**(3X), [**Xdmx**(1)](/Xdmx/1.md)
