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
-
Type:
GdkWindow
A
GdkWindow
.The data is owned by the caller of the function. property
-
Type:
GdkAtom
The property to retrieve.
type
-
Type:
GdkAtom
The desired property type, or
GDK_NONE
, if any type of data is acceptable. If this does not match the actual type, thenactual_format
andactual_length
will be filled in, a warning will be printed to stderr and no data will be returned. offset
-
Type:
gulong
The offset into the property at which to begin retrieving data, in 4 byte units.
length
-
Type:
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
-
Type:
gint
If
TRUE
, delete the property after retrieving the data. actual_property_type
-
Type:
GdkAtom
Location to store the actual type of the property.
The argument will be set by the function. The returned data is owned by the function. actual_format
-
Type:
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
-
Type:
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
-
Type: 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 caller of the function takes ownership of the returned data, and is responsible for freeing it.