Initial packaging to sync OBS with git/gerrit
[profile/ivi/gtk3.git] / docs / reference / gtk / html / GtkApplication.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GtkApplication</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
8 <link rel="up" href="Application.html" title="Application support">
9 <link rel="prev" href="Application.html" title="Application support">
10 <link rel="next" href="GtkApplicationWindow.html" title="GtkApplicationWindow">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="Application.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="Application.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GTK+ 3 Reference Manual</th>
21 <td><a accesskey="n" href="GtkApplicationWindow.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GtkApplication.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#GtkApplication.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#GtkApplication.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#GtkApplication.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#GtkApplication.properties" class="shortcut">Properties</a>
33                    | 
34                   <a href="#GtkApplication.signals" class="shortcut">Signals</a>
35 </td></tr>
36 </table>
37 <div class="refentry">
38 <a name="GtkApplication"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="GtkApplication.top_of_page"></a>GtkApplication</span></h2>
42 <p>GtkApplication — Application class</p>
43 </td>
44 <td valign="top" align="right"></td>
45 </tr></table></div>
46 <div class="refsynopsisdiv">
47 <a name="GtkApplication.synopsis"></a><h2>Synopsis</h2>
48 <pre class="synopsis">
49 #include &lt;gtk/gtk.h&gt;
50
51 struct              <a class="link" href="GtkApplication.html#GtkApplication-struct" title="struct GtkApplication">GtkApplication</a>;
52 <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="returnvalue">GtkApplication</span></a> *    <a class="link" href="GtkApplication.html#gtk-application-new" title="gtk_application_new ()">gtk_application_new</a>                 (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_id</code></em>,
53                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#GApplicationFlags"><span class="type">GApplicationFlags</span></a> flags</code></em>);
54 <span class="returnvalue">void</span>                <a class="link" href="GtkApplication.html#gtk-application-add-window" title="gtk_application_add_window ()">gtk_application_add_window</a>          (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
55                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>);
56 <span class="returnvalue">void</span>                <a class="link" href="GtkApplication.html#gtk-application-remove-window" title="gtk_application_remove_window ()">gtk_application_remove_window</a>       (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
57                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>);
58 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             <a class="link" href="GtkApplication.html#gtk-application-get-windows" title="gtk_application_get_windows ()">gtk_application_get_windows</a>         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);
59
60 enum                <a class="link" href="GtkApplication.html#GtkApplicationInhibitFlags" title="enum GtkApplicationInhibitFlags">GtkApplicationInhibitFlags</a>;
61 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GtkApplication.html#gtk-application-inhibit" title="gtk_application_inhibit ()">gtk_application_inhibit</a>             (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
62                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>,
63                                                          <em class="parameter"><code><a class="link" href="GtkApplication.html#GtkApplicationInhibitFlags" title="enum GtkApplicationInhibitFlags"><span class="type">GtkApplicationInhibitFlags</span></a> flags</code></em>,
64                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reason</code></em>);
65 <span class="returnvalue">void</span>                <a class="link" href="GtkApplication.html#gtk-application-uninhibit" title="gtk_application_uninhibit ()">gtk_application_uninhibit</a>           (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
66                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> cookie</code></em>);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkApplication.html#gtk-application-is-inhibited" title="gtk_application_is_inhibited ()">gtk_application_is_inhibited</a>        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
68                                                          <em class="parameter"><code><a class="link" href="GtkApplication.html#GtkApplicationInhibitFlags" title="enum GtkApplicationInhibitFlags"><span class="type">GtkApplicationInhibitFlags</span></a> flags</code></em>);
69
70 <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="returnvalue">GMenuModel</span></a> *        <a class="link" href="GtkApplication.html#gtk-application-get-app-menu" title="gtk_application_get_app_menu ()">gtk_application_get_app_menu</a>        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);
71 <span class="returnvalue">void</span>                <a class="link" href="GtkApplication.html#gtk-application-set-app-menu" title="gtk_application_set_app_menu ()">gtk_application_set_app_menu</a>        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
72                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a> *app_menu</code></em>);
73 <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="returnvalue">GMenuModel</span></a> *        <a class="link" href="GtkApplication.html#gtk-application-get-menubar" title="gtk_application_get_menubar ()">gtk_application_get_menubar</a>         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);
74 <span class="returnvalue">void</span>                <a class="link" href="GtkApplication.html#gtk-application-set-menubar" title="gtk_application_set_menubar ()">gtk_application_set_menubar</a>         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
75                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a> *menubar</code></em>);
76 </pre>
77 </div>
78 <div class="refsect1">
79 <a name="GtkApplication.object-hierarchy"></a><h2>Object Hierarchy</h2>
80 <pre class="synopsis">
81   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
82    +----<a href="http://library.gnome.org/devel/gio/unstable/GApplication.html">GApplication</a>
83          +----GtkApplication
84 </pre>
85 </div>
86 <div class="refsect1">
87 <a name="GtkApplication.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
88 <p>
89 GtkApplication implements
90  <a href="http://library.gnome.org/devel/gio/unstable/GActionGroup.html">GActionGroup</a> and  <a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html">GActionMap</a>.</p>
91 </div>
92 <div class="refsect1">
93 <a name="GtkApplication.properties"></a><h2>Properties</h2>
94 <pre class="synopsis">
95   "<a class="link" href="GtkApplication.html#GtkApplication--app-menu" title='The "app-menu" property'>app-menu</a>"                 <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>*           : Read / Write
96   "<a class="link" href="GtkApplication.html#GtkApplication--menubar" title='The "menubar" property'>menubar</a>"                  <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>*           : Read / Write
97   "<a class="link" href="GtkApplication.html#GtkApplication--register-session" title='The "register-session" property'>register-session</a>"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
98 </pre>
99 </div>
100 <div class="refsect1">
101 <a name="GtkApplication.signals"></a><h2>Signals</h2>
102 <pre class="synopsis">
103   "<a class="link" href="GtkApplication.html#GtkApplication-window-added" title='The "window-added" signal'>window-added</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
104   "<a class="link" href="GtkApplication.html#GtkApplication-window-removed" title='The "window-removed" signal'>window-removed</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
105 </pre>
106 </div>
107 <div class="refsect1">
108 <a name="GtkApplication.description"></a><h2>Description</h2>
109 <p>
110 <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> is a class that handles many important aspects
111 of a GTK+ application in a convenient fashion, without enforcing
112 a one-size-fits-all application model.
113 </p>
114 <p>
115 Currently, GtkApplication handles GTK+ initialization, application
116 uniqueness, session management, provides some basic scriptability and
117 desktop shell integration by exporting actions and menus and manages a
118 list of toplevel windows whose life-cycle is automatically tied to the
119 life-cycle of your application.
120 </p>
121 <p>
122 While GtkApplication works fine with plain <a href="GtkWindow.html"><span class="type">GtkWindows</span></a>, it is recommended
123 to use it together with <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow"><span class="type">GtkApplicationWindow</span></a>.
124 </p>
125 <p>
126 When GDK threads are enabled, GtkApplication will acquire the GDK
127 lock when invoking actions that arrive from other processes.  The GDK
128 lock is not touched for local action invocations.  In order to have
129 actions invoked in a predictable context it is therefore recommended
130 that the GDK lock be held while invoking actions locally with
131 <a href="http://library.gnome.org/devel/gio/unstable/GActionGroup.html#g-action-group-activate-action"><code class="function">g_action_group_activate_action()</code></a>.  The same applies to actions
132 associated with <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow"><span class="type">GtkApplicationWindow</span></a> and to the 'activate' and
133 'open' <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html"><span class="type">GApplication</span></a> methods.
134 </p>
135 <p>
136 To set an application menu for a GtkApplication, use
137 <a class="link" href="GtkApplication.html#gtk-application-set-app-menu" title="gtk_application_set_app_menu ()"><code class="function">gtk_application_set_app_menu()</code></a>. The <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a> that this function
138 expects is usually constructed using <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a>, as seen in the
139 following example. To specify a menubar that will be shown by
140 <span class="type">GApplicationWindows</span>, use <a class="link" href="GtkApplication.html#gtk-application-set-menubar" title="gtk_application_set_menubar ()"><code class="function">gtk_application_set_menubar()</code></a>. Use the base
141 <a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html"><span class="type">GActionMap</span></a> interface to add actions, to respond to the user
142 selecting these menu items.
143 </p>
144 <p>
145 GTK+ displays these menus as expected, depending on the platform
146 the application is running on.
147 </p>
148 <p>
149 </p>
150 <div class="figure">
151 <a name="id1338592"></a><p class="title"><b>Figure Menu integration in OS X. </b></p>
152 <div class="figure-contents"><div><img src="bloatpad-osx.png"></div></div>
153 </div>
154 <p><br class="figure-break">
155 </p>
156 <p>
157 </p>
158 <div class="figure">
159 <a name="id1338612"></a><p class="title"><b>Figure Menu integration in GNOME. </b></p>
160 <div class="figure-contents"><div><img src="bloatpad-gnome.png"></div></div>
161 </div>
162 <p><br class="figure-break">
163 </p>
164 <p>
165 </p>
166 <div class="figure">
167 <a name="id1338631"></a><p class="title"><b>Figure Menu integration in Xfce. </b></p>
168 <div class="figure-contents"><div><img src="bloatpad-xfce.png"></div></div>
169 </div>
170 <p><br class="figure-break">
171 </p>
172 <p>
173 </p>
174 <div class="example">
175 <a name="gtkapplication"></a><p class="title"><b>Example 110. A simple application</b></p>
176 <div class="example-contents">
177   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
178     <tbody>
179       <tr>
180         <td class="listing_lines" align="right"><pre>1
181 2
182 3
183 4
184 5
185 6
186 7
187 8
188 9
189 10
190 11
191 12
192 13
193 14
194 15
195 16
196 17
197 18
198 19
199 20
200 21
201 22
202 23
203 24
204 25
205 26
206 27
207 28
208 29
209 30
210 31
211 32
212 33
213 34
214 35
215 36
216 37
217 38
218 39
219 40
220 41
221 42
222 43
223 44
224 45
225 46
226 47
227 48
228 49
229 50
230 51
231 52
232 53
233 54
234 55
235 56
236 57
237 58
238 59
239 60
240 61
241 62
242 63
243 64
244 65
245 66
246 67
247 68
248 69
249 70
250 71
251 72
252 73
253 74
254 75
255 76
256 77
257 78
258 79
259 80
260 81
261 82
262 83
263 84
264 85
265 86
266 87
267 88
268 89
269 90
270 91
271 92
272 93
273 94
274 95
275 96
276 97
277 98
278 99
279 100
280 101
281 102
282 103
283 104
284 105
285 106
286 107
287 108
288 109
289 110
290 111
291 112
292 113
293 114
294 115
295 116
296 117
297 118
298 119
299 120
300 121
301 122
302 123
303 124
304 125
305 126
306 127
307 128
308 129
309 130
310 131
311 132
312 133
313 134
314 135
315 136
316 137
317 138
318 139
319 140
320 141
321 142
322 143
323 144
324 145
325 146
326 147
327 148
328 149
329 150
330 151
331 152
332 153
333 154
334 155
335 156
336 157
337 158
338 159
339 160
340 161
341 162
342 163
343 164
344 165
345 166
346 167
347 168
348 169
349 170
350 171
351 172
352 173
353 174
354 175
355 176
356 177
357 178
358 179
359 180
360 181
361 182
362 183
363 184
364 185
365 186
366 187
367 188
368 189
369 190
370 191
371 192
372 193
373 194
374 195
375 196
376 197
377 198
378 199
379 200
380 201
381 202
382 203
383 204
384 205
385 206
386 207
387 208
388 209
389 210
390 211
391 212
392 213
393 214
394 215
395 216
396 217
397 218
398 219
399 220
400 221
401 222
402 223
403 224
404 225
405 226
406 227
407 228
408 229
409 230
410 231
411 232
412 233
413 234
414 235
415 236
416 237
417 238
418 239
419 240
420 241
421 242
422 243
423 244
424 245
425 246
426 247
427 248
428 249
429 250
430 251
431 252
432 253
433 254
434 255
435 256
436 257
437 258
438 259
439 260
440 261
441 262
442 263
443 264
444 265
445 266
446 267
447 268
448 269
449 270
450 271
451 272
452 273
453 274
454 275
455 276
456 277
457 278
458 279
459 280
460 281
461 282
462 283
463 284
464 285
465 286
466 287
467 288
468 289
469 290
470 291
471 292
472 293
473 294
474 295
475 296
476 297
477 298
478 299
479 300
480 301
481 302
482 303
483 304
484 305
485 306
486 307
487 308
488 309
489 310
490 311
491 312
492 313
493 314
494 315
495 316
496 317
497 318
498 319
499 320
500 321
501 322
502 323
503 324
504 325
505 326
506 327
507 328
508 329
509 330
510 331
511 332
512 333
513 334
514 335
515 336
516 337
517 338
518 339
519 340
520 341
521 342
522 343
523 344
524 345
525 346
526 347
527 348
528 349
529 350
530 351
531 352
532 353
533 354
534 355
535 356
536 357
537 358
538 359
539 360
540 361
541 362
542 363
543 364
544 365</pre></td>
545         <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;stdlib.h&gt;</span>
546 <span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gtk/gtk.h&gt;</span>
547
548 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
549 <span class="function">activate_toggle</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
550 <span class="normal">                 </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
551 <span class="normal">                 </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
552 <span class="cbracket">{</span>
553 <span class="normal">  </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">state</span><span class="symbol">;</span>
554
555 <span class="normal">  state </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GAction.html#g-action-get-state">g_action_get_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
556 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GAction.html#g-action-change-state">g_action_change_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">),</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-new-boolean">g_variant_new_boolean</a></span><span class="normal"> </span><span class="symbol">(!</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-get-boolean">g_variant_get_boolean</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">state</span><span class="symbol">)));</span>
557 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-unref">g_variant_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">state</span><span class="symbol">);</span>
558 <span class="cbracket">}</span>
559
560 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
561 <span class="function">activate_radio</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
562 <span class="normal">                </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
563 <span class="normal">                </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
564 <span class="cbracket">{</span>
565 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GAction.html#g-action-change-state">g_action_change_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">),</span><span class="normal"> parameter</span><span class="symbol">);</span>
566 <span class="cbracket">}</span>
567
568 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
569 <span class="function">change_fullscreen_state</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
570 <span class="normal">                         </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">state</span><span class="symbol">,</span>
571 <span class="normal">                         </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
572 <span class="cbracket">{</span>
573 <span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-get-boolean">g_variant_get_boolean</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">state</span><span class="symbol">))</span>
574 <span class="normal">    </span><span class="function"><a href="GtkWindow.html#gtk-window-fullscreen">gtk_window_fullscreen</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">user_data</span><span class="symbol">);</span>
575 <span class="normal">  </span><span class="keyword">else</span>
576 <span class="normal">    </span><span class="function"><a href="GtkWindow.html#gtk-window-unfullscreen">gtk_window_unfullscreen</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">user_data</span><span class="symbol">);</span>
577
578 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GSimpleAction.html#g-simple-action-set-state">g_simple_action_set_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">,</span><span class="normal"> state</span><span class="symbol">);</span>
579 <span class="cbracket">}</span>
580
581 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
582 <span class="function">change_justify_state</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
583 <span class="normal">                      </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">state</span><span class="symbol">,</span>
584 <span class="normal">                      </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
585 <span class="cbracket">{</span>
586 <span class="normal">  </span><span class="usertype">GtkTextView</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get-data">g_object_get_data</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">user_data</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bloatpad-text"</span><span class="symbol">);</span>
587 <span class="normal">  </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">str</span><span class="symbol">;</span>
588
589 <span class="normal">  str </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-get-string">g_variant_get_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">state</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
590
591 <span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#g-str-equal">g_str_equal</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">str</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"left"</span><span class="symbol">))</span>
592 <span class="normal">    </span><span class="function"><a href="GtkTextView.html#gtk-text-view-set-justification">gtk_text_view_set_justification</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-JUSTIFY-LEFT:CAPS">GTK_JUSTIFY_LEFT</a></span><span class="symbol">);</span>
593 <span class="normal">  </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#g-str-equal">g_str_equal</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">str</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"center"</span><span class="symbol">))</span>
594 <span class="normal">    </span><span class="function"><a href="GtkTextView.html#gtk-text-view-set-justification">gtk_text_view_set_justification</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-JUSTIFY-CENTER:CAPS">GTK_JUSTIFY_CENTER</a></span><span class="symbol">);</span>
595 <span class="normal">  </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#g-str-equal">g_str_equal</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">str</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"right"</span><span class="symbol">))</span>
596 <span class="normal">    </span><span class="function"><a href="GtkTextView.html#gtk-text-view-set-justification">gtk_text_view_set_justification</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">,</span><span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-JUSTIFY-RIGHT:CAPS">GTK_JUSTIFY_RIGHT</a></span><span class="symbol">);</span>
597 <span class="normal">  </span><span class="keyword">else</span>
598 <span class="normal">    </span><span class="comment">/* ignore this attempted change */</span>
599 <span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
600
601 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GSimpleAction.html#g-simple-action-set-state">g_simple_action_set_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">,</span><span class="normal"> state</span><span class="symbol">);</span>
602 <span class="cbracket">}</span>
603
604 <span class="keyword">static</span><span class="normal"> <a href="gtk3-Clipboards.html#GtkClipboard">GtkClipboard</a> </span><span class="symbol">*</span>
605 <span class="function">get_clipboard</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">)</span>
606 <span class="cbracket">{</span>
607 <span class="normal">  </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-clipboard">gtk_widget_get_clipboard</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="http://developer.gnome.org/devel/gdk/gdk3-Properties-and-Atoms.html#gdk-atom-intern-static-string">gdk_atom_intern_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"CLIPBOARD"</span><span class="symbol">));</span>
608 <span class="cbracket">}</span>
609
610 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
611 <span class="function">window_copy</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
612 <span class="normal">             </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
613 <span class="normal">             </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
614 <span class="cbracket">{</span>
615 <span class="normal">  </span><span class="usertype">GtkWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">window </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">user_data</span><span class="symbol">);</span>
616 <span class="normal">  </span><span class="usertype">GtkTextView</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get-data">g_object_get_data</a></span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a></span><span class="symbol">*)</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bloatpad-text"</span><span class="symbol">);</span>
617
618 <span class="normal">  </span><span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-copy-clipboard">gtk_text_buffer_copy_clipboard</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkTextView.html#gtk-text-view-get-buffer">gtk_text_view_get_buffer</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">),</span>
619 <span class="normal">                                  </span><span class="function">get_clipboard</span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="GtkWidget.html">GtkWidget</a></span><span class="symbol">*)</span><span class="normal"> text</span><span class="symbol">));</span>
620 <span class="cbracket">}</span>
621
622 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
623 <span class="function">window_paste</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
624 <span class="normal">              </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
625 <span class="normal">              </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
626 <span class="cbracket">{</span>
627 <span class="normal">  </span><span class="usertype">GtkWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">window </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">user_data</span><span class="symbol">);</span>
628 <span class="normal">  </span><span class="usertype">GtkTextView</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get-data">g_object_get_data</a></span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a></span><span class="symbol">*)</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bloatpad-text"</span><span class="symbol">);</span>
629 <span class="normal">  </span>
630 <span class="normal">  </span><span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-paste-clipboard">gtk_text_buffer_paste_clipboard</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkTextView.html#gtk-text-view-get-buffer">gtk_text_view_get_buffer</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">),</span>
631 <span class="normal">                                   </span><span class="function">get_clipboard</span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="GtkWidget.html">GtkWidget</a></span><span class="symbol">*)</span><span class="normal"> text</span><span class="symbol">),</span>
632 <span class="normal">                                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
633 <span class="normal">                                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
634
635 <span class="cbracket">}</span>
636
637 <span class="keyword">static</span><span class="normal"> </span><span class="usertype">GActionEntry</span><span class="normal"> win_entries</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
638 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"copy"</span><span class="symbol">,</span><span class="normal"> window_copy</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">,</span>
639 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"paste"</span><span class="symbol">,</span><span class="normal"> window_paste</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">,</span>
640 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"fullscreen"</span><span class="symbol">,</span><span class="normal"> activate_toggle</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"false"</span><span class="symbol">,</span><span class="normal"> change_fullscreen_state </span><span class="cbracket">}</span><span class="symbol">,</span>
641 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"justify"</span><span class="symbol">,</span><span class="normal"> activate_radio</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"s"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"'left'"</span><span class="symbol">,</span><span class="normal"> change_justify_state </span><span class="cbracket">}</span>
642 <span class="cbracket">}</span><span class="symbol">;</span>
643
644 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
645 <span class="function">new_window</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">,</span>
646 <span class="normal">            </span><span class="usertype">GFile</span><span class="normal">        </span><span class="symbol">*</span><span class="normal">file</span><span class="symbol">)</span>
647 <span class="cbracket">{</span>
648 <span class="normal">  </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">grid</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">scrolled</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">view</span><span class="symbol">;</span>
649 <span class="normal">  </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">toolbar</span><span class="symbol">;</span>
650 <span class="normal">  </span><span class="usertype">GtkToolItem</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">button</span><span class="symbol">;</span>
651 <span class="normal">  </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">sw</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">box</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label</span><span class="symbol">;</span>
652
653 <span class="normal">  window </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkApplicationWindow.html#gtk-application-window-new">gtk_application_window_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">));</span>
654 <span class="normal">  </span><span class="function"><a href="GtkWindow.html#gtk-window-set-default-size">gtk_window_set_default_size</a></span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="GtkWindow.html">GtkWindow</a></span><span class="symbol">*)</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> </span><span class="number">640</span><span class="symbol">,</span><span class="normal"> </span><span class="number">480</span><span class="symbol">);</span>
655 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html#g-action-map-add-action-entries">g_action_map_add_action_entries</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION_MAP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span><span class="normal"> win_entries</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#G-N-ELEMENTS:CAPS">G_N_ELEMENTS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">win_entries</span><span class="symbol">),</span><span class="normal"> window</span><span class="symbol">);</span>
656 <span class="normal">  </span><span class="function"><a href="GtkWindow.html#gtk-window-set-title">gtk_window_set_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Bloatpad"</span><span class="symbol">);</span>
657
658 <span class="normal">  grid </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkGrid.html#gtk-grid-new">gtk_grid_new</a></span><span class="normal"> </span><span class="symbol">();</span>
659 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span><span class="normal"> grid</span><span class="symbol">);</span>
660
661 <span class="normal">  toolbar </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkToolbar.html#gtk-toolbar-new">gtk_toolbar_new</a></span><span class="normal"> </span><span class="symbol">();</span>
662 <span class="normal">  button </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkToggleToolButton.html#gtk-toggle-tool-button-new-from-stock">gtk_toggle_tool_button_new_from_stock</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gtk3-Stock-Items.html#GTK-STOCK-JUSTIFY-LEFT:CAPS">GTK_STOCK_JUSTIFY_LEFT</a></span><span class="symbol">);</span>
663 <span class="normal">  </span><span class="function"><a href="GtkActionable.html#gtk-actionable-set-detailed-action-name">gtk_actionable_set_detailed_action_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIONABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"win.justify::left"</span><span class="symbol">);</span>
664 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toolbar</span><span class="symbol">),</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">));</span>
665
666 <span class="normal">  button </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkToggleToolButton.html#gtk-toggle-tool-button-new-from-stock">gtk_toggle_tool_button_new_from_stock</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gtk3-Stock-Items.html#GTK-STOCK-JUSTIFY-CENTER:CAPS">GTK_STOCK_JUSTIFY_CENTER</a></span><span class="symbol">);</span>
667 <span class="normal">  </span><span class="function"><a href="GtkActionable.html#gtk-actionable-set-detailed-action-name">gtk_actionable_set_detailed_action_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIONABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"win.justify::center"</span><span class="symbol">);</span>
668 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toolbar</span><span class="symbol">),</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">));</span>
669
670 <span class="normal">  button </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkToggleToolButton.html#gtk-toggle-tool-button-new-from-stock">gtk_toggle_tool_button_new_from_stock</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gtk3-Stock-Items.html#GTK-STOCK-JUSTIFY-RIGHT:CAPS">GTK_STOCK_JUSTIFY_RIGHT</a></span><span class="symbol">);</span>
671 <span class="normal">  </span><span class="function"><a href="GtkActionable.html#gtk-actionable-set-detailed-action-name">gtk_actionable_set_detailed_action_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIONABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"win.justify::right"</span><span class="symbol">);</span>
672 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toolbar</span><span class="symbol">),</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">));</span>
673
674 <span class="normal">  button </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkSeparatorToolItem.html#gtk-separator-tool-item-new">gtk_separator_tool_item_new</a></span><span class="normal"> </span><span class="symbol">();</span>
675 <span class="normal">  </span><span class="function"><a href="GtkSeparatorToolItem.html#gtk-separator-tool-item-set-draw">gtk_separator_tool_item_set_draw</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_SEPARATOR_TOOL_ITEM</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>
676 <span class="normal">  </span><span class="function"><a href="GtkToolItem.html#gtk-tool-item-set-expand">gtk_tool_item_set_expand</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_TOOL_ITEM</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
677 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toolbar</span><span class="symbol">),</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">));</span>
678
679 <span class="normal">  button </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkToolItem.html#gtk-tool-item-new">gtk_tool_item_new</a></span><span class="normal"> </span><span class="symbol">();</span>
680 <span class="normal">  box </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkBox.html#gtk-box-new">gtk_box_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="gtk3-Standard-Enumerations.html#GTK-ORIENTATION-HORIZONTAL:CAPS">GTK_ORIENTATION_HORIZONTAL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="number">6</span><span class="symbol">);</span>
681 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">),</span><span class="normal"> box</span><span class="symbol">);</span>
682 <span class="normal">  label </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkLabel.html#gtk-label-new">gtk_label_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Fullscreen:"</span><span class="symbol">);</span>
683 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">box</span><span class="symbol">),</span><span class="normal"> label</span><span class="symbol">);</span>
684 <span class="normal">  sw </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkSwitch.html#gtk-switch-new">gtk_switch_new</a></span><span class="normal"> </span><span class="symbol">();</span>
685 <span class="normal">  </span><span class="function"><a href="GtkActionable.html#gtk-actionable-set-action-name">gtk_actionable_set_action_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIONABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">sw</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"win.fullscreen"</span><span class="symbol">);</span>
686 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">box</span><span class="symbol">),</span><span class="normal"> sw</span><span class="symbol">);</span>
687 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toolbar</span><span class="symbol">),</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">));</span>
688
689 <span class="normal">  </span><span class="function"><a href="GtkGrid.html#gtk-grid-attach">gtk_grid_attach</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_GRID</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">grid</span><span class="symbol">),</span><span class="normal"> toolbar</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
690
691 <span class="normal">  scrolled </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkScrolledWindow.html#gtk-scrolled-window-new">gtk_scrolled_window_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
692 <span class="normal">  </span><span class="function"><a href="GtkWidget.html#gtk-widget-set-hexpand">gtk_widget_set_hexpand</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">scrolled</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
693 <span class="normal">  </span><span class="function"><a href="GtkWidget.html#gtk-widget-set-vexpand">gtk_widget_set_vexpand</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">scrolled</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
694 <span class="normal">  view </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextView.html#gtk-text-view-new">gtk_text_view_new</a></span><span class="normal"> </span><span class="symbol">();</span>
695
696 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set-data">g_object_set_data</a></span><span class="normal"> </span><span class="symbol">((</span><span class="normal"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a></span><span class="symbol">*)</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bloatpad-text"</span><span class="symbol">,</span><span class="normal"> view</span><span class="symbol">);</span>
697
698 <span class="normal">  </span><span class="function"><a href="GtkContainer.html#gtk-container-add">gtk_container_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_CONTAINER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">scrolled</span><span class="symbol">),</span><span class="normal"> view</span><span class="symbol">);</span>
699
700 <span class="normal">  </span><span class="function"><a href="GtkGrid.html#gtk-grid-attach">gtk_grid_attach</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_GRID</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">grid</span><span class="symbol">),</span><span class="normal"> scrolled</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
701
702 <span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file </span><span class="symbol">!=</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span>
703 <span class="normal">    </span><span class="cbracket">{</span>
704 <span class="normal">      </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">contents</span><span class="symbol">;</span>
705 <span class="normal">      </span><span class="usertype">gsize</span><span class="normal"> length</span><span class="symbol">;</span>
706
707 <span class="normal">      </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GFile.html#g-file-load-contents">g_file_load_contents</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">contents</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">length</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">))</span>
708 <span class="normal">        </span><span class="cbracket">{</span>
709 <span class="normal">          </span><span class="usertype">GtkTextBuffer</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
710
711 <span class="normal">          buffer </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextView.html#gtk-text-view-get-buffer">gtk_text_view_get_buffer</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_TEXT_VIEW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">view</span><span class="symbol">));</span>
712 <span class="normal">          </span><span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-set-text">gtk_text_buffer_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> contents</span><span class="symbol">,</span><span class="normal"> length</span><span class="symbol">);</span>
713 <span class="normal">          </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">contents</span><span class="symbol">);</span>
714 <span class="normal">        </span><span class="cbracket">}</span>
715 <span class="normal">    </span><span class="cbracket">}</span>
716
717 <span class="normal">  </span><span class="function"><a href="GtkWidget.html#gtk-widget-show-all">gtk_widget_show_all</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">));</span>
718 <span class="cbracket">}</span>
719
720 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
721 <span class="function">bloat_pad_activate</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">application</span><span class="symbol">)</span>
722 <span class="cbracket">{</span>
723 <span class="normal">  </span><span class="function">new_window</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
724 <span class="cbracket">}</span>
725
726 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
727 <span class="function">bloat_pad_open</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal">  </span><span class="symbol">*</span><span class="normal">application</span><span class="symbol">,</span>
728 <span class="normal">                </span><span class="usertype">GFile</span><span class="normal">        </span><span class="symbol">**</span><span class="normal">files</span><span class="symbol">,</span>
729 <span class="normal">                </span><span class="usertype">gint</span><span class="normal">           n_files</span><span class="symbol">,</span>
730 <span class="normal">                </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal">   </span><span class="symbol">*</span><span class="normal">hint</span><span class="symbol">)</span>
731 <span class="cbracket">{</span>
732 <span class="normal">  </span><span class="usertype">gint</span><span class="normal"> i</span><span class="symbol">;</span>
733
734 <span class="normal">  </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span><span class="normal"> i </span><span class="symbol">&lt;</span><span class="normal"> n_files</span><span class="symbol">;</span><span class="normal"> i</span><span class="symbol">++)</span>
735 <span class="normal">    </span><span class="function">new_window</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">,</span><span class="normal"> files</span><span class="symbol">[</span><span class="normal">i</span><span class="symbol">]);</span>
736 <span class="cbracket">}</span>
737
738 <span class="keyword">typedef</span><span class="normal"> </span><span class="usertype">GtkApplication</span><span class="normal"> BloatPad</span><span class="symbol">;</span>
739 <span class="keyword">typedef</span><span class="normal"> </span><span class="usertype">GtkApplicationClass</span><span class="normal"> BloatPadClass</span><span class="symbol">;</span>
740
741 <span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE:CAPS">G_DEFINE_TYPE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">BloatPad</span><span class="symbol">,</span><span class="normal"> bloat_pad</span><span class="symbol">,</span><span class="normal"> GTK_TYPE_APPLICATION</span><span class="symbol">)</span>
742
743 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
744 <span class="function">bloat_pad_finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">)</span>
745 <span class="cbracket">{</span>
746 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bloat_pad_parent_class</span><span class="symbol">)-&gt;</span><span class="function">finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
747 <span class="cbracket">}</span>
748
749 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
750 <span class="function">new_activated</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
751 <span class="normal">               </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
752 <span class="normal">               </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
753 <span class="cbracket">{</span>
754 <span class="normal">  </span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app </span><span class="symbol">=</span><span class="normal"> user_data</span><span class="symbol">;</span>
755
756 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#g-application-activate">g_application_activate</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">);</span>
757 <span class="cbracket">}</span>
758
759 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
760 <span class="function">about_activated</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
761 <span class="normal">                 </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
762 <span class="normal">                 </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
763 <span class="cbracket">{</span>
764 <span class="normal">  </span><span class="function"><a href="GtkAboutDialog.html#gtk-show-about-dialog">gtk_show_about_dialog</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
765 <span class="normal">                         </span><span class="string">"program-name"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bloatpad"</span><span class="symbol">,</span>
766 <span class="normal">                         </span><span class="string">"title"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"About Bloatpad"</span><span class="symbol">,</span>
767 <span class="normal">                         </span><span class="string">"comments"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Not much to say, really."</span><span class="symbol">,</span>
768 <span class="normal">                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
769 <span class="cbracket">}</span>
770
771 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
772 <span class="function">quit_activated</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
773 <span class="normal">                </span><span class="usertype">GVariant</span><span class="normal">      </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
774 <span class="normal">                </span><span class="usertype">gpointer</span><span class="normal">       user_data</span><span class="symbol">)</span>
775 <span class="cbracket">{</span>
776 <span class="normal">  </span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app </span><span class="symbol">=</span><span class="normal"> user_data</span><span class="symbol">;</span>
777
778 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#g-application-quit">g_application_quit</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">);</span>
779 <span class="cbracket">}</span>
780
781 <span class="keyword">static</span><span class="normal"> </span><span class="usertype">GActionEntry</span><span class="normal"> app_entries</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
782 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"new"</span><span class="symbol">,</span><span class="normal"> new_activated</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">,</span>
783 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"about"</span><span class="symbol">,</span><span class="normal"> about_activated</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">,</span>
784 <span class="normal">  </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"quit"</span><span class="symbol">,</span><span class="normal"> quit_activated</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">,</span>
785 <span class="cbracket">}</span><span class="symbol">;</span>
786
787 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
788 <span class="function">bloat_pad_startup</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">application</span><span class="symbol">)</span>
789 <span class="cbracket">{</span>
790 <span class="normal">  </span><span class="usertype">GtkBuilder</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">builder</span><span class="symbol">;</span>
791
792 <span class="normal">  </span><span class="function">G_APPLICATION_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bloat_pad_parent_class</span><span class="symbol">)</span>
793 <span class="normal">    </span><span class="symbol">-&gt;</span><span class="function">startup</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">);</span>
794
795 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html#g-action-map-add-action-entries">g_action_map_add_action_entries</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION_MAP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">),</span><span class="normal"> app_entries</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#G-N-ELEMENTS:CAPS">G_N_ELEMENTS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app_entries</span><span class="symbol">),</span><span class="normal"> application</span><span class="symbol">);</span>
796
797 <span class="normal">  builder </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkBuilder.html#gtk-builder-new">gtk_builder_new</a></span><span class="normal"> </span><span class="symbol">();</span>
798 <span class="normal">  </span><span class="function"><a href="GtkBuilder.html#gtk-builder-add-from-string">gtk_builder_add_from_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span>
799 <span class="normal">                               </span><span class="string">"&lt;interface&gt;"</span>
800 <span class="normal">                               </span><span class="string">"  &lt;menu id='app-menu'&gt;"</span>
801 <span class="normal">                               </span><span class="string">"    &lt;section&gt;"</span>
802 <span class="normal">                               </span><span class="string">"      &lt;item&gt;"</span>
803 <span class="normal">                               </span><span class="string">"        &lt;attribute name='label' translatable='yes'&gt;_New Window&lt;/attribute&gt;"</span>
804 <span class="normal">                               </span><span class="string">"        &lt;attribute name='action'&gt;app.new&lt;/attribute&gt;"</span>
805 <span class="normal">                               </span><span class="string">"        &lt;attribute name='accel'&gt;&amp;lt;Primary&amp;gt;n&lt;/attribute&gt;"</span>
806 <span class="normal">                               </span><span class="string">"      &lt;/item&gt;"</span>
807 <span class="normal">                               </span><span class="string">"    &lt;/section&gt;"</span>
808 <span class="normal">                               </span><span class="string">"    &lt;section&gt;"</span>
809 <span class="normal">                               </span><span class="string">"      &lt;item&gt;"</span>
810 <span class="normal">                               </span><span class="string">"        &lt;attribute name='label' translatable='yes'&gt;_About Bloatpad&lt;/attribute&gt;"</span>
811 <span class="normal">                               </span><span class="string">"        &lt;attribute name='action'&gt;app.about&lt;/attribute&gt;"</span>
812 <span class="normal">                               </span><span class="string">"      &lt;/item&gt;"</span>
813 <span class="normal">                               </span><span class="string">"    &lt;/section&gt;"</span>
814 <span class="normal">                               </span><span class="string">"    &lt;section&gt;"</span>
815 <span class="normal">                               </span><span class="string">"      &lt;item&gt;"</span>
816 <span class="normal">                               </span><span class="string">"        &lt;attribute name='label' translatable='yes'&gt;_Quit&lt;/attribute&gt;"</span>
817 <span class="normal">                               </span><span class="string">"        &lt;attribute name='action'&gt;app.quit&lt;/attribute&gt;"</span>
818 <span class="normal">                               </span><span class="string">"        &lt;attribute name='accel'&gt;&amp;lt;Primary&amp;gt;q&lt;/attribute&gt;"</span>
819 <span class="normal">                               </span><span class="string">"      &lt;/item&gt;"</span>
820 <span class="normal">                               </span><span class="string">"    &lt;/section&gt;"</span>
821 <span class="normal">                               </span><span class="string">"  &lt;/menu&gt;"</span>
822 <span class="normal">                               </span><span class="string">"  &lt;menu id='menubar'&gt;"</span>
823 <span class="normal">                               </span><span class="string">"    &lt;submenu&gt;"</span>
824 <span class="normal">                               </span><span class="string">"      &lt;attribute name='label' translatable='yes'&gt;_Edit&lt;/attribute&gt;"</span>
825 <span class="normal">                               </span><span class="string">"      &lt;section&gt;"</span>
826 <span class="normal">                               </span><span class="string">"        &lt;item&gt;"</span>
827 <span class="normal">                               </span><span class="string">"          &lt;attribute name='label' translatable='yes'&gt;_Copy&lt;/attribute&gt;"</span>
828 <span class="normal">                               </span><span class="string">"          &lt;attribute name='action'&gt;win.copy&lt;/attribute&gt;"</span>
829 <span class="normal">                               </span><span class="string">"          &lt;attribute name='accel'&gt;&amp;lt;Primary&amp;gt;c&lt;/attribute&gt;"</span>
830 <span class="normal">                               </span><span class="string">"        &lt;/item&gt;"</span>
831 <span class="normal">                               </span><span class="string">"        &lt;item&gt;"</span>
832 <span class="normal">                               </span><span class="string">"          &lt;attribute name='label' translatable='yes'&gt;_Parse&lt;/attribute&gt;"</span>
833 <span class="normal">                               </span><span class="string">"          &lt;attribute name='action'&gt;win.parse&lt;/attribute&gt;"</span>
834 <span class="normal">                               </span><span class="string">"          &lt;attribute name='accel'&gt;&amp;lt;Primary&amp;gt;v&lt;/attribute&gt;"</span>
835 <span class="normal">                               </span><span class="string">"        &lt;/item&gt;"</span>
836 <span class="normal">                               </span><span class="string">"      &lt;/section&gt;"</span>
837 <span class="normal">                               </span><span class="string">"    &lt;/submenu&gt;"</span>
838 <span class="normal">                               </span><span class="string">"    &lt;submenu&gt;"</span>
839 <span class="normal">                               </span><span class="string">"      &lt;attribute name='label' translatable='yes'&gt;_View&lt;/attribute&gt;"</span>
840 <span class="normal">                               </span><span class="string">"      &lt;section&gt;"</span>
841 <span class="normal">                               </span><span class="string">"        &lt;item&gt;"</span>
842 <span class="normal">                               </span><span class="string">"          &lt;attribute name='label' translatable='yes'&gt;_Fullscreen&lt;/attribute&gt;"</span>
843 <span class="normal">                               </span><span class="string">"          &lt;attribute name='action'&gt;win.fullscreen&lt;/attribute&gt;"</span>
844 <span class="normal">                               </span><span class="string">"          &lt;attribute name='accel'&gt;F11&lt;/attribute&gt;"</span>
845 <span class="normal">                               </span><span class="string">"        &lt;/item&gt;"</span>
846 <span class="normal">                               </span><span class="string">"      &lt;/section&gt;"</span>
847 <span class="normal">                               </span><span class="string">"    &lt;/submenu&gt;"</span>
848 <span class="normal">                               </span><span class="string">"  &lt;/menu&gt;"</span>
849 <span class="normal">                               </span><span class="string">"&lt;/interface&gt;"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
850 <span class="normal">  </span><span class="function"><a href="GtkApplication.html#gtk-application-set-app-menu">gtk_application_set_app_menu</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">),</span><span class="normal"> </span><span class="function">G_MENU_MODEL</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkBuilder.html#gtk-builder-get-object">gtk_builder_get_object</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"app-menu"</span><span class="symbol">)));</span>
851 <span class="normal">  </span><span class="function"><a href="GtkApplication.html#gtk-application-set-menubar">gtk_application_set_menubar</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">application</span><span class="symbol">),</span><span class="normal"> </span><span class="function">G_MENU_MODEL</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkBuilder.html#gtk-builder-get-object">gtk_builder_get_object</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"menubar"</span><span class="symbol">)));</span>
852 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">builder</span><span class="symbol">);</span>
853 <span class="cbracket">}</span>
854
855 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
856 <span class="function">bloat_pad_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">BloatPad</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">)</span>
857 <span class="cbracket">{</span>
858 <span class="cbracket">}</span>
859
860 <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
861 <span class="function">bloat_pad_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">BloatPadClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
862 <span class="cbracket">{</span>
863 <span class="normal">  </span><span class="usertype">GApplicationClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">application_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function">G_APPLICATION_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
864 <span class="normal">  </span><span class="usertype">GObjectClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
865
866 <span class="normal">  application_class</span><span class="symbol">-&gt;</span><span class="normal">startup </span><span class="symbol">=</span><span class="normal"> bloat_pad_startup</span><span class="symbol">;</span>
867 <span class="normal">  application_class</span><span class="symbol">-&gt;</span><span class="normal">activate </span><span class="symbol">=</span><span class="normal"> bloat_pad_activate</span><span class="symbol">;</span>
868 <span class="normal">  application_class</span><span class="symbol">-&gt;</span><span class="normal">open </span><span class="symbol">=</span><span class="normal"> bloat_pad_open</span><span class="symbol">;</span>
869
870 <span class="normal">  object_class</span><span class="symbol">-&gt;</span><span class="normal">finalize </span><span class="symbol">=</span><span class="normal"> bloat_pad_finalize</span><span class="symbol">;</span>
871
872 <span class="cbracket">}</span>
873
874 <span class="normal">BloatPad </span><span class="symbol">*</span>
875 <span class="function">bloat_pad_new</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
876 <span class="cbracket">{</span>
877 <span class="normal">  </span><span class="usertype">GtkApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bloat_pad</span><span class="symbol">;</span>
878
879 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#g-type-init">g_type_init</a></span><span class="normal"> </span><span class="symbol">();</span>
880
881 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Miscellaneous-Utility-Functions.html#g-set-application-name">g_set_application_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Bloatpad"</span><span class="symbol">);</span>
882
883 <span class="normal">  bloat_pad </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">bloat_pad_get_type</span><span class="normal"> </span><span class="symbol">(),</span>
884 <span class="normal">                            </span><span class="string">"application-id"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"org.gtk.Test.bloatpad"</span><span class="symbol">,</span>
885 <span class="normal">                            </span><span class="string">"flags"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#G-APPLICATION-HANDLES-OPEN:CAPS">G_APPLICATION_HANDLES_OPEN</a></span><span class="symbol">,</span>
886 <span class="normal">                            </span><span class="string">"inactivity-timeout"</span><span class="symbol">,</span><span class="normal"> </span><span class="number">30000</span><span class="symbol">,</span>
887 <span class="normal">                            </span><span class="string">"register-session"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">,</span>
888 <span class="normal">                            <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
889
890 <span class="normal">  </span><span class="keyword">return</span><span class="normal"> bloat_pad</span><span class="symbol">;</span>
891 <span class="cbracket">}</span>
892
893 <span class="type">int</span>
894 <span class="function">main</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">argv</span><span class="symbol">)</span>
895 <span class="cbracket">{</span>
896 <span class="normal">  </span><span class="usertype">BloatPad</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bloat_pad</span><span class="symbol">;</span>
897 <span class="normal">  </span><span class="type">int</span><span class="normal"> status</span><span class="symbol">;</span>
898
899 <span class="normal">  bloat_pad </span><span class="symbol">=</span><span class="normal"> </span><span class="function">bloat_pad_new</span><span class="normal"> </span><span class="symbol">();</span>
900
901 <span class="normal">  </span><span class="function">gtk_application_add_accelerator</span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bloat_pad</span><span class="symbol">),</span>
902 <span class="normal">                                   </span><span class="string">"F11"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"win.fullscreen"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
903
904 <span class="normal">  status </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#g-application-run">g_application_run</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bloat_pad</span><span class="symbol">),</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> argv</span><span class="symbol">);</span>
905
906 <span class="normal">  </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bloat_pad</span><span class="symbol">);</span>
907
908 <span class="normal">  </span><span class="keyword">return</span><span class="normal"> status</span><span class="symbol">;</span>
909 <span class="cbracket">}</span></pre></td>
910       </tr>
911     </tbody>
912   </table>
913 </div>
914
915 </div>
916 <p><br class="example-break">
917 </p>
918 <p>
919 GtkApplication optionally registers with a session manager
920 of the users session (if you set the <a class="link" href="GtkApplication.html#GtkApplication--register-session" title='The "register-session" property'><span class="type">"register-session"</span></a>
921 property) and offers various functionality related to the session
922 life-cycle.
923 </p>
924 <p>
925 An application can block various ways to end the session with
926 the <a class="link" href="GtkApplication.html#gtk-application-inhibit" title="gtk_application_inhibit ()"><code class="function">gtk_application_inhibit()</code></a> function. Typical use cases for
927 this kind of inhibiting are long-running, uninterruptible operations,
928 such as burning a CD or performing a disk backup. The session
929 manager may not honor the inhibitor, but it can be expected to
930 inform the user about the negative consequences of ending the
931 session while inhibitors are present.
932 </p>
933 </div>
934 <div class="refsect1">
935 <a name="GtkApplication.details"></a><h2>Details</h2>
936 <div class="refsect2">
937 <a name="GtkApplication-struct"></a><h3>struct GtkApplication</h3>
938 <pre class="programlisting">struct GtkApplication;</pre>
939 </div>
940 <hr>
941 <div class="refsect2">
942 <a name="gtk-application-new"></a><h3>gtk_application_new ()</h3>
943 <pre class="programlisting"><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="returnvalue">GtkApplication</span></a> *    gtk_application_new                 (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *application_id</code></em>,
944                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#GApplicationFlags"><span class="type">GApplicationFlags</span></a> flags</code></em>);</pre>
945 <p>
946 Creates a new <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> instance.
947 </p>
948 <p>
949 This function calls <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#g-type-init"><code class="function">g_type_init()</code></a> for you. <a class="link" href="gtk3-General.html#gtk-init" title="gtk_init ()"><code class="function">gtk_init()</code></a> is called
950 as soon as the application gets registered as the primary instance.
951 </p>
952 <p>
953 Concretely, <a class="link" href="gtk3-General.html#gtk-init" title="gtk_init ()"><code class="function">gtk_init()</code></a> is called in the default handler for the
954 <code class="function">startup()</code> signal. Therefore, <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> subclasses should
955 chain up in their <code class="function">startup()</code> handler before using any GTK+ API.
956 </p>
957 <p>
958 Note that commandline arguments are not passed to <a class="link" href="gtk3-General.html#gtk-init" title="gtk_init ()"><code class="function">gtk_init()</code></a>.
959 All GTK+ functionality that is available via commandline arguments
960 can also be achieved by setting suitable environment variables
961 such as <code class="envar">G_DEBUG</code>, so this should not be a big
962 problem. If you absolutely must support GTK+ commandline arguments,
963 you can explicitly call <a class="link" href="gtk3-General.html#gtk-init" title="gtk_init ()"><code class="function">gtk_init()</code></a> before creating the application
964 instance.
965 </p>
966 <p>
967 The application id must be valid. See <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html#g-application-id-is-valid"><code class="function">g_application_id_is_valid()</code></a>.
968 </p>
969 <div class="variablelist"><table border="0">
970 <col align="left" valign="top">
971 <tbody>
972 <tr>
973 <td><p><span class="term"><em class="parameter"><code>application_id</code></em> :</span></p></td>
974 <td>the application id</td>
975 </tr>
976 <tr>
977 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
978 <td>the application flags</td>
979 </tr>
980 <tr>
981 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
982 <td>a new <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> instance</td>
983 </tr>
984 </tbody>
985 </table></div>
986 <p class="since">Since 3.0</p>
987 </div>
988 <hr>
989 <div class="refsect2">
990 <a name="gtk-application-add-window"></a><h3>gtk_application_add_window ()</h3>
991 <pre class="programlisting"><span class="returnvalue">void</span>                gtk_application_add_window          (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
992                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>);</pre>
993 <p>
994 Adds a window from <em class="parameter"><code>application</code></em>.
995 </p>
996 <p>
997 This call is equivalent to setting the <a class="link" href="GtkWindow.html#GtkWindow--application" title='The "application" property'><span class="type">"application"</span></a>
998 property of <em class="parameter"><code>window</code></em> to <em class="parameter"><code>application</code></em>.
999 </p>
1000 <p>
1001 Normally, the connection between the application and the window
1002 will remain until the window is destroyed, but you can explicitly
1003 remove it with <a class="link" href="GtkApplication.html#gtk-application-remove-window" title="gtk_application_remove_window ()"><code class="function">gtk_application_remove_window()</code></a>.
1004 </p>
1005 <p>
1006 GTK+ will keep the application running as long as it has
1007 any windows.
1008 </p>
1009 <div class="variablelist"><table border="0">
1010 <col align="left" valign="top">
1011 <tbody>
1012 <tr>
1013 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1014 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1015 </td>
1016 </tr>
1017 <tr>
1018 <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
1019 <td>a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>
1020 </td>
1021 </tr>
1022 </tbody>
1023 </table></div>
1024 <p class="since">Since 3.0</p>
1025 </div>
1026 <hr>
1027 <div class="refsect2">
1028 <a name="gtk-application-remove-window"></a><h3>gtk_application_remove_window ()</h3>
1029 <pre class="programlisting"><span class="returnvalue">void</span>                gtk_application_remove_window       (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1030                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>);</pre>
1031 <p>
1032 Remove a window from <em class="parameter"><code>application</code></em>.
1033 </p>
1034 <p>
1035 If <em class="parameter"><code>window</code></em> belongs to <em class="parameter"><code>application</code></em> then this call is equivalent to
1036 setting the <a class="link" href="GtkWindow.html#GtkWindow--application" title='The "application" property'><span class="type">"application"</span></a> property of <em class="parameter"><code>window</code></em> to
1037 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1038 </p>
1039 <p>
1040 The application may stop running as a result of a call to this
1041 function.
1042 </p>
1043 <div class="variablelist"><table border="0">
1044 <col align="left" valign="top">
1045 <tbody>
1046 <tr>
1047 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1048 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1049 </td>
1050 </tr>
1051 <tr>
1052 <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
1053 <td>a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>
1054 </td>
1055 </tr>
1056 </tbody>
1057 </table></div>
1058 <p class="since">Since 3.0</p>
1059 </div>
1060 <hr>
1061 <div class="refsect2">
1062 <a name="gtk-application-get-windows"></a><h3>gtk_application_get_windows ()</h3>
1063 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             gtk_application_get_windows         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);</pre>
1064 <p>
1065 Gets a list of the <a href="GtkWindow.html"><span class="type">GtkWindows</span></a> associated with <em class="parameter"><code>application</code></em>.
1066 </p>
1067 <p>
1068 The list is sorted by most recently focused window, such that the first
1069 element is the currently focused window. (Useful for choosing a parent
1070 for a transient window.)
1071 </p>
1072 <p>
1073 The list that is returned should not be modified in any way. It will
1074 only remain valid until the next focus change or window creation or
1075 deletion.
1076 </p>
1077 <div class="variablelist"><table border="0">
1078 <col align="left" valign="top">
1079 <tbody>
1080 <tr>
1081 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1082 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1083 </td>
1084 </tr>
1085 <tr>
1086 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1087 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkWindow][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1088 </td>
1089 </tr>
1090 </tbody>
1091 </table></div>
1092 <p class="since">Since 3.0</p>
1093 </div>
1094 <hr>
1095 <div class="refsect2">
1096 <a name="GtkApplicationInhibitFlags"></a><h3>enum GtkApplicationInhibitFlags</h3>
1097 <pre class="programlisting">typedef enum {
1098   GTK_APPLICATION_INHIBIT_LOGOUT  = (1 &lt;&lt; 0),
1099   GTK_APPLICATION_INHIBIT_SWITCH  = (1 &lt;&lt; 1),
1100   GTK_APPLICATION_INHIBIT_SUSPEND = (1 &lt;&lt; 2),
1101   GTK_APPLICATION_INHIBIT_IDLE    = (1 &lt;&lt; 3)
1102 } GtkApplicationInhibitFlags;
1103 </pre>
1104 <p>
1105 Types of user actions that may be blocked by <a class="link" href="GtkApplication.html#gtk-application-inhibit" title="gtk_application_inhibit ()"><code class="function">gtk_application_inhibit()</code></a>.
1106 </p>
1107 <div class="variablelist"><table border="0">
1108 <col align="left" valign="top">
1109 <tbody>
1110 <tr>
1111 <td><p><a name="GTK-APPLICATION-INHIBIT-LOGOUT:CAPS"></a><span class="term"><code class="literal">GTK_APPLICATION_INHIBIT_LOGOUT</code></span></p></td>
1112 <td>Inhibit ending the user session
1113     by logging out or by shutting down the computer
1114 </td>
1115 </tr>
1116 <tr>
1117 <td><p><a name="GTK-APPLICATION-INHIBIT-SWITCH:CAPS"></a><span class="term"><code class="literal">GTK_APPLICATION_INHIBIT_SWITCH</code></span></p></td>
1118 <td>Inhibit user switching
1119 </td>
1120 </tr>
1121 <tr>
1122 <td><p><a name="GTK-APPLICATION-INHIBIT-SUSPEND:CAPS"></a><span class="term"><code class="literal">GTK_APPLICATION_INHIBIT_SUSPEND</code></span></p></td>
1123 <td>Inhibit suspending the
1124     session or computer
1125 </td>
1126 </tr>
1127 <tr>
1128 <td><p><a name="GTK-APPLICATION-INHIBIT-IDLE:CAPS"></a><span class="term"><code class="literal">GTK_APPLICATION_INHIBIT_IDLE</code></span></p></td>
1129 <td>Inhibit the session being
1130     marked as idle (and possibly locked)
1131 </td>
1132 </tr>
1133 </tbody>
1134 </table></div>
1135 <p class="since">Since 3.4</p>
1136 </div>
1137 <hr>
1138 <div class="refsect2">
1139 <a name="gtk-application-inhibit"></a><h3>gtk_application_inhibit ()</h3>
1140 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               gtk_application_inhibit             (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1141                                                          <em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>,
1142                                                          <em class="parameter"><code><a class="link" href="GtkApplication.html#GtkApplicationInhibitFlags" title="enum GtkApplicationInhibitFlags"><span class="type">GtkApplicationInhibitFlags</span></a> flags</code></em>,
1143                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reason</code></em>);</pre>
1144 <p>
1145 Inform the session manager that certain types of actions should be
1146 inhibited. This is not guaranteed to work on all platforms and for
1147 all types of actions.
1148 </p>
1149 <p>
1150 Applications should invoke this method when they begin an operation
1151 that should not be interrupted, such as creating a CD or DVD. The
1152 types of actions that may be blocked are specified by the <em class="parameter"><code>flags</code></em>
1153 parameter. When the application completes the operation it should
1154 call <code class="function">g_application_uninhibit()</code> to remove the inhibitor. Note that
1155 an application can have multiple inhibitors, and all of the must
1156 be individually removed. Inhibitors are also cleared when the
1157 application exits.
1158 </p>
1159 <p>
1160 Applications should not expect that they will always be able to block
1161 the action. In most cases, users will be given the option to force
1162 the action to take place.
1163 </p>
1164 <p>
1165 Reasons should be short and to the point.
1166 </p>
1167 <p>
1168 If <em class="parameter"><code>window</code></em> is given, the session manager may point the user to
1169 this window to find out more about why the action is inhibited.
1170 </p>
1171 <div class="variablelist"><table border="0">
1172 <col align="left" valign="top">
1173 <tbody>
1174 <tr>
1175 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1176 <td>the <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html"><span class="type">GApplication</span></a>
1177 </td>
1178 </tr>
1179 <tr>
1180 <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
1181 <td>a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1182 </td>
1183 </tr>
1184 <tr>
1185 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
1186 <td>what types of actions should be inhibited</td>
1187 </tr>
1188 <tr>
1189 <td><p><span class="term"><em class="parameter"><code>reason</code></em> :</span></p></td>
1190 <td>a short, human-readable string that explains
1191 why these operations are inhibited. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1192 </td>
1193 </tr>
1194 <tr>
1195 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1196 <td>A non-zero cookie that is used to uniquely identify this
1197 request. It should be used as an argument to <code class="function">g_application_uninhibit()</code>
1198 in order to remove the request. If the platform does not support
1199 inhibiting or the request failed for some reason, 0 is returned.</td>
1200 </tr>
1201 </tbody>
1202 </table></div>
1203 <p class="since">Since 3.4</p>
1204 </div>
1205 <hr>
1206 <div class="refsect2">
1207 <a name="gtk-application-uninhibit"></a><h3>gtk_application_uninhibit ()</h3>
1208 <pre class="programlisting"><span class="returnvalue">void</span>                gtk_application_uninhibit           (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1209                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> cookie</code></em>);</pre>
1210 <p>
1211 Removes an inhibitor that has been established with <code class="function">g_application_inhibit()</code>.
1212 Inhibitors are also cleared when the application exits.
1213 </p>
1214 <div class="variablelist"><table border="0">
1215 <col align="left" valign="top">
1216 <tbody>
1217 <tr>
1218 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1219 <td>the <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html"><span class="type">GApplication</span></a>
1220 </td>
1221 </tr>
1222 <tr>
1223 <td><p><span class="term"><em class="parameter"><code>cookie</code></em> :</span></p></td>
1224 <td>a cookie that was returned by <code class="function">g_application_inhibit()</code>
1225 </td>
1226 </tr>
1227 </tbody>
1228 </table></div>
1229 <p class="since">Since 3.4</p>
1230 </div>
1231 <hr>
1232 <div class="refsect2">
1233 <a name="gtk-application-is-inhibited"></a><h3>gtk_application_is_inhibited ()</h3>
1234 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_application_is_inhibited        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1235                                                          <em class="parameter"><code><a class="link" href="GtkApplication.html#GtkApplicationInhibitFlags" title="enum GtkApplicationInhibitFlags"><span class="type">GtkApplicationInhibitFlags</span></a> flags</code></em>);</pre>
1236 <p>
1237 Determines if any of the actions specified in <em class="parameter"><code>flags</code></em> are
1238 currently inhibited (possibly by another application).
1239 </p>
1240 <div class="variablelist"><table border="0">
1241 <col align="left" valign="top">
1242 <tbody>
1243 <tr>
1244 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1245 <td>the <a href="http://library.gnome.org/devel/gio/unstable/GApplication.html"><span class="type">GApplication</span></a>
1246 </td>
1247 </tr>
1248 <tr>
1249 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
1250 <td>what types of actions should be queried</td>
1251 </tr>
1252 <tr>
1253 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1254 <td>
1255 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if any of the actions specified in <em class="parameter"><code>flags</code></em> are inhibited</td>
1256 </tr>
1257 </tbody>
1258 </table></div>
1259 <p class="since">Since 3.4</p>
1260 </div>
1261 <hr>
1262 <div class="refsect2">
1263 <a name="gtk-application-get-app-menu"></a><h3>gtk_application_get_app_menu ()</h3>
1264 <pre class="programlisting"><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="returnvalue">GMenuModel</span></a> *        gtk_application_get_app_menu        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);</pre>
1265 <p>
1266 Returns the menu model that has been set with
1267 <a class="link" href="GtkApplication.html#gtk-application-set-app-menu" title="gtk_application_set_app_menu ()"><code class="function">gtk_application_set_app_menu()</code></a>.
1268 </p>
1269 <div class="variablelist"><table border="0">
1270 <col align="left" valign="top">
1271 <tbody>
1272 <tr>
1273 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1274 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1275 </td>
1276 </tr>
1277 <tr>
1278 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1279 <td>the application menu of <em class="parameter"><code>application</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1280 </td>
1281 </tr>
1282 </tbody>
1283 </table></div>
1284 <p class="since">Since 3.4</p>
1285 </div>
1286 <hr>
1287 <div class="refsect2">
1288 <a name="gtk-application-set-app-menu"></a><h3>gtk_application_set_app_menu ()</h3>
1289 <pre class="programlisting"><span class="returnvalue">void</span>                gtk_application_set_app_menu        (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1290                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a> *app_menu</code></em>);</pre>
1291 <p>
1292 Sets or unsets the application menu for <em class="parameter"><code>application</code></em>.
1293 </p>
1294 <p>
1295 The application menu is a single menu containing items that typically
1296 impact the application as a whole, rather than acting on a specific
1297 window or document.  For example, you would expect to see
1298 "Preferences" or "Quit" in an application menu, but not "Save" or
1299 "Print".
1300 </p>
1301 <p>
1302 If supported, the application menu will be rendered by the desktop
1303 environment.
1304 </p>
1305 <p>
1306 Use the base <a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html"><span class="type">GActionMap</span></a> interface to add actions, to respond to the user
1307 selecting these menu items.
1308 </p>
1309 <div class="variablelist"><table border="0">
1310 <col align="left" valign="top">
1311 <tbody>
1312 <tr>
1313 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1314 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1315 </td>
1316 </tr>
1317 <tr>
1318 <td><p><span class="term"><em class="parameter"><code>app_menu</code></em> :</span></p></td>
1319 <td>a <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1320 </td>
1321 </tr>
1322 </tbody>
1323 </table></div>
1324 <p class="since">Since 3.4</p>
1325 </div>
1326 <hr>
1327 <div class="refsect2">
1328 <a name="gtk-application-get-menubar"></a><h3>gtk_application_get_menubar ()</h3>
1329 <pre class="programlisting"><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="returnvalue">GMenuModel</span></a> *        gtk_application_get_menubar         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>);</pre>
1330 <p>
1331 Returns the menu model that has been set with
1332 <a class="link" href="GtkApplication.html#gtk-application-set-menubar" title="gtk_application_set_menubar ()"><code class="function">gtk_application_set_menubar()</code></a>.
1333 </p>
1334 <div class="variablelist"><table border="0">
1335 <col align="left" valign="top">
1336 <tbody>
1337 <tr>
1338 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1339 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1340 </td>
1341 </tr>
1342 <tr>
1343 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1344 <td>the menubar for windows of <em class="parameter"><code>application</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1345 </td>
1346 </tr>
1347 </tbody>
1348 </table></div>
1349 <p class="since">Since 3.4</p>
1350 </div>
1351 <hr>
1352 <div class="refsect2">
1353 <a name="gtk-application-set-menubar"></a><h3>gtk_application_set_menubar ()</h3>
1354 <pre class="programlisting"><span class="returnvalue">void</span>                gtk_application_set_menubar         (<em class="parameter"><code><a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application</code></em>,
1355                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a> *menubar</code></em>);</pre>
1356 <p>
1357 Sets or unsets the menubar for windows of <em class="parameter"><code>application</code></em>.
1358 </p>
1359 <p>
1360 This is a menubar in the traditional sense.
1361 </p>
1362 <p>
1363 Depending on the desktop environment, this may appear at the top of
1364 each window, or at the top of the screen.  In some environments, if
1365 both the application menu and the menubar are set, the application
1366 menu will be presented as if it were the first item of the menubar.
1367 Other environments treat the two as completely separate -- for
1368 example, the application menu may be rendered by the desktop shell
1369 while the menubar (if set) remains in each individual window.
1370 </p>
1371 <p>
1372 Use the base <a href="http://library.gnome.org/devel/gio/unstable/GActionMap.html"><span class="type">GActionMap</span></a> interface to add actions, to respond to the user
1373 selecting these menu items.
1374 </p>
1375 <div class="variablelist"><table border="0">
1376 <col align="left" valign="top">
1377 <tbody>
1378 <tr>
1379 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1380 <td>a <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>
1381 </td>
1382 </tr>
1383 <tr>
1384 <td><p><span class="term"><em class="parameter"><code>menubar</code></em> :</span></p></td>
1385 <td>a <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1386 </td>
1387 </tr>
1388 </tbody>
1389 </table></div>
1390 <p class="since">Since 3.4</p>
1391 </div>
1392 </div>
1393 <div class="refsect1">
1394 <a name="GtkApplication.property-details"></a><h2>Property Details</h2>
1395 <div class="refsect2">
1396 <a name="GtkApplication--app-menu"></a><h3>The <code class="literal">"app-menu"</code> property</h3>
1397 <pre class="programlisting">  "app-menu"                 <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>*           : Read / Write</pre>
1398 <p>The GMenuModel for the application menu.</p>
1399 </div>
1400 <hr>
1401 <div class="refsect2">
1402 <a name="GtkApplication--menubar"></a><h3>The <code class="literal">"menubar"</code> property</h3>
1403 <pre class="programlisting">  "menubar"                  <a href="http://library.gnome.org/devel/gio/unstable/GMenuModel.html"><span class="type">GMenuModel</span></a>*           : Read / Write</pre>
1404 <p>The GMenuModel for the menubar.</p>
1405 </div>
1406 <hr>
1407 <div class="refsect2">
1408 <a name="GtkApplication--register-session"></a><h3>The <code class="literal">"register-session"</code> property</h3>
1409 <pre class="programlisting">  "register-session"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
1410 <p>
1411 Set this property to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to register with the session manager.
1412 </p>
1413 <p>Default value: FALSE</p>
1414 <p class="since">Since 3.4</p>
1415 </div>
1416 </div>
1417 <div class="refsect1">
1418 <a name="GtkApplication.signal-details"></a><h2>Signal Details</h2>
1419 <div class="refsect2">
1420 <a name="GtkApplication-window-added"></a><h3>The <code class="literal">"window-added"</code> signal</h3>
1421 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application,
1422                                                         <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>      *window,
1423                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
1424 <p>
1425 Emitted when a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> is added to <em class="parameter"><code>application</code></em> through
1426 <a class="link" href="GtkApplication.html#gtk-application-add-window" title="gtk_application_add_window ()"><code class="function">gtk_application_add_window()</code></a>.
1427 </p>
1428 <div class="variablelist"><table border="0">
1429 <col align="left" valign="top">
1430 <tbody>
1431 <tr>
1432 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1433 <td>the <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> which emitted the signal</td>
1434 </tr>
1435 <tr>
1436 <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
1437 <td>the newly-added <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>
1438 </td>
1439 </tr>
1440 <tr>
1441 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1442 <td>user data set when the signal handler was connected.</td>
1443 </tr>
1444 </tbody>
1445 </table></div>
1446 <p class="since">Since 3.2</p>
1447 </div>
1448 <hr>
1449 <div class="refsect2">
1450 <a name="GtkApplication-window-removed"></a><h3>The <code class="literal">"window-removed"</code> signal</h3>
1451 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> *application,
1452                                                         <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>      *window,
1453                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
1454 <p>
1455 Emitted when a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> is removed from <em class="parameter"><code>application</code></em>,
1456 either as a side-effect of being destroyed or explicitly
1457 through <a class="link" href="GtkApplication.html#gtk-application-remove-window" title="gtk_application_remove_window ()"><code class="function">gtk_application_remove_window()</code></a>.
1458 </p>
1459 <div class="variablelist"><table border="0">
1460 <col align="left" valign="top">
1461 <tbody>
1462 <tr>
1463 <td><p><span class="term"><em class="parameter"><code>application</code></em> :</span></p></td>
1464 <td>the <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a> which emitted the signal</td>
1465 </tr>
1466 <tr>
1467 <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
1468 <td>the <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> that is being removed</td>
1469 </tr>
1470 <tr>
1471 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1472 <td>user data set when the signal handler was connected.</td>
1473 </tr>
1474 </tbody>
1475 </table></div>
1476 <p class="since">Since 3.2</p>
1477 </div>
1478 </div>
1479 </div>
1480 <div class="footer">
1481 <hr>
1482           Generated by GTK-Doc V1.18</div>
1483 </body>
1484 </html>