---
name: "XSetWMName"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XSetWMName/3x"
---

# XSetWMName(3x)

set or read a window's WM\_NAME property

## NAME

XSetWMName, XGetWMName, XStoreName, XFetchName - set or read a window's WM\_NAME property

## SYNTAX

void XSetWMName(Display \**display*, Window *w*, XTextProperty \**text\_prop*);

Status XGetWMName(Display \**display*, Window *w*, XTextProperty \**text\_prop\_return*);

int XStoreName(Display \**display*, Window *w*, char \**window\_name*);

Status XFetchName(Display \**display*, Window *w*, char \*\**window\_name\_return*);

## ARGUMENTS

- *display*

  Specifies the connection to the X server.

- *text\_prop*

  Specifies the *XTextProperty* structure to be used.

- *text\_prop\_return*

  Returns the *XTextProperty* structure.

- *w*

  Specifies the window.

- *window\_name*

  Specifies the window name, which should be a null-terminated string.

- *window\_name\_return*

  Returns the window name, which is a null-terminated string.

## DESCRIPTION

The *XSetWMName* convenience function calls *XSetTextProperty* to set the WM\_NAME property.

The *XGetWMName* convenience function calls *XGetTextProperty* to obtain the WM\_NAME property. It returns a nonzero status on success; otherwise, it returns a zero status.

The *XStoreName* function assigns the name passed to window\_name to the specified window. A window manager can display the window name in some prominent place, such as the title bar, to allow users to identify windows easily. Some window managers may display a window's name in the window's icon, although they are encouraged to use the window's icon name if one is provided by the application. If the string is not in the Host Portable Character Encoding, the result is implementation-dependent.

*XStoreName* can generate *BadAlloc* and *BadWindow* errors.

The *XFetchName* function returns the name of the specified window. If it succeeds, it returns a nonzero status;  otherwise, no name has been set for the window, and it returns zero. If the WM\_NAME property has not been set for this window, *XFetchName* sets window\_name\_return to NULL. If the data returned by the server is in the Latin Portable Character Encoding, then the returned string is in the Host Portable Character Encoding. Otherwise, the result is implementation-dependent. When finished with it, a client must free the window name string using *XFree*.

*XFetchName* can generate a *BadWindow* error.

## PROPERTIES

- WM\_NAME

  The name of the application.

## DIAGNOSTICS

- *BadAlloc*

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

- *BadWindow*

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

## SEE ALSO

XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocSizeHints(3X11), XAllocWMHints(3X11), XFree(3X11), XSetCommand(3X11), XSetTransientForHint(3X11), XSetTextProperty(3X11), XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMProperties(3X11), XSetWMProtocols(3X11), XStringListToTextProperty(3X11)\
 *Xlib - C Language X Interface*
