Tizen 2.1 base
[platform/upstream/glib2.0.git] / docs / reference / glib / tmpl / keyfile.sgml
1 <!-- ##### SECTION Title ##### -->
2 Key-value file parser
3
4 <!-- ##### SECTION Short_Description ##### -->
5 parses <filename>.ini</filename>-like config files
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 #GKeyFile lets you parse, edit or create files containing groups of
10 key-value pairs, which we call <firstterm>key files</firstterm> for 
11 lack of a better name. Several freedesktop.org specifications use
12 key files now, e.g the 
13 <ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
14 Entry Specification</ulink> and the
15 <ulink url="http://freedesktop.org/Standards/icon-theme-spec">Icon
16 Theme Specification</ulink>. 
17 </para>
18
19 <para>
20 The syntax of key files is described in detail in the 
21 <ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
22 Entry Specification</ulink>, here is a quick summary: Key files
23 consists of groups of key-value pairs, interspersed with comments.
24 </para>
25
26 <informalexample><programlisting>
27 # this is just an example
28 # there can be comments before the first group
29
30 [First Group]
31
32 Name=Key File Example\tthis value shows\nescaping
33
34 # localized strings are stored in multiple key-value pairs
35 Welcome=Hello
36 Welcome[de]=Hallo
37 Welcome[fr_FR]=Bonjour
38 Welcome[it]=Ciao
39 Welcome[be@latin]=Hello
40
41 [Another Group]
42
43 Numbers=2;20;-200;0
44
45 Booleans=true;false;true;true
46
47 </programlisting></informalexample>
48
49 <para>
50 Lines beginning with a '#' and blank lines are considered comments.
51 </para>
52
53 <para>
54 Groups are started by a header line containing the group name enclosed
55 in '[' and ']', and ended implicitly by the start of the next group or
56 the end of the file. Each key-value pair must be contained in a group.
57 </para>
58
59 <para>
60 Key-value pairs generally have the form <literal>key=value</literal>, 
61 with the exception of localized strings, which have the form 
62 <literal>key[locale]=value</literal>, with a locale identifier of the form
63 <literal>lang_COUNTRY@MODIFIER</literal> where <literal>COUNTRY</literal> and 
64 <literal>MODIFIER</literal> are optional. Space before and after the 
65 '=' character are ignored. Newline, tab, carriage return and backslash 
66 characters in value are escaped as \n, \t, \r, and \\, respectively. 
67 To preserve leading spaces in values, these can also be escaped as \s.
68 </para>
69
70 <para>
71 Key files can store strings (possibly with localized variants), integers,
72 booleans and lists of these. Lists are separated by a separator character,
73 typically ';' or ','. To use the list separator character in a value in
74 a list, it has to be escaped by prefixing it with a backslash.
75 </para>
76
77 <para>
78 This syntax is obviously inspired by the <filename>.ini</filename> 
79 files commonly met on Windows, but there are some important differences:
80 <itemizedlist>
81 <listitem><para>
82 <filename>.ini</filename> files use the ';' character to begin comments,
83  key files use the '#' character.
84 </para></listitem>
85 <listitem><para>
86 Key files do not allow for ungrouped keys meaning only comments can precede the first group.
87 </para></listitem>
88 <listitem><para>
89 Key files are always encoded in UTF-8.
90 </para></listitem>
91 <listitem><para>
92 Key and Group names are case-sensitive, for example a group called
93 <literal>[GROUP]</literal> is a different group from <literal>[group]</literal>.
94 </para></listitem>
95 <listitem><para>
96 <filename>.ini</filename> files don't have a strongly typed boolean entry type, they only
97 have <literal>GetProfileInt</literal>. In <structname>GKeyFile</structname> only
98 <literal>true</literal> and <literal>false</literal> (in lower case) are allowed.
99 </para></listitem>
100 </itemizedlist>
101 </para>
102
103 <para>
104 Note that in contrast to the
105 <ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
106 Entry Specification</ulink>, groups in key files may contain the same
107 key multiple times; the last entry wins. Key files may also contain
108 multiple groups with the same name; they are merged together.
109 Another difference is that keys and group names in key files are not
110 restricted to ASCII characters.
111 </para>
112
113 <!-- ##### SECTION See_Also ##### -->
114 <para>
115
116 </para>
117
118 <!-- ##### SECTION Stability_Level ##### -->
119
120
121 <!-- ##### STRUCT GKeyFile ##### -->
122 <para>
123 The <structname>GKeyFile</structname> struct contains only private fields
124 and should not be used directly.
125 </para>
126
127
128 <!-- ##### MACRO G_KEY_FILE_ERROR ##### -->
129 <para>
130 Error domain for key file parsing. Errors in this domain will
131 be from the #GKeyFileError enumeration. See #GError for information on 
132 error domains.
133 </para>
134
135
136
137 <!-- ##### ENUM GKeyFileError ##### -->
138 <para>
139 Error codes returned by key file parsing.
140 </para>
141
142 @G_KEY_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was in an unknown encoding
143 @G_KEY_FILE_ERROR_PARSE: document was ill-formed
144 @G_KEY_FILE_ERROR_NOT_FOUND: the file was not found
145 @G_KEY_FILE_ERROR_KEY_NOT_FOUND: a requested key was not found
146 @G_KEY_FILE_ERROR_GROUP_NOT_FOUND: a requested group was not found
147 @G_KEY_FILE_ERROR_INVALID_VALUE: a value could not be parsed
148
149 <!-- ##### ENUM GKeyFileFlags ##### -->
150 <para>
151 Flags which influence the parsing.
152 </para>
153
154 @G_KEY_FILE_NONE: No flags, default behaviour
155 @G_KEY_FILE_KEEP_COMMENTS: Use this flag if you plan to write the (possibly modified)
156   contents of the key file back to a file; otherwise all comments will be lost when
157   the key file is written back.
158 @G_KEY_FILE_KEEP_TRANSLATIONS: Use this flag if you plan to write the (possibly modified)
159   contents of the key file back to a file; otherwise only the translations for the current
160   language will be written back.
161
162 <!-- ##### FUNCTION g_key_file_new ##### -->
163 <para>
164
165 </para>
166
167 @Returns: 
168
169
170 <!-- ##### FUNCTION g_key_file_free ##### -->
171 <para>
172
173 </para>
174
175 @key_file: 
176
177
178 <!-- ##### FUNCTION g_key_file_set_list_separator ##### -->
179 <para>
180
181 </para>
182
183 @key_file: 
184 @separator: 
185
186
187 <!-- ##### FUNCTION g_key_file_load_from_file ##### -->
188 <para>
189
190 </para>
191
192 @key_file: 
193 @file: 
194 @flags: 
195 @error: 
196 @Returns: 
197
198
199 <!-- ##### FUNCTION g_key_file_load_from_data ##### -->
200 <para>
201
202 </para>
203
204 @key_file: 
205 @data: 
206 @length: 
207 @flags: 
208 @error: 
209 @Returns: 
210
211
212 <!-- ##### FUNCTION g_key_file_load_from_data_dirs ##### -->
213 <para>
214
215 </para>
216
217 @key_file: 
218 @file: 
219 @full_path: 
220 @flags: 
221 @error: 
222 @Returns: 
223
224
225 <!-- ##### FUNCTION g_key_file_load_from_dirs ##### -->
226 <para>
227
228 </para>
229
230 @key_file: 
231 @file: 
232 @search_dirs: 
233 @full_path: 
234 @flags: 
235 @error: 
236 @Returns: 
237
238
239 <!-- ##### FUNCTION g_key_file_to_data ##### -->
240 <para>
241
242 </para>
243
244 @key_file: 
245 @length: 
246 @error: 
247 @Returns: 
248
249
250 <!-- ##### FUNCTION g_key_file_get_start_group ##### -->
251 <para>
252
253 </para>
254
255 @key_file: 
256 @Returns: 
257
258
259 <!-- ##### FUNCTION g_key_file_get_groups ##### -->
260 <para>
261
262 </para>
263
264 @key_file: 
265 @length: 
266 @Returns: 
267
268
269 <!-- ##### FUNCTION g_key_file_get_keys ##### -->
270 <para>
271
272 </para>
273
274 @key_file: 
275 @group_name: 
276 @length: 
277 @error: 
278 @Returns: 
279
280
281 <!-- ##### FUNCTION g_key_file_has_group ##### -->
282 <para>
283
284 </para>
285
286 @key_file: 
287 @group_name: 
288 @Returns: 
289
290
291 <!-- ##### FUNCTION g_key_file_has_key ##### -->
292 <para>
293
294 </para>
295
296 @key_file: 
297 @group_name: 
298 @key: 
299 @error: 
300 @Returns: 
301
302
303 <!-- ##### FUNCTION g_key_file_get_value ##### -->
304 <para>
305
306 </para>
307
308 @key_file: 
309 @group_name: 
310 @key: 
311 @error: 
312 @Returns: 
313
314
315 <!-- ##### FUNCTION g_key_file_get_string ##### -->
316 <para>
317
318 </para>
319
320 @key_file: 
321 @group_name: 
322 @key: 
323 @error: 
324 @Returns: 
325
326
327 <!-- ##### FUNCTION g_key_file_get_locale_string ##### -->
328 <para>
329
330 </para>
331
332 @key_file: 
333 @group_name: 
334 @key: 
335 @locale: 
336 @error: 
337 @Returns: 
338
339
340 <!-- ##### FUNCTION g_key_file_get_boolean ##### -->
341 <para>
342
343 </para>
344
345 @key_file: 
346 @group_name: 
347 @key: 
348 @error: 
349 @Returns: 
350
351
352 <!-- ##### FUNCTION g_key_file_get_integer ##### -->
353 <para>
354
355 </para>
356
357 @key_file: 
358 @group_name: 
359 @key: 
360 @error: 
361 @Returns: 
362
363
364 <!-- ##### FUNCTION g_key_file_get_double ##### -->
365 <para>
366
367 </para>
368
369 @key_file: 
370 @group_name: 
371 @key: 
372 @error: 
373 @Returns: 
374
375
376 <!-- ##### FUNCTION g_key_file_get_string_list ##### -->
377 <para>
378
379 </para>
380
381 @key_file: 
382 @group_name: 
383 @key: 
384 @length: 
385 @error: 
386 @Returns: 
387
388
389 <!-- ##### FUNCTION g_key_file_get_locale_string_list ##### -->
390 <para>
391
392 </para>
393
394 @key_file: 
395 @group_name: 
396 @key: 
397 @locale: 
398 @length: 
399 @error: 
400 @Returns: 
401
402
403 <!-- ##### FUNCTION g_key_file_get_boolean_list ##### -->
404 <para>
405
406 </para>
407
408 @key_file: 
409 @group_name: 
410 @key: 
411 @length: 
412 @error: 
413 @Returns: 
414
415
416 <!-- ##### FUNCTION g_key_file_get_integer_list ##### -->
417 <para>
418
419 </para>
420
421 @key_file: 
422 @group_name: 
423 @key: 
424 @length: 
425 @error: 
426 @Returns: 
427
428
429 <!-- ##### FUNCTION g_key_file_get_double_list ##### -->
430 <para>
431
432 </para>
433
434 @key_file: 
435 @group_name: 
436 @key: 
437 @length: 
438 @error: 
439 @Returns: 
440
441
442 <!-- ##### FUNCTION g_key_file_get_comment ##### -->
443 <para>
444
445 </para>
446
447 @key_file: 
448 @group_name: 
449 @key: 
450 @error: 
451 @Returns: 
452
453
454 <!-- ##### FUNCTION g_key_file_set_value ##### -->
455 <para>
456
457 </para>
458
459 @key_file: 
460 @group_name: 
461 @key: 
462 @value: 
463
464
465 <!-- ##### FUNCTION g_key_file_set_string ##### -->
466 <para>
467
468 </para>
469
470 @key_file: 
471 @group_name: 
472 @key: 
473 @string: 
474
475
476 <!-- ##### FUNCTION g_key_file_set_locale_string ##### -->
477 <para>
478
479 </para>
480
481 @key_file: 
482 @group_name: 
483 @key: 
484 @locale: 
485 @string: 
486
487
488 <!-- ##### FUNCTION g_key_file_set_boolean ##### -->
489 <para>
490
491 </para>
492
493 @key_file: 
494 @group_name: 
495 @key: 
496 @value: 
497
498
499 <!-- ##### FUNCTION g_key_file_set_integer ##### -->
500 <para>
501
502 </para>
503
504 @key_file: 
505 @group_name: 
506 @key: 
507 @value: 
508
509
510 <!-- ##### FUNCTION g_key_file_set_double ##### -->
511 <para>
512
513 </para>
514
515 @key_file: 
516 @group_name: 
517 @key: 
518 @value: 
519
520
521 <!-- ##### FUNCTION g_key_file_set_string_list ##### -->
522 <para>
523
524 </para>
525
526 @key_file: 
527 @group_name: 
528 @key: 
529 @list: 
530 @length: 
531
532
533 <!-- ##### FUNCTION g_key_file_set_locale_string_list ##### -->
534 <para>
535
536 </para>
537
538 @key_file: 
539 @group_name: 
540 @key: 
541 @locale: 
542 @list: 
543 @length: 
544
545
546 <!-- ##### FUNCTION g_key_file_set_boolean_list ##### -->
547 <para>
548
549 </para>
550
551 @key_file: 
552 @group_name: 
553 @key: 
554 @list: 
555 @length: 
556
557
558 <!-- ##### FUNCTION g_key_file_set_integer_list ##### -->
559 <para>
560
561 </para>
562
563 @key_file: 
564 @group_name: 
565 @key: 
566 @list: 
567 @length: 
568
569
570 <!-- ##### FUNCTION g_key_file_set_double_list ##### -->
571 <para>
572
573 </para>
574
575 @key_file: 
576 @group_name: 
577 @key: 
578 @list: 
579 @length: 
580
581
582 <!-- ##### FUNCTION g_key_file_set_comment ##### -->
583 <para>
584
585 </para>
586
587 @key_file: 
588 @group_name: 
589 @key: 
590 @comment: 
591 @error: 
592 @Returns: 
593
594
595 <!-- ##### FUNCTION g_key_file_remove_group ##### -->
596 <para>
597
598 </para>
599
600 @key_file: 
601 @group_name: 
602 @error: 
603 @Returns: 
604
605
606 <!-- ##### FUNCTION g_key_file_remove_key ##### -->
607 <para>
608
609 </para>
610
611 @key_file: 
612 @group_name: 
613 @key: 
614 @error: 
615 @Returns: 
616
617
618 <!-- ##### FUNCTION g_key_file_remove_comment ##### -->
619 <para>
620
621 </para>
622
623 @key_file: 
624 @group_name: 
625 @key: 
626 @error: 
627 @Returns: 
628
629
630 <!-- ##### MACRO G_KEY_FILE_DESKTOP_GROUP ##### -->
631 <para>
632 The name of the main group of a desktop entry file, as defined in the
633 <ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
634 Entry Specification</ulink>. Consult the specification for more
635 details about the meanings of the keys below.
636 </para>
637
638 @Since: 2.14
639
640
641 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TYPE ##### -->
642 <para>
643 A key under <link
644 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
645 whose value is a string giving the type of the desktop entry. Usually
646 <link linkend="G-KEY-FILE-DESKTOP-TYPE-APPLICATION:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_APPLICATION</literal></link>,
647 <link linkend="G-KEY-FILE-DESKTOP-TYPE-LINK:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_LINK</literal></link>, or
648 <link linkend="G-KEY-FILE-DESKTOP-TYPE-DIRECTORY:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_DIRECTORY</literal></link>.
649 </para>
650
651 @Since: 2.14
652
653
654 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_VERSION ##### -->
655 <para>
656 A key under <link
657 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
658 whose value is a string giving the version of the Desktop
659 Entry Specification used for the desktop entry file.
660 </para>
661
662 @Since: 2.14
663
664
665 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NAME ##### -->
666 <para>
667 A key under <link
668 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
669 whose value is a localized string giving the specific name of the
670 desktop entry.
671 </para>
672
673 @Since: 2.14
674
675
676 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME ##### -->
677 <para>
678 A key under <link
679 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
680 whose value is a localized string giving the generic name of the
681 desktop entry.
682 </para>
683
684 @Since: 2.14
685
686
687 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY ##### -->
688 <para>
689 A key under <link
690 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
691 whose value is a boolean stating whether the desktop entry should be
692 shown in menus.
693 </para>
694
695 @Since: 2.14
696
697
698 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_COMMENT ##### -->
699 <para>
700 A key under <link
701 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
702 whose value is a localized string giving the tooltip for the desktop
703 entry.
704 </para>
705
706 @Since: 2.14
707
708
709 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_ICON ##### -->
710 <para>
711 A key under <link
712 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
713 whose value is a localized string giving the name of the icon to be
714 displayed for the desktop entry.
715 </para>
716
717 @Since: 2.14
718
719
720 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_HIDDEN ##### -->
721 <para>
722 A key under <link
723 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
724 whose value is a boolean stating whether the desktop entry has been
725 deleted by the user.
726 </para>
727
728 @Since: 2.14
729
730
731 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN ##### -->
732 <para>
733 A key under <link
734 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
735 whose value is a list of strings identifying the environments that
736 should display the desktop entry.
737 </para>
738
739 @Since: 2.14
740
741
742 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN ##### -->
743 <para>
744 A key under <link
745 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
746 whose value is a list of strings identifying the environments that
747 should not display the desktop entry.
748 </para>
749
750 @Since: 2.14
751
752
753 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TRY_EXEC ##### -->
754 <para>
755 A key under <link
756 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
757 whose value is a string giving the file name of a binary on disk
758 used to determine if the program is actually installed. It is only
759 valid for desktop entries with the <literal>Application</literal>
760 type.
761 </para>
762
763 @Since: 2.14
764
765
766 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_EXEC ##### -->
767 <para>
768 A key under <link
769 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
770 whose value is a string giving the command line to execute. It is only
771 valid for desktop entries with the <literal>Application</literal>
772 type.
773 </para>
774
775 @Since: 2.14
776
777
778 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_PATH ##### -->
779 <para>
780 A key under <link
781 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
782 whose value is a string containing the working directory to run the
783 program in. It is only valid for desktop entries with the
784 <literal>Application</literal> type.
785 </para>
786
787 @Since: 2.14
788
789
790 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TERMINAL ##### -->
791 <para>
792 A key under <link
793 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
794 whose value is a boolean stating whether the program should be
795 run in a terminal window. It is only valid for desktop entries with
796 the <literal>Application</literal> type.
797 </para>
798
799 @Since: 2.14
800
801
802 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_MIME_TYPE ##### -->
803 <para>
804 A key under <link
805 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
806 whose value is a list of strings giving the MIME types supported
807 by this desktop entry.
808 </para>
809
810 @Since: 2.14
811
812
813 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_CATEGORIES ##### -->
814 <para>
815 A key under <link
816 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
817 whose value is a list of strings giving the categories in which the
818 desktop entry should be shown in a menu.
819 </para>
820
821 @Since: 2.14
822
823
824 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY ##### -->
825 <para>
826 A key under <link
827 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
828 whose value is a boolean stating whether the application supports
829 the <ulink
830 url="http://www.freedesktop.org/Standards/startup-notification-spec">Startup
831 Notification Protocol Specification</ulink>.
832 </para>
833
834 @Since: 2.14
835
836
837 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS ##### -->
838 <para>
839 A key under <link
840 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
841 whose value is string identifying the WM class or name hint of a
842 window that the application will create, which can be used to emulate
843 Startup Notification with older applications.
844 </para>
845
846 @Since: 2.14
847
848
849 <!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_URL ##### -->
850 <para>
851 A key under <link
852 linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
853 whose value is a string giving the URL to access. It is only valid
854 for desktop entries with the <literal>Link</literal> type.
855 </para>
856
857 @Since: 2.14
858
859
860 <!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_APPLICATION ##### -->
861 <para>
862 The value of the <link
863 linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
864 key for desktop entries representing applications.
865 </para>
866
867 @Since: 2.14
868
869
870 <!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_LINK ##### -->
871 <para>
872 The value of the <link
873 linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
874 key for desktop entries representing links to documents.
875 </para>
876
877 @Since: 2.14
878
879
880 <!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_DIRECTORY ##### -->
881 <para>
882 The value of the <link
883 linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
884 key for desktop entries representing directories.
885 </para>
886
887 @Since: 2.14
888
889