707 lines
35 KiB
HTML
707 lines
35 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<title>Properties and Atoms: GDK 3 Reference Manual</title>
|
||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||
<link rel="home" href="index.html" title="GDK 3 Reference Manual">
|
||
<link rel="up" href="reference.html" title="API Reference">
|
||
<link rel="prev" href="gdk3-Drag-and-Drop.html" title="Drag And Drop">
|
||
<link rel="next" href="gdk3-Threads.html" title="Threads">
|
||
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
|
||
<link rel="stylesheet" href="style.css" type="text/css">
|
||
</head>
|
||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||
<td width="100%" align="left" class="shortcuts">
|
||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||
<a href="#gdk3-Properties-and-Atoms.description" class="shortcut">Description</a></span>
|
||
</td>
|
||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||
<td><a accesskey="p" href="gdk3-Drag-and-Drop.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||
<td><a accesskey="n" href="gdk3-Threads.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||
</tr></table>
|
||
<div class="refentry">
|
||
<a name="gdk3-Properties-and-Atoms"></a><div class="titlepage"></div>
|
||
<div class="refnamediv"><table width="100%"><tr>
|
||
<td valign="top">
|
||
<h2><span class="refentrytitle"><a name="gdk3-Properties-and-Atoms.top_of_page"></a>Properties and Atoms</span></h2>
|
||
<p>Properties and Atoms — Functions to manipulate properties on windows</p>
|
||
</td>
|
||
<td class="gallery_image" valign="top" align="right"></td>
|
||
</tr></table></div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.functions"></a><h2>Functions</h2>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="functions_proto_type">
|
||
<col class="functions_proto_name">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="define_keyword">#define</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GDK-ATOM-TO-POINTER:CAPS" title="GDK_ATOM_TO_POINTER()">GDK_ATOM_TO_POINTER</a><span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="define_keyword">#define</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GDK-POINTER-TO-ATOM:CAPS" title="GDK_POINTER_TO_ATOM()">GDK_POINTER_TO_ATOM</a><span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">gint</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-text-property-to-utf8-list-for-display" title="gdk_text_property_to_utf8_list_for_display ()">gdk_text_property_to_utf8_list_for_display</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">gchar</span> *
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-utf8-to-string-target" title="gdk_utf8_to_string_target ()">gdk_utf8_to_string_target</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="returnvalue">GdkAtom</span></a>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-atom-intern" title="gdk_atom_intern ()">gdk_atom_intern</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="returnvalue">GdkAtom</span></a>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-atom-intern-static-string" title="gdk_atom_intern_static_string ()">gdk_atom_intern_static_string</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">gchar</span> *
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-atom-name" title="gdk_atom_name ()">gdk_atom_name</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">gboolean</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-get" title="gdk_property_get ()">gdk_property_get</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-change" title="gdk_property_change ()">gdk_property_change</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-delete" title="gdk_property_delete ()">gdk_property_delete</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.other"></a><h2>Types and Values</h2>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="other_proto_type">
|
||
<col class="other_proto_name">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="typedef_keyword">typedef</td>
|
||
<td class="function_name"><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom">GdkAtom</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="define_keyword">#define</td>
|
||
<td class="function_name"><a class="link" href="gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS" title="GDK_NONE">GDK_NONE</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="datatype_keyword">enum</td>
|
||
<td class="function_name"><a class="link" href="gdk3-Properties-and-Atoms.html#GdkPropMode" title="enum GdkPropMode">GdkPropMode</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.includes"></a><h2>Includes</h2>
|
||
<pre class="synopsis">#include <gdk/gdk.h>
|
||
</pre>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.description"></a><h2>Description</h2>
|
||
<p>Each window under X can have any number of associated
|
||
“properties” attached to it.
|
||
Properties are arbitrary chunks of data identified by
|
||
“atom”s. (An “atom”
|
||
is a numeric index into a string table on the X server. They are used
|
||
to transfer strings efficiently between clients without
|
||
having to transfer the entire string.) A property
|
||
has an associated type, which is also identified
|
||
using an atom.</p>
|
||
<p>A property has an associated “format”,
|
||
an integer describing how many bits are in each unit
|
||
of data inside the property. It must be 8, 16, or 32.
|
||
When data is transferred between the server and client,
|
||
if they are of different endianesses it will be byteswapped
|
||
as necessary according to the format of the property.
|
||
Note that on the client side, properties of format 32
|
||
will be stored with one unit per long,
|
||
even if a long integer has more than 32 bits on the platform.
|
||
(This decision was apparently made for Xlib to maintain
|
||
compatibility with programs that assumed longs were 32
|
||
bits, at the expense of programs that knew better.)</p>
|
||
<p>The functions in this section are used to add, remove
|
||
and change properties on windows, to convert atoms
|
||
to and from strings and to manipulate some types of
|
||
data commonly stored in X window properties.</p>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.functions_details"></a><h2>Functions</h2>
|
||
<div class="refsect2">
|
||
<a name="GDK-ATOM-TO-POINTER:CAPS"></a><h3>GDK_ATOM_TO_POINTER()</h3>
|
||
<pre class="programlisting">#define GDK_ATOM_TO_POINTER(atom) (atom)
|
||
</pre>
|
||
<p>Converts a <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> into a pointer type.</p>
|
||
<div class="refsect3">
|
||
<a name="GDK-ATOM-TO-POINTER.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>atom</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a>.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="GDK-POINTER-TO-ATOM:CAPS"></a><h3>GDK_POINTER_TO_ATOM()</h3>
|
||
<pre class="programlisting">#define GDK_POINTER_TO_ATOM(ptr) ((GdkAtom)(ptr))
|
||
</pre>
|
||
<p>Extracts a <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> from a pointer. The <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> must have been
|
||
stored in the pointer with <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-ATOM-TO-POINTER:CAPS" title="GDK_ATOM_TO_POINTER()"><code class="function">GDK_ATOM_TO_POINTER()</code></a>.</p>
|
||
<div class="refsect3">
|
||
<a name="GDK-POINTER-TO-ATOM.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>ptr</p></td>
|
||
<td class="parameter_description"><p>a pointer containing a <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a>.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-text-property-to-utf8-list-for-display"></a><h3>gdk_text_property_to_utf8_list_for_display ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">gint</span>
|
||
gdk_text_property_to_utf8_list_for_display
|
||
(<em class="parameter"><code><a class="link" href="GdkDisplay.html" title="GdkDisplay"><span class="type">GdkDisplay</span></a> *display</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> encoding</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> format</code></em>,
|
||
<em class="parameter"><code>const <span class="type">guchar</span> *text</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> length</code></em>,
|
||
<em class="parameter"><code><span class="type">gchar</span> ***list</code></em>);</pre>
|
||
<p>Converts a text property in the given encoding to
|
||
a list of UTF-8 strings.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-text-property-to-utf8-list-for-display.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>display</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GdkDisplay.html" title="GdkDisplay"><span class="type">GdkDisplay</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>encoding</p></td>
|
||
<td class="parameter_description"><p>an atom representing the encoding of the text</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>format</p></td>
|
||
<td class="parameter_description"><p>the format of the property</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>text</p></td>
|
||
<td class="parameter_description"><p>the text to convert. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>length</p></td>
|
||
<td class="parameter_description"><p>the length of <em class="parameter"><code>text</code></em>
|
||
, in bytes</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>list</p></td>
|
||
<td class="parameter_description"><p>location to store the list
|
||
of strings or <code class="literal">NULL</code>. The list should be freed with
|
||
<code class="function">g_strfreev()</code>. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-text-property-to-utf8-list-for-display.returns"></a><h4>Returns</h4>
|
||
<p> the number of strings in the resulting list</p>
|
||
</div>
|
||
<p class="since">Since: 2.2</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-utf8-to-string-target"></a><h3>gdk_utf8_to_string_target ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">gchar</span> *
|
||
gdk_utf8_to_string_target (<em class="parameter"><code>const <span class="type">gchar</span> *str</code></em>);</pre>
|
||
<p>Converts an UTF-8 string into the best possible representation
|
||
as a STRING. The representation of characters not in STRING
|
||
is not specified; it may be as pseudo-escape sequences
|
||
\x{ABCD}, or it may be in some other form of approximation.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-utf8-to-string-target.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>str</p></td>
|
||
<td class="parameter_description"><p>a UTF-8 string</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-utf8-to-string-target.returns"></a><h4>Returns</h4>
|
||
<p>the newly-allocated string, or <code class="literal">NULL</code> if the
|
||
conversion failed. (It should not fail for any properly
|
||
formed UTF-8 string unless system limits like memory or
|
||
file descriptors are exceeded.). </p>
|
||
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-atom-intern"></a><h3>gdk_atom_intern ()</h3>
|
||
<pre class="programlisting"><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="returnvalue">GdkAtom</span></a>
|
||
gdk_atom_intern (<em class="parameter"><code>const <span class="type">gchar</span> *atom_name</code></em>,
|
||
<em class="parameter"><code><span class="type">gboolean</span> only_if_exists</code></em>);</pre>
|
||
<p>Finds or creates an atom corresponding to a given string.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-intern.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>atom_name</p></td>
|
||
<td class="parameter_description"><p>a string.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>only_if_exists</p></td>
|
||
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, GDK is allowed to not create a new atom, but
|
||
just return <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS" title="GDK_NONE"><code class="literal">GDK_NONE</code></a> if the requested atom doesn’t already
|
||
exists. Currently, the flag is ignored, since checking the
|
||
existance of an atom is as expensive as creating it.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-intern.returns"></a><h4>Returns</h4>
|
||
<p>the atom corresponding to <em class="parameter"><code>atom_name</code></em>
|
||
. </p>
|
||
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-atom-intern-static-string"></a><h3>gdk_atom_intern_static_string ()</h3>
|
||
<pre class="programlisting"><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="returnvalue">GdkAtom</span></a>
|
||
gdk_atom_intern_static_string (<em class="parameter"><code>const <span class="type">gchar</span> *atom_name</code></em>);</pre>
|
||
<p>Finds or creates an atom corresponding to a given string.</p>
|
||
<p>Note that this function is identical to <a class="link" href="gdk3-Properties-and-Atoms.html#gdk-atom-intern" title="gdk_atom_intern ()"><code class="function">gdk_atom_intern()</code></a> except
|
||
that if a new <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> is created the string itself is used rather
|
||
than a copy. This saves memory, but can only be used if the string
|
||
will always exist. It can be used with statically
|
||
allocated strings in the main program, but not with statically
|
||
allocated memory in dynamically loaded modules, if you expect to
|
||
ever unload the module again (e.g. do not use this function in
|
||
GTK+ theme engines).</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-intern-static-string.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>atom_name</p></td>
|
||
<td class="parameter_description"><p>a static string</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-intern-static-string.returns"></a><h4>Returns</h4>
|
||
<p>the atom corresponding to <em class="parameter"><code>atom_name</code></em>
|
||
. </p>
|
||
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
|
||
</div>
|
||
<p class="since">Since: 2.10</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-atom-name"></a><h3>gdk_atom_name ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">gchar</span> *
|
||
gdk_atom_name (<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> atom</code></em>);</pre>
|
||
<p>Determines the string corresponding to an atom.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-name.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>atom</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a>.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-atom-name.returns"></a><h4>Returns</h4>
|
||
<p> a newly-allocated string containing the string
|
||
corresponding to <em class="parameter"><code>atom</code></em>
|
||
. When you are done with the
|
||
return value, you should free it using <code class="function">g_free()</code>.</p>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-property-get"></a><h3>gdk_property_get ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||
gdk_property_get (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> property</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> type</code></em>,
|
||
<em class="parameter"><code><span class="type">gulong</span> offset</code></em>,
|
||
<em class="parameter"><code><span class="type">gulong</span> length</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> pdelete</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> *actual_property_type</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> *actual_format</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> *actual_length</code></em>,
|
||
<em class="parameter"><code><span class="type">guchar</span> **data</code></em>);</pre>
|
||
<p>Retrieves a portion of the contents of a property. If the
|
||
property does not exist, then the function returns <code class="literal">FALSE</code>,
|
||
and <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS" title="GDK_NONE"><code class="literal">GDK_NONE</code></a> will be stored in <em class="parameter"><code>actual_property_type</code></em>
|
||
.</p>
|
||
<p>The <code class="function">XGetWindowProperty()</code> function that <a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-get" title="gdk_property_get ()"><code class="function">gdk_property_get()</code></a>
|
||
uses has a very confusing and complicated set of semantics.
|
||
Unfortunately, <a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-get" title="gdk_property_get ()"><code class="function">gdk_property_get()</code></a> 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
|
||
<code class="function">XGetWindowProperty()</code> directly until a replacement function for
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-get" title="gdk_property_get ()"><code class="function">gdk_property_get()</code></a> is provided.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-property-get.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>window</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>property</p></td>
|
||
<td class="parameter_description"><p>the property to retrieve</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>type</p></td>
|
||
<td class="parameter_description"><p>the desired property type, or <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS" title="GDK_NONE"><code class="literal">GDK_NONE</code></a>, if any type of data
|
||
is acceptable. If this does not match the actual
|
||
type, then <em class="parameter"><code>actual_format</code></em>
|
||
and <em class="parameter"><code>actual_length</code></em>
|
||
will
|
||
be filled in, a warning will be printed to stderr
|
||
and no data will be returned.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>offset</p></td>
|
||
<td class="parameter_description"><p>the offset into the property at which to begin
|
||
retrieving data, in 4 byte units.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>length</p></td>
|
||
<td class="parameter_description"><p>the length of the data to retrieve in bytes. Data is
|
||
considered to be retrieved in 4 byte chunks, so <em class="parameter"><code>length</code></em>
|
||
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).</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>pdelete</p></td>
|
||
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, delete the property after retrieving the
|
||
data.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>actual_property_type</p></td>
|
||
<td class="parameter_description"><p>location to store the
|
||
actual type of the property. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>actual_format</p></td>
|
||
<td class="parameter_description"><p>location to store the actual return format of the
|
||
data; either 8, 16 or 32 bits. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>actual_length</p></td>
|
||
<td class="parameter_description"><p>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
|
||
<em class="parameter"><code>actual_length</code></em>
|
||
/ sizeof(glong) to ensure portability to
|
||
64 bit systems.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>data</p></td>
|
||
<td class="parameter_description"><p>location
|
||
to store a pointer to the data. The retrieved data should be
|
||
freed with <code class="function">g_free()</code> when you are finished using it. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=actual_length][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gdk-property-get.returns"></a><h4>Returns</h4>
|
||
<p> <code class="literal">TRUE</code> if data was successfully received and stored
|
||
in <em class="parameter"><code>data</code></em>
|
||
, otherwise <code class="literal">FALSE</code>.</p>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-property-change"></a><h3>gdk_property_change ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gdk_property_change (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> property</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> type</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> format</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkPropMode" title="enum GdkPropMode"><span class="type">GdkPropMode</span></a> mode</code></em>,
|
||
<em class="parameter"><code>const <span class="type">guchar</span> *data</code></em>,
|
||
<em class="parameter"><code><span class="type">gint</span> nelements</code></em>);</pre>
|
||
<p>Changes the contents of a property on a window.</p>
|
||
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
|
||
<div class="refsect3">
|
||
<a name="gdk-property-change.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>window</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>property</p></td>
|
||
<td class="parameter_description"><p>the property to change</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>type</p></td>
|
||
<td class="parameter_description"><p>the new type for the property. If <em class="parameter"><code>mode</code></em>
|
||
is
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GDK-PROP-MODE-PREPEND:CAPS"><code class="literal">GDK_PROP_MODE_PREPEND</code></a> or <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-PROP-MODE-APPEND:CAPS"><code class="literal">GDK_PROP_MODE_APPEND</code></a>, then this
|
||
must match the existing type or an error will occur.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>format</p></td>
|
||
<td class="parameter_description"><p>the new format for the property. If <em class="parameter"><code>mode</code></em>
|
||
is
|
||
<a class="link" href="gdk3-Properties-and-Atoms.html#GDK-PROP-MODE-PREPEND:CAPS"><code class="literal">GDK_PROP_MODE_PREPEND</code></a> or <a class="link" href="gdk3-Properties-and-Atoms.html#GDK-PROP-MODE-APPEND:CAPS"><code class="literal">GDK_PROP_MODE_APPEND</code></a>, then this
|
||
must match the existing format or an error will occur.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>mode</p></td>
|
||
<td class="parameter_description"><p>a value describing how the new data is to be combined
|
||
with the current data.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>data</p></td>
|
||
<td class="parameter_description"><p>the data (a <code class="literal">guchar *</code>
|
||
<code class="literal">gushort *</code>, or <code class="literal">gulong *</code>,
|
||
depending on <em class="parameter"><code>format</code></em>
|
||
), cast to a <code class="literal">guchar *</code>.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>nelements</p></td>
|
||
<td class="parameter_description"><p>the number of elements of size determined by the format,
|
||
contained in <em class="parameter"><code>data</code></em>
|
||
.</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gdk-property-delete"></a><h3>gdk_property_delete ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gdk_property_delete (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>,
|
||
<em class="parameter"><code><a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a> property</code></em>);</pre>
|
||
<p>Deletes a property from a window.</p>
|
||
<div class="refsect3">
|
||
<a name="gdk-property-delete.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>window</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>property</p></td>
|
||
<td class="parameter_description"><p>the property to delete</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="gdk3-Properties-and-Atoms.other_details"></a><h2>Types and Values</h2>
|
||
<div class="refsect2">
|
||
<a name="GdkAtom"></a><h3>GdkAtom</h3>
|
||
<pre class="programlisting">typedef struct _GdkAtom *GdkAtom;
|
||
</pre>
|
||
<p>An opaque type representing a string as an index into a table
|
||
of strings on the X server.</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="GDK-NONE:CAPS"></a><h3>GDK_NONE</h3>
|
||
<pre class="programlisting">#define GDK_NONE _GDK_MAKE_ATOM (0)
|
||
</pre>
|
||
<p>A null value for <a class="link" href="gdk3-Properties-and-Atoms.html#GdkAtom" title="GdkAtom"><span class="type">GdkAtom</span></a>, used in a similar way as
|
||
<code class="literal">None</code> in the Xlib API.</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="GdkPropMode"></a><h3>enum GdkPropMode</h3>
|
||
<p>Describes how existing data is combined with new data when
|
||
using <a class="link" href="gdk3-Properties-and-Atoms.html#gdk-property-change" title="gdk_property_change ()"><code class="function">gdk_property_change()</code></a>.</p>
|
||
<div class="refsect3">
|
||
<a name="GdkPropMode.members"></a><h4>Members</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="300px" class="enum_members_name">
|
||
<col class="enum_members_description">
|
||
<col width="200px" class="enum_members_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="enum_member_name"><p><a name="GDK-PROP-MODE-REPLACE:CAPS"></a>GDK_PROP_MODE_REPLACE</p></td>
|
||
<td class="enum_member_description">
|
||
<p>the new data replaces the existing data.</p>
|
||
</td>
|
||
<td class="enum_member_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="enum_member_name"><p><a name="GDK-PROP-MODE-PREPEND:CAPS"></a>GDK_PROP_MODE_PREPEND</p></td>
|
||
<td class="enum_member_description">
|
||
<p>the new data is prepended to the existing data.</p>
|
||
</td>
|
||
<td class="enum_member_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="enum_member_name"><p><a name="GDK-PROP-MODE-APPEND:CAPS"></a>GDK_PROP_MODE_APPEND</p></td>
|
||
<td class="enum_member_description">
|
||
<p>the new data is appended to the existing data.</p>
|
||
</td>
|
||
<td class="enum_member_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="footer">
|
||
<hr>Generated by GTK-Doc V1.33.1</div>
|
||
</body>
|
||
</html> |