~ubuntu-branches/ubuntu/karmic/exo/karmic

« back to all changes in this revision

Viewing changes to docs/reference/xml/exo-xsession-client.xml

  • Committer: Bazaar Package Importer
  • Author(s): Lionel Le Folgoc
  • Date: 2009-08-21 14:28:56 UTC
  • mfrom: (1.1.22 upstream)
  • Revision ID: james.westby@ubuntu.com-20090821142856-xp7o7hl7x9xa2213
Tags: 0.3.102-1ubuntu1
* Merge from Debian unstable, remaining Ubuntu changes:
  - debian/rules:
    + Removed mangling of helpers.rc
    + Add --enable-gtk-doc switch to configure
  - debian/control:
    + Add build-dep on gtk-doc-tools
    + Update Vcs-* fields
  - debian/patches:
    + 04_update_helpers.patch: patched libexo's firefox helper desktop file
      to use firefox-3.0 icon instead of firefox icon
    + xubuntu-default-mount-options.patch: change default mount options for
      vfat, iso9660, ntfs
    + series: refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
<refnamediv>
9
9
<refname>ExoXsessionClient</refname>
10
10
<refpurpose>Lightweight session management support</refpurpose>
11
 
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
12
11
</refnamediv>
13
12
<refsect1 id="ExoXsessionClient.stability-level">
14
13
<title>Stability Level</title>
23
22
#include &lt;exo/exo.h&gt;
24
23
 
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>
44
43
  <link linkend="GObject">GObject</link>
45
44
   +----ExoXsessionClient
46
45
</synopsis>
47
 
 
48
46
</refsect1>
49
47
 
50
48
 
97
95
<title>Texteditor with <structname>ExoXsessionClient</structname></title>
98
96
<programlisting>
99
97
static gchar *open_file_name = NULL;
100
 
 
101
98
static void
102
99
save_yourself (ExoXsessionClient *client)
103
100
{
104
101
  gchar *argv[2];
105
 
 
106
102
  if (open_file_name != NULL)
107
103
    {
108
104
      argv[0] = "myeditor";
109
105
      argv[1] = open_file_name;
110
 
 
111
106
      exo_xsession_client_set_restart_command (client, argv, 2);
112
107
    }
113
108
  else
114
109
    {
115
110
      argv[0] = "myeditor";
116
 
 
117
111
      exo_xsession_client_set_restart_command (client, argv, 1);
118
112
    }
119
113
}
120
 
 
121
114
/* ... */
122
 
 
123
115
int
124
116
main (int argc, char **argv)
125
117
{
127
119
  GdkDisplay        *display;
128
120
  GdkWindow         *leader;
129
121
  GtkWidget         *window;
130
 
 
131
122
  gtk_init (&amp;argc, &amp;argv);
132
 
 
133
123
  if (argc > 1)
134
124
    open_file_name = argv[1];
135
 
 
136
125
  /* create the main window */
137
126
  window = create_window ();
138
 
 
139
127
  /* setup the session client */
140
128
  display = gtk_widget_get_display (window);
141
129
  leader = gdk_display_get_default_group (display);
142
130
  client = exo_xsession_client_new_with_group (leader);
143
131
  g_signal_connect (G_OBJECT (client), "save-yourself",
144
132
                    G_CALLBACK (save_yourself), NULL);
145
 
 
146
133
  /* ... */
147
134
}
148
135
</programlisting>
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>
163
150
<para>
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>
169
156
<para>
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>
172
159
<para>
173
 
 
174
160
</para><variablelist role="params">
175
 
<varlistentry><term><parameter>leader</parameter>&nbsp;:</term>
 
161
<varlistentry><term><parameter>leader</parameter>&#160;:</term>
176
162
<listitem><simpara> The client leader window of the group.
177
163
</simpara></listitem></varlistentry>
178
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A newly allocated <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
 
164
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
184
170
<para>
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>
188
174
<para>
189
 
 
190
175
</para><variablelist role="params">
191
 
<varlistentry><term><parameter>client</parameter>&nbsp;:</term>
 
176
<varlistentry><term><parameter>client</parameter>&#160;:</term>
192
177
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
193
178
</simpara></listitem></varlistentry>
194
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The client leader window of the group
 
179
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</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>
203
188
<para>
204
189
Sets the group according to the specified <parameter>leader</parameter>.</para>
205
190
<para>
206
 
 
207
191
</para><variablelist role="params">
208
 
<varlistentry><term><parameter>client</parameter>&nbsp;:</term>
 
192
<varlistentry><term><parameter>client</parameter>&#160;:</term>
209
193
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
210
194
</simpara></listitem></varlistentry>
211
 
<varlistentry><term><parameter>leader</parameter>&nbsp;:</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>&#160;:</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>
229
213
<para>
230
 
 
231
214
</para><variablelist role="params">
232
 
<varlistentry><term><parameter>client</parameter>&nbsp;:</term>
 
215
<varlistentry><term><parameter>client</parameter>&#160;:</term>
233
216
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
234
217
</simpara></listitem></varlistentry>
235
 
<varlistentry><term><parameter>argv</parameter>&nbsp;:</term>
 
218
<varlistentry><term><parameter>argv</parameter>&#160;:</term>
236
219
<listitem><simpara> Pointer to the location where the
237
220
           pointer to the argument vector should
238
221
           be stored to.
239
222
</simpara></listitem></varlistentry>
240
 
<varlistentry><term><parameter>argc</parameter>&nbsp;:</term>
 
223
<varlistentry><term><parameter>argc</parameter>&#160;:</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>&nbsp;:</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>&#160;:</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>
254
237
<para>
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.
258
241
</para>
262
245
</para>
263
246
<para>
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>.
267
250
</para>
268
251
<para>
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>
273
256
<para>
274
 
 
275
257
</para><variablelist role="params">
276
 
<varlistentry><term><parameter>client</parameter>&nbsp;:</term>
 
258
<varlistentry><term><parameter>client</parameter>&#160;:</term>
277
259
<listitem><simpara> An <link linkend="ExoXsessionClient"><type>ExoXsessionClient</type></link>.
278
260
</simpara></listitem></varlistentry>
279
 
<varlistentry><term><parameter>argv</parameter>&nbsp;:</term>
 
261
<varlistentry><term><parameter>argv</parameter>&#160;:</term>
280
262
<listitem><simpara> The argument vector.
281
263
</simpara></listitem></varlistentry>
282
 
<varlistentry><term><parameter>argc</parameter>&nbsp;:</term>
 
264
<varlistentry><term><parameter>argc</parameter>&#160;:</term>
283
265
<listitem><simpara> The number of arguments in <parameter>argv</parameter> or -1.
284
266
</simpara></listitem></varlistentry>
285
267
</variablelist></refsect2>
287
269
</refsect1>
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>&quot;group&quot;</literal> property</title>
291
 
<indexterm zone="ExoXsessionClient--group"><primary>ExoXsessionClient:group</primary></indexterm><programlisting>  &quot;group&quot;                    <link linkend="GdkWindow">GdkWindow</link>*            : Read / Write</programlisting>
292
 
<para>
293
 
</para>
294
 
<para>
295
 
 
296
 
</para></refsect2>
297
 
<refsect2 id="ExoXsessionClient--restart-command"><title>The <literal>&quot;restart-command&quot;</literal> property</title>
298
 
<indexterm zone="ExoXsessionClient--restart-command"><primary>ExoXsessionClient:restart-command</primary></indexterm><programlisting>  &quot;restart-command&quot;          <link linkend="GStrv">GStrv</link>*                : Read / Write</programlisting>
299
 
<para>
300
 
</para>
301
 
<para>
302
 
 
303
 
</para></refsect2>
304
 
 
 
272
<refsect2 id="ExoXsessionClient--group" role="property"><title>The <literal>&quot;group&quot;</literal> property</title>
 
273
<indexterm zone="ExoXsessionClient--group"><primary sortas="ExoXsessionClient:group">ExoXsessionClient:group</primary></indexterm><programlisting>  &quot;group&quot;                    <link linkend="GdkWindow">GdkWindow</link>*            : Read / Write</programlisting>
 
274
<para>
 
275
</para>
 
276
<para>
 
277
</para></refsect2>
 
278
<refsect2 id="ExoXsessionClient--restart-command" role="property"><title>The <literal>&quot;restart-command&quot;</literal> property</title>
 
279
<indexterm zone="ExoXsessionClient--restart-command"><primary sortas="ExoXsessionClient:restart-command">ExoXsessionClient:restart-command</primary></indexterm><programlisting>  &quot;restart-command&quot;          <link linkend="GStrv">GStrv</link>*                : Read / Write</programlisting>
 
280
<para>
 
281
</para>
 
282
<para>
 
283
</para></refsect2>
305
284
</refsect1>
306
285
 
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>&quot;save-yourself&quot;</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>&quot;save-yourself&quot;</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>
312
291
<para>
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>
316
295
<para>
317
 
 
318
296
</para><variablelist role="params">
319
 
<varlistentry><term><parameter>client</parameter>&nbsp;:</term>
 
297
<varlistentry><term><parameter>client</parameter>&#160;:</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>&nbsp;:</term>
 
300
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
323
301
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
324
302
</variablelist></refsect2>
325
303
</refsect1>