---
name: "DMXAddScreen"
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/DMXAddScreen/3x"
---

# DMXAddScreen(3x)

attach a new back-end screen

## NAME

DMXAddScreen - attach a new back-end screen

## SYNOPSIS

**#include \<X11/extensions/dmxext.h\>**

```
Bool DMXAddScreen(Display *dpy,
                  const char *displayName,
                  unsigned int mask,
                  DMXScreenAttributes *attr,
                  int *screen);
```

## DESCRIPTION

**DMXAddScreen()** attaches a back-end screen to the [**Xdmx**(1)](/Xdmx/1.md) server, in place of the previously detached back-end server specified by *screen*.

*displayName* is the name of the new back-end display, *mask* specifies the field in *attr* that are active, and *screen* returns the new [**Xdmx**(1)](/Xdmx/1.md) screen number for the attached screen.

The information stored in *mask  and  attr* is identical to that used by the **DMXChangeScreenAttributes**(3X) and **DMXGetScreenAttribues**(3X) functions.

## RETURN VALUE

**DMXAddScreen()** will return **True** if the screen was successfully attached, and **False** otherwise. **False** will be returned if the *-addremovescreens* command line option was not specified on the [**Xdmx**(1)](/Xdmx/1.md) command line, the input value of *screen* is out of range, *screen* is not currently detached, *displayName* cannot be opened, has unexpected visuals, or has characteristics that do not match the previously detached screen.

**DMXAddScreen()** can generate **BadLength**, **BadAlloc**, and **BadValue** errors.

## NOTES

Attributes that are not specified will default to 0.  This may lead to unintended results.

Unlike other functions in the **DMX**(3X) API, this function uses *screen* for both input and output.

## SEE ALSO

**DMXRemoveScreen**(3X),  **DMXChangeScreenAttributes**(3X), **DMXGetScreenAttributes**(3X),  **DMX**(3X), [**Xdmx**(1)](/Xdmx/1.md)
