SYNOPSIS
#include <xcb/xproto.h>Request function
- xcb_void_cookie_t xcb_change_property(xcb_connection_t *conn, uint8_t mode, xcb_window_t window, xcb_atom_t property, xcb_atom_t type, uint8_t format, uint32_t data_len, const void *data);
REQUEST ARGUMENTS
- conn
- The XCB connection to X11.
- mode
-
One of the following values:
-
- XCB_PROP_MODE_REPLACE
- Discard the previous property value and store the new data.
- XCB_PROP_MODE_PREPEND
- Insert the new data before the beginning of existing data. The format must match existing property value. If the property is undefined, it is treated as defined with the correct type and format with zero-length data.
- XCB_PROP_MODE_APPEND
- Insert the new data after the beginning of existing data. The format must match existing property value. If the property is undefined, it is treated as defined with the correct type and format with zero-length data.
-
- window
- The window whose property you want to change.
- property
- The property you want to change (an atom).
- type
- The type of the property you want to change (an atom).
- format
- Specifies whether the data should be viewed as a list of 8-bit, 16-bit or 32-bit quantities. Possible values are 8, 16 and 32. This information allows the X server to correctly perform byte-swap operations as necessary.
- data_len
- Specifies the number of elements (see format).
- data
- The property data.
DESCRIPTION
Sets or updates a property on the specified window. Properties are for example the window title (WM_NAME) or its minimum size (WM_NORMAL_HINTS). Protocols such as EWMH also use properties - for example EWMH defines the window title, encoded as UTF-8 string, in the _NET_WM_NAME property.RETURN VALUE
Returns an xcb_void_cookie_t. Errors (if any) have to be handled in the event loop.If you want to handle errors directly with xcb_request_check instead, use xcb_change_property_checked. See xcb-requests(3) for details.
ERRORS
- xcb_alloc_error_t
- The X server could not store the property (no memory?).
- xcb_atom_error_t
- property or type do not refer to a valid atom.
- xcb_match_error_t
- TODO: reasons?
- xcb_value_error_t
- TODO: reasons?
- xcb_window_error_t
- The specified window does not exist.
EXAMPLE
/* * Sets the WM_NAME property of the window to "XCB Example". * */ void my_example(xcb_connection *conn, xcb_window_t window) { xcb_change_property(conn, XCB_PROP_MODE_REPLACE, window, XCB_ATOM_WM_NAME, XCB_ATOM_STRING, 8, strlen("XCB Example"), "XCB Example"); xcb_flush(conn); }