Declaration [src]

gdk_property_get (
  GdkWindow* window,
  GdkAtom property,
  GdkAtom type,
  gulong offset,
  gulong length,
  gint pdelete,
  GdkAtom* actual_property_type,
  gint* actual_format,
  gint* actual_length,
  guchar** data

Description [src]

Retrieves a portion of the contents of a property. If the property does not exist, then the function returns FALSE, and GDK_NONE will be stored in actual_property_type.

The XGetWindowProperty() function that gdk_property_get() uses has a very confusing and complicated set of semantics. Unfortunately, gdk_property_get() makes the situation worse instead of better (the semantics should be considered undefined), and also prints warnings to stderr in cases where it should return a useful error to the program. You are advised to use XGetWindowProperty() directly until a replacement function for gdk_property_get() is provided.


window GdkWindow

A GdkWindow.

 The data is owned by the caller of the function.
property GdkAtom

The property to retrieve.

type GdkAtom

The desired property type, or GDK_NONE, if any type of data is acceptable. If this does not match the actual type, then actual_format and actual_length will be filled in, a warning will be printed to stderr and no data will be returned.

offset gulong

The offset into the property at which to begin retrieving data, in 4 byte units.

length gulong

The length of the data to retrieve in bytes. Data is considered to be retrieved in 4 byte chunks, so length will be rounded up to the next highest 4 byte boundary (so be careful not to pass a value that might overflow when rounded up).

pdelete gint

If TRUE, delete the property after retrieving the data.

actual_property_type GdkAtom

Location to store the actual type of the property.

 The argument will be set by the function.
 The data is owned by the caller of the function.
actual_format gint*

Location to store the actual return format of the data; either 8, 16 or 32 bits.

 The argument will be set by the function.
actual_length gint*

Location to store the length of the retrieved data, in bytes. Data returned in the 32 bit format is stored in a long variable, so the actual number of 32 bit elements should be be calculated via actual_length / sizeof(glong) to ensure portability to 64 bit systems.

 The argument will be set by the function.
data An array of guchar*

Location to store a pointer to the data. The retrieved data should be freed with g_free() when you are finished using it.

 The argument will be set by the function.
 The length of the array is specified in the actual_length argument.
 The called function takes ownership of the data, and is responsible for freeing it.

Return value

Returns: gboolean

TRUE if data was successfully received and stored in data, otherwise FALSE.