XSetWMName, XGetWMName, XStoreName, XFetchName - set or read a window's WM_NAME property


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);


display 1i Specifies the connection to the X server.

text_prop 1i Specifies the .ZN XTextProperty structure to be used.

text_prop_return 1i Returns the .ZN XTextProperty structure.

w 1i Specifies the window.

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

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


The .ZN XSetWMName convenience function calls .ZN XSetTextProperty to set the WM_NAME property.

The .ZN XGetWMName convenience function calls .ZN XGetTextProperty to obtain the WM_NAME property. It returns a nonzero status on success; otherwise, it returns a zero status.

The .ZN 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.

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

The .ZN 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, .ZN 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 .ZN XFree .

.ZN XFetchName can generate a .ZN BadWindow error.


  • \s-1WM_NAME\s+1
     The name of the application.


  • .ZN BadAlloc
     The server failed to allocate the requested resource or server memory.
  • .ZN BadWindow
     A value for a Window argument does not name a defined Window.