Function

Gdkproperty_get

Declaration [src]

gboolean
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.

Parameters

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.
 The called function takes ownership of the data, and is responsible for freeing it.
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.
 The called function takes ownership of the data, and is responsible for freeing it.
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.