---
name: "XSetState"
section: "3"
platform: "linux"
package: "libx11"
version: "1.8.14-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XSetState"
---

# XSetState(3)

GC convenience routines

## NAME

XSetState, XSetFunction, XSetPlaneMask, XSetForeground, XSetBackground - GC convenience routines

## SYNTAX

int XSetState(Display \**display*, GC *gc*, unsigned long *foreground*, unsigned long *background*, int *function*, unsigned long *plane\_mask*);

int XSetFunction(Display \**display*, GC *gc*, int *function*);

int XSetPlaneMask(Display \**display*, GC *gc*, unsigned long *plane\_mask*);

int XSetForeground(Display \**display*, GC *gc*, unsigned long *foreground*);

int XSetBackground(Display \**display*, GC *gc*, unsigned long *background*);

## ARGUMENTS

- *background*

  Specifies the background you want to set for the specified GC.

- *display*

  Specifies the connection to the X server.

- *foreground*

  Specifies the foreground you want to set for the specified GC.

- *function*

  Specifies the function you want to set for the specified GC.

- *gc*

  Specifies the GC.

- *plane\_mask*

  Specifies the plane mask.

## DESCRIPTION

The **XSetState** function sets the foreground, background, plane mask, and function components for the specified GC.

**XSetState** can generate **BadAlloc**, **BadGC**, and **BadValue** errors.

**XSetFunction** sets a specified value in the specified GC.

**XSetFunction** can generate **BadAlloc**, **BadGC**, and **BadValue** errors.

The **XSetPlaneMask** function sets the plane mask in the specified GC.

**XSetPlaneMask** can generate **BadAlloc** and **BadGC** errors.

The **XSetForeground** function sets the foreground in the specified GC.

**XSetForeground** can generate **BadAlloc** and **BadGC** errors.

The **XSetBackground** function sets the background in the specified GC.

**XSetBackground** can generate **BadAlloc** and **BadGC** errors.

## DIAGNOSTICS

- **BadAlloc**

  The server failed to allocate the requested resource or server memory.

- **BadGC**

  A value for a GContext argument does not name a defined GContext.

- **BadValue**

  Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.

## SEE ALSO

[**XCreateGC**(3)](/XCreateGC/3.md), [**XQueryBestSize**(3)](/XQueryBestSize/3.md), [**XSetArcMode**(3)](/XSetArcMode/3.md), [**XSetClipOrigin**(3)](/XSetClipOrigin/3.md), [**XSetFillStyle**(3)](/XSetFillStyle/3.md), [**XSetFont**(3)](/XSetFont/3.md), [**XSetLineAttributes**(3)](/XSetLineAttributes/3.md), [**XSetTile**(3)](/XSetTile/3.md)\
 *Xlib - C Language X Interface*
