23
22
#include <exo/exo.h>
25
24
<link linkend="ExoXsessionClient-struct">ExoXsessionClient</link>;
26
<link linkend="ExoXsessionClient">ExoXsessionClient</link>* <link linkend="exo-xsession-client-new-with-group">exo_xsession_client_new_with_group</link> (<link linkend="GdkWindow">GdkWindow</link> *leader);
27
<link linkend="GdkWindow">GdkWindow</link>* <link linkend="exo-xsession-client-get-group">exo_xsession_client_get_group</link> (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client);
25
<link linkend="ExoXsessionClient">ExoXsessionClient</link> * <link linkend="exo-xsession-client-new-with-group">exo_xsession_client_new_with_group</link> (<link linkend="GdkWindow">GdkWindow</link> *leader);
26
<link linkend="GdkWindow">GdkWindow</link> * <link linkend="exo-xsession-client-get-group">exo_xsession_client_get_group</link> (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client);
28
27
<link linkend="void">void</link> <link linkend="exo-xsession-client-set-group">exo_xsession_client_set_group</link> (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
29
28
<link linkend="GdkWindow">GdkWindow</link> *leader);
30
29
<link linkend="gboolean">gboolean</link> <link linkend="exo-xsession-client-get-restart-command">exo_xsession_client_get_restart_command</link>
159
146
<title role="details.title">Details</title>
160
147
<refsect2 id="ExoXsessionClient-struct" role="struct">
161
148
<title>ExoXsessionClient</title>
162
<indexterm zone="ExoXsessionClient-struct"><primary>ExoXsessionClient</primary></indexterm><programlisting>typedef struct _ExoXsessionClient ExoXsessionClient;</programlisting>
149
<indexterm zone="ExoXsessionClient-struct"><primary sortas="ExoXsessionClient">ExoXsessionClient</primary></indexterm><programlisting>typedef struct _ExoXsessionClient ExoXsessionClient;</programlisting>
164
151
The <structname>ExoXsessionClient</structname> struct contains only private fields and should not be directly accessed.
165
152
</para></refsect2>
166
153
<refsect2 id="exo-xsession-client-new-with-group" role="function">
167
154
<title>exo_xsession_client_new_with_group ()</title>
168
<indexterm zone="exo-xsession-client-new-with-group"><primary>exo_xsession_client_new_with_group</primary></indexterm><programlisting><link linkend="ExoXsessionClient">ExoXsessionClient</link>* exo_xsession_client_new_with_group (<link linkend="GdkWindow">GdkWindow</link> *leader);</programlisting>
155
<indexterm zone="exo-xsession-client-new-with-group"><primary sortas="exo_xsession_client_new_with_group">exo_xsession_client_new_with_group</primary></indexterm><programlisting><link linkend="ExoXsessionClient">ExoXsessionClient</link> * exo_xsession_client_new_with_group (<link linkend="GdkWindow">GdkWindow</link> *leader);</programlisting>
170
157
Creates a new <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link> and associates it
171
158
with the group, which is lead by <parameter>leader</parameter>.</para>
174
160
</para><variablelist role="params">
175
<varlistentry><term><parameter>leader</parameter> :</term>
161
<varlistentry><term><parameter>leader</parameter> :</term>
176
162
<listitem><simpara> The client leader window of the group.
177
163
</simpara></listitem></varlistentry>
178
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A newly allocated <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
164
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A newly allocated <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
179
165
</simpara></listitem></varlistentry>
180
166
</variablelist></refsect2>
181
167
<refsect2 id="exo-xsession-client-get-group" role="function">
182
168
<title>exo_xsession_client_get_group ()</title>
183
<indexterm zone="exo-xsession-client-get-group"><primary>exo_xsession_client_get_group</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link>* exo_xsession_client_get_group (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client);</programlisting>
169
<indexterm zone="exo-xsession-client-get-group"><primary sortas="exo_xsession_client_get_group">exo_xsession_client_get_group</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link> * exo_xsession_client_get_group (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client);</programlisting>
185
171
Returns the client leader window of the group with which
186
the <parameter>client</parameter> is associated or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>client</parameter> is not
172
the <parameter>client</parameter> is associated or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if <parameter>client</parameter> is not
187
173
associated with any group.</para>
190
175
</para><variablelist role="params">
191
<varlistentry><term><parameter>client</parameter> :</term>
176
<varlistentry><term><parameter>client</parameter> :</term>
192
177
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
193
178
</simpara></listitem></varlistentry>
194
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The client leader window of the group
179
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The client leader window of the group
195
180
with which <parameter>client</parameter> is associated or
196
<link linkend="NULL:CAPS"><literal>NULL</literal></link>.
181
<link linkend="NULL--CAPS"><literal>NULL</literal></link>.
197
182
</simpara></listitem></varlistentry>
198
183
</variablelist></refsect2>
199
184
<refsect2 id="exo-xsession-client-set-group" role="function">
200
185
<title>exo_xsession_client_set_group ()</title>
201
<indexterm zone="exo-xsession-client-set-group"><primary>exo_xsession_client_set_group</primary></indexterm><programlisting><link linkend="void">void</link> exo_xsession_client_set_group (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
186
<indexterm zone="exo-xsession-client-set-group"><primary sortas="exo_xsession_client_set_group">exo_xsession_client_set_group</primary></indexterm><programlisting><link linkend="void">void</link> exo_xsession_client_set_group (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
202
187
<link linkend="GdkWindow">GdkWindow</link> *leader);</programlisting>
204
189
Sets the group according to the specified <parameter>leader</parameter>.</para>
207
191
</para><variablelist role="params">
208
<varlistentry><term><parameter>client</parameter> :</term>
192
<varlistentry><term><parameter>client</parameter> :</term>
209
193
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
210
194
</simpara></listitem></varlistentry>
211
<varlistentry><term><parameter>leader</parameter> :</term>
212
<listitem><simpara> The client leader window of a group or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
195
<varlistentry><term><parameter>leader</parameter> :</term>
196
<listitem><simpara> The client leader window of a group or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
213
197
</simpara></listitem></varlistentry>
214
198
</variablelist></refsect2>
215
199
<refsect2 id="exo-xsession-client-get-restart-command" role="function">
216
200
<title>exo_xsession_client_get_restart_command ()</title>
217
<indexterm zone="exo-xsession-client-get-restart-command"><primary>exo_xsession_client_get_restart_command</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> exo_xsession_client_get_restart_command
201
<indexterm zone="exo-xsession-client-get-restart-command"><primary sortas="exo_xsession_client_get_restart_command">exo_xsession_client_get_restart_command</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> exo_xsession_client_get_restart_command
218
202
(<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
219
203
<link linkend="gchar">gchar</link> ***argv,
220
204
<link linkend="gint">gint</link> *argc);</programlisting>
227
211
See <link linkend="exo-xsession-client-set-restart-command"><function>exo_xsession_client_set_restart_command()</function></link> for further
228
212
explanation.</para>
231
214
</para><variablelist role="params">
232
<varlistentry><term><parameter>client</parameter> :</term>
215
<varlistentry><term><parameter>client</parameter> :</term>
233
216
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
234
217
</simpara></listitem></varlistentry>
235
<varlistentry><term><parameter>argv</parameter> :</term>
218
<varlistentry><term><parameter>argv</parameter> :</term>
236
219
<listitem><simpara> Pointer to the location where the
237
220
pointer to the argument vector should
239
222
</simpara></listitem></varlistentry>
240
<varlistentry><term><parameter>argc</parameter> :</term>
223
<varlistentry><term><parameter>argc</parameter> :</term>
241
224
<listitem><simpara> Pointer to the location where the
242
225
number of arguments should be stored
243
to or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
226
to or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
244
227
</simpara></listitem></varlistentry>
245
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, else <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.
228
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> on success, else <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.
246
229
</simpara></listitem></varlistentry>
247
230
</variablelist></refsect2>
248
231
<refsect2 id="exo-xsession-client-set-restart-command" role="function">
249
232
<title>exo_xsession_client_set_restart_command ()</title>
250
<indexterm zone="exo-xsession-client-set-restart-command"><primary>exo_xsession_client_set_restart_command</primary></indexterm><programlisting><link linkend="void">void</link> exo_xsession_client_set_restart_command
233
<indexterm zone="exo-xsession-client-set-restart-command"><primary sortas="exo_xsession_client_set_restart_command">exo_xsession_client_set_restart_command</primary></indexterm><programlisting><link linkend="void">void</link> exo_xsession_client_set_restart_command
251
234
(<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
252
235
<link linkend="gchar">gchar</link> **argv,
253
236
<link linkend="gint">gint</link> argc);</programlisting>
255
Sets the <link linkend="WM-COMMAND:CAPS"><literal>WM_COMMAND</literal></link> property on the client leader window,
238
Sets the <link linkend="WM-COMMAND--CAPS"><literal>WM_COMMAND</literal></link> property on the client leader window,
256
239
which instructs the session manager (or session-enabled window
257
240
manager) how to restart the application on next login.
264
247
If <parameter>argc</parameter> is specify as -1, the argument vector <parameter>argv</parameter> is expected
265
to be <link linkend="NULL:CAPS"><literal>NULL</literal></link><!-- -->-terminated and <parameter>argc</parameter> will be automatically
248
to be <link linkend="NULL--CAPS"><literal>NULL</literal></link><!-- -->-terminated and <parameter>argc</parameter> will be automatically
266
249
calculated from <parameter>argv</parameter>.
269
252
Please take note, that <link linkend="gtk-init"><function>gtk_init()</function></link> automatically sets the
270
<link linkend="WM-COMMAND:CAPS"><literal>WM_COMMAND</literal></link> property on all client leader windows that are
253
<link linkend="WM-COMMAND--CAPS"><literal>WM_COMMAND</literal></link> property on all client leader windows that are
271
254
implicitly created by Gtk+. So, you may only need to call
272
255
this function in response to the ::save-yourself signal.</para>
275
257
</para><variablelist role="params">
276
<varlistentry><term><parameter>client</parameter> :</term>
258
<varlistentry><term><parameter>client</parameter> :</term>
277
259
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
278
260
</simpara></listitem></varlistentry>
279
<varlistentry><term><parameter>argv</parameter> :</term>
261
<varlistentry><term><parameter>argv</parameter> :</term>
280
262
<listitem><simpara> The argument vector.
281
263
</simpara></listitem></varlistentry>
282
<varlistentry><term><parameter>argc</parameter> :</term>
264
<varlistentry><term><parameter>argc</parameter> :</term>
283
265
<listitem><simpara> The number of arguments in <parameter>argv</parameter> or -1.
284
266
</simpara></listitem></varlistentry>
285
267
</variablelist></refsect2>
288
270
<refsect1 id="ExoXsessionClient.property-details" role="property_details">
289
271
<title role="property_details.title">Property Details</title>
290
<refsect2 id="ExoXsessionClient--group"><title>The <literal>"group"</literal> property</title>
291
<indexterm zone="ExoXsessionClient--group"><primary>ExoXsessionClient:group</primary></indexterm><programlisting> "group" <link linkend="GdkWindow">GdkWindow</link>* : Read / Write</programlisting>
297
<refsect2 id="ExoXsessionClient--restart-command"><title>The <literal>"restart-command"</literal> property</title>
298
<indexterm zone="ExoXsessionClient--restart-command"><primary>ExoXsessionClient:restart-command</primary></indexterm><programlisting> "restart-command" <link linkend="GStrv">GStrv</link>* : Read / Write</programlisting>
272
<refsect2 id="ExoXsessionClient--group" role="property"><title>The <literal>"group"</literal> property</title>
273
<indexterm zone="ExoXsessionClient--group"><primary sortas="ExoXsessionClient:group">ExoXsessionClient:group</primary></indexterm><programlisting> "group" <link linkend="GdkWindow">GdkWindow</link>* : Read / Write</programlisting>
278
<refsect2 id="ExoXsessionClient--restart-command" role="property"><title>The <literal>"restart-command"</literal> property</title>
279
<indexterm zone="ExoXsessionClient--restart-command"><primary sortas="ExoXsessionClient:restart-command">ExoXsessionClient:restart-command</primary></indexterm><programlisting> "restart-command" <link linkend="GStrv">GStrv</link>* : Read / Write</programlisting>
307
286
<refsect1 id="ExoXsessionClient.signal-details" role="signals">
308
287
<title role="signals.title">Signal Details</title>
309
<refsect2 id="ExoXsessionClient-save-yourself"><title>The <literal>"save-yourself"</literal> signal</title>
310
<indexterm zone="ExoXsessionClient-save-yourself"><primary>ExoXsessionClient::save-yourself</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
288
<refsect2 id="ExoXsessionClient-save-yourself" role="signal"><title>The <literal>"save-yourself"</literal> signal</title>
289
<indexterm zone="ExoXsessionClient-save-yourself"><primary sortas="ExoXsessionClient::save-yourself">ExoXsessionClient::save-yourself</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="ExoXsessionClient">ExoXsessionClient</link> *client,
311
290
<link linkend="gpointer">gpointer</link> user_data) : Run First</programlisting>
313
This signal is emitted when <parameter>client</parameter> receives a <link linkend="WM-SAVE-YOURSELF:CAPS"><literal>WM_SAVE_YOURSELF</literal></link>
314
message from the session manager or the window manager on the
292
This signal is emitted when <parameter>client</parameter> receives a <link linkend="WM-SAVE-YOURSELF--CAPS"><literal>WM_SAVE_YOURSELF</literal></link>
293
message from the session manager or the window manager on the
315
294
specified client leader window.</para>
318
296
</para><variablelist role="params">
319
<varlistentry><term><parameter>client</parameter> :</term>
297
<varlistentry><term><parameter>client</parameter> :</term>
320
298
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
321
299
</simpara></listitem></varlistentry>
322
<varlistentry><term><parameter>user_data</parameter> :</term>
300
<varlistentry><term><parameter>user_data</parameter> :</term>
323
301
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
324
302
</variablelist></refsect2>