Function gdk::functions::property_get
source · [−]pub fn property_get(
window: &Window,
property: &Atom,
type_: &Atom,
offset: c_ulong,
length: c_ulong,
pdelete: i32
) -> Option<(Atom, i32, Vec<u8>)>
Expand description
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 property_get()
uses has a very confusing and complicated set of semantics.
Unfortunately, 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
property_get()
is provided.
window
a Window
property
the property to retrieve
type_
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
the offset into the property at which to begin retrieving data, in 4 byte units.
length
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
if true
, delete the property after retrieving the
data.
Returns
true
if data was successfully received and stored
in data
, otherwise false
.
actual_property_type
location to store the actual type of the property.
actual_format
location to store the actual return format of the data; either 8, 16 or 32 bits.
data
location
to store a pointer to the data. The retrieved data should be
freed with g_free()
when you are finished using it.