14
14
<refname>Desktop file based GAppInfo</refname>
15
15
<refpurpose>Application information from desktop files</refpurpose>
16
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
19
<refsynopsisdiv role="synopsis">
18
<refsynopsisdiv id="gio-Desktop-file-based-GAppInfo.synopsis" role="synopsis">
20
19
<title role="synopsis.title">Synopsis</title>
21
<anchor id="GDesktopAppInfo"/>
20
<anchor id="GDesktopAppInfo"/><anchor id="GDesktopAppInfoLookup"/>
24
23
#include <gio/gdesktopappinfo.h>
27
25
<link linkend="GDesktopAppInfo-struct">GDesktopAppInfo</link>;
28
<link linkend="GDesktopAppInfo">GDesktopAppInfo</link>* <link linkend="g-desktop-app-info-new-from-filename">g_desktop_app_info_new_from_filename</link>
26
<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * <link linkend="g-desktop-app-info-new-from-filename">g_desktop_app_info_new_from_filename</link>
29
27
(const <link linkend="char">char</link> *filename);
30
<link linkend="GDesktopAppInfo">GDesktopAppInfo</link>* <link linkend="g-desktop-app-info-new">g_desktop_app_info_new</link> (const <link linkend="char">char</link> *desktop_id);
28
<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * <link linkend="g-desktop-app-info-new-from-keyfile">g_desktop_app_info_new_from_keyfile</link> (<link linkend="GKeyFile">GKeyFile</link> *key_file);
29
<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * <link linkend="g-desktop-app-info-new">g_desktop_app_info_new</link> (const <link linkend="char">char</link> *desktop_id);
31
30
<link linkend="gboolean">gboolean</link> <link linkend="g-desktop-app-info-get-is-hidden">g_desktop_app_info_get_is_hidden</link> (<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> *info);
32
31
<link linkend="void">void</link> <link linkend="g-desktop-app-info-set-desktop-env">g_desktop_app_info_set_desktop_env</link> (const <link linkend="char">char</link> *desktop_env);
33
<link linkend="GDesktopAppInfoLookup">GDesktopAppInfoLookup</link>;
34
#define <link linkend="G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME:CAPS">G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</link>
35
<link linkend="GAppInfo">GAppInfo</link>* <link linkend="g-desktop-app-info-lookup-get-default-for-uri-scheme">g_desktop_app_info_lookup_get_default_for_uri_scheme</link>
32
<link linkend="GDesktopAppInfoLookup-struct">GDesktopAppInfoLookup</link>;
33
#define <link linkend="G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME--CAPS">G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</link>
34
<link linkend="GAppInfo">GAppInfo</link> * <link linkend="g-desktop-app-info-lookup-get-default-for-uri-scheme">g_desktop_app_info_lookup_get_default_for_uri_scheme</link>
36
35
(<link linkend="GDesktopAppInfoLookup">GDesktopAppInfoLookup</link> *lookup,
37
36
const <link linkend="char">char</link> *uri_scheme);
43
<refsect1 role="object_hierarchy">
40
<refsect1 id="gio-Desktop-file-based-GAppInfo.object-hierarchy" role="object_hierarchy">
44
41
<title role="object_hierarchy.title">Object Hierarchy</title>
47
43
<link linkend="GObject">GObject</link>
48
44
+----GDesktopAppInfo
55
<refsect1 role="impl_interfaces">
47
<link linkend="GInterface">GInterface</link>
48
+----GDesktopAppInfoLookup
52
<refsect1 id="gio-Desktop-file-based-GAppInfo.prerequisites" role="prerequisites">
53
<title role="prerequisites.title">Prerequisites</title>
55
GDesktopAppInfoLookup requires
56
<link linkend="GObject">GObject</link>.</para>
60
<refsect1 id="gio-Desktop-file-based-GAppInfo.implemented-interfaces" role="impl_interfaces">
56
61
<title role="impl_interfaces.title">Implemented Interfaces</title>
58
63
GDesktopAppInfo implements
59
64
<link linkend="GAppInfo">GAppInfo</link>.</para>
67
<refsect1 role="desc">
71
<refsect1 id="gio-Desktop-file-based-GAppInfo.description" role="desc">
68
72
<title role="desc.title">Description</title>
70
74
<link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link> is an implementation of <link linkend="GAppInfo"><type>GAppInfo</type></link> based on
71
75
desktop files.</para>
77
<refsect1 role="details">
80
<refsect1 id="gio-Desktop-file-based-GAppInfo.details" role="details">
78
81
<title role="details.title">Details</title>
80
<title><anchor id="GDesktopAppInfo-struct" role="struct"/>GDesktopAppInfo</title>
81
<indexterm><primary>GDesktopAppInfo</primary></indexterm><programlisting>typedef struct _GDesktopAppInfo GDesktopAppInfo;</programlisting>
82
<refsect2 id="GDesktopAppInfo-struct" role="struct">
83
<title>GDesktopAppInfo</title>
84
<indexterm zone="GDesktopAppInfo-struct"><primary sortas="GDesktopAppInfo">GDesktopAppInfo</primary></indexterm><programlisting>typedef struct _GDesktopAppInfo GDesktopAppInfo;</programlisting>
83
86
Information about an installed application from a desktop file.</para>
88
<title><anchor id="g-desktop-app-info-new-from-filename" role="function"/>g_desktop_app_info_new_from_filename ()</title>
89
<indexterm><primary>g_desktop_app_info_new_from_filename</primary></indexterm><programlisting><link linkend="GDesktopAppInfo">GDesktopAppInfo</link>* g_desktop_app_info_new_from_filename
89
<refsect2 id="g-desktop-app-info-new-from-filename" role="function">
90
<title>g_desktop_app_info_new_from_filename ()</title>
91
<indexterm zone="g-desktop-app-info-new-from-filename"><primary sortas="g_desktop_app_info_new_from_filename">g_desktop_app_info_new_from_filename</primary></indexterm><programlisting><link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * g_desktop_app_info_new_from_filename
90
92
(const <link linkend="char">char</link> *filename);</programlisting>
92
94
Creates a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>.</para>
95
96
</para><variablelist role="params">
96
<varlistentry><term><parameter>filename</parameter> :</term>
97
<listitem><simpara> a string containing a file name.
97
<varlistentry><term><parameter>filename</parameter> :</term>
98
<listitem><simpara> the path of a desktop file, in the GLib filename encoding
98
99
</simpara></listitem></varlistentry>
99
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link> on error.
100
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link> on error.
100
101
</simpara></listitem></varlistentry>
101
102
</variablelist></refsect2>
103
<title><anchor id="g-desktop-app-info-new" role="function"/>g_desktop_app_info_new ()</title>
104
<indexterm><primary>g_desktop_app_info_new</primary></indexterm><programlisting><link linkend="GDesktopAppInfo">GDesktopAppInfo</link>* g_desktop_app_info_new (const <link linkend="char">char</link> *desktop_id);</programlisting>
103
<refsect2 id="g-desktop-app-info-new-from-keyfile" role="function" condition="since:2.18">
104
<title>g_desktop_app_info_new_from_keyfile ()</title>
105
<indexterm zone="g-desktop-app-info-new-from-keyfile" role="2.18"><primary sortas="g_desktop_app_info_new_from_keyfile">g_desktop_app_info_new_from_keyfile</primary></indexterm><programlisting><link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * g_desktop_app_info_new_from_keyfile (<link linkend="GKeyFile">GKeyFile</link> *key_file);</programlisting>
106
107
Creates a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>.</para>
109
</para><variablelist role="params">
110
<varlistentry><term><parameter>key_file</parameter> :</term>
111
<listitem><simpara> an opened <link linkend="GKeyFile"><type>GKeyFile</type></link>
112
</simpara></listitem></varlistentry>
113
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link> on error.
115
</simpara></listitem></varlistentry>
116
</variablelist><para role="since">Since 2.18</para></refsect2>
117
<refsect2 id="g-desktop-app-info-new" role="function">
118
<title>g_desktop_app_info_new ()</title>
119
<indexterm zone="g-desktop-app-info-new"><primary sortas="g_desktop_app_info_new">g_desktop_app_info_new</primary></indexterm><programlisting><link linkend="GDesktopAppInfo">GDesktopAppInfo</link> * g_desktop_app_info_new (const <link linkend="char">char</link> *desktop_id);</programlisting>
121
Creates a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>.</para>
109
123
</para><variablelist role="params">
110
<varlistentry><term><parameter>desktop_id</parameter> :</term>
124
<varlistentry><term><parameter>desktop_id</parameter> :</term>
111
125
<listitem><simpara> the desktop file id
112
126
</simpara></listitem></varlistentry>
113
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no desktop file with that id
127
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a new <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if no desktop file with that id
114
128
</simpara></listitem></varlistentry>
115
129
</variablelist></refsect2>
117
<title><anchor id="g-desktop-app-info-get-is-hidden" role="function"/>g_desktop_app_info_get_is_hidden ()</title>
118
<indexterm><primary>g_desktop_app_info_get_is_hidden</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g_desktop_app_info_get_is_hidden (<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> *info);</programlisting>
130
<refsect2 id="g-desktop-app-info-get-is-hidden" role="function">
131
<title>g_desktop_app_info_get_is_hidden ()</title>
132
<indexterm zone="g-desktop-app-info-get-is-hidden"><primary sortas="g_desktop_app_info_get_is_hidden">g_desktop_app_info_get_is_hidden</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g_desktop_app_info_get_is_hidden (<link linkend="GDesktopAppInfo">GDesktopAppInfo</link> *info);</programlisting>
120
134
A desktop file is hidden if the Hidden key in it is
121
135
set to True.</para>
124
137
</para><variablelist role="params">
125
<varlistentry><term><parameter>info</parameter> :</term>
138
<varlistentry><term><parameter>info</parameter> :</term>
126
139
<listitem><simpara> a <link linkend="GDesktopAppInfo"><type>GDesktopAppInfo</type></link>.
127
140
</simpara></listitem></varlistentry>
128
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if hidden, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.
141
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if hidden, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise.
129
142
</simpara></listitem></varlistentry>
130
143
</variablelist></refsect2>
132
<title><anchor id="g-desktop-app-info-set-desktop-env" role="function"/>g_desktop_app_info_set_desktop_env ()</title>
133
<indexterm><primary>g_desktop_app_info_set_desktop_env</primary></indexterm><programlisting><link linkend="void">void</link> g_desktop_app_info_set_desktop_env (const <link linkend="char">char</link> *desktop_env);</programlisting>
144
<refsect2 id="g-desktop-app-info-set-desktop-env" role="function">
145
<title>g_desktop_app_info_set_desktop_env ()</title>
146
<indexterm zone="g-desktop-app-info-set-desktop-env"><primary sortas="g_desktop_app_info_set_desktop_env">g_desktop_app_info_set_desktop_env</primary></indexterm><programlisting><link linkend="void">void</link> g_desktop_app_info_set_desktop_env (const <link linkend="char">char</link> *desktop_env);</programlisting>
135
148
Sets the name of the desktop that the application is running in.
136
149
This is used by <link linkend="g-app-info-should-show"><function>g_app_info_should_show()</function></link> to evaluate the
152
165
Should be called only once; subsequent calls are ignored.</para>
155
167
</para><variablelist role="params">
156
<varlistentry><term><parameter>desktop_env</parameter> :</term>
168
<varlistentry><term><parameter>desktop_env</parameter> :</term>
157
169
<listitem><simpara> a string specifying what desktop this is
158
170
</simpara></listitem></varlistentry>
159
171
</variablelist></refsect2>
161
<title><anchor id="GDesktopAppInfoLookup" role="struct"/>GDesktopAppInfoLookup</title>
162
<indexterm><primary>GDesktopAppInfoLookup</primary></indexterm><programlisting>typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;</programlisting>
172
<refsect2 id="GDesktopAppInfoLookup-struct" role="struct">
173
<title>GDesktopAppInfoLookup</title>
174
<indexterm zone="GDesktopAppInfoLookup-struct"><primary sortas="GDesktopAppInfoLookup">GDesktopAppInfoLookup</primary></indexterm><programlisting>typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;</programlisting>
164
Interface that is used by backends to associate default
176
Interface that is used by backends to associate default
165
177
handlers with URI schemes.</para>
168
179
</para></refsect2>
170
<title><anchor id="G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME:CAPS" role="macro"/>G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</title>
171
<indexterm><primary>G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</primary></indexterm><programlisting>#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
180
<refsect2 id="G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME--CAPS" role="macro">
181
<title>G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</title>
182
<indexterm zone="G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME--CAPS"><primary sortas="G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME">G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME</primary></indexterm><programlisting>#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
172
183
</programlisting>
174
185
Extension point for default handler to URI association. See
175
<link linkend="gio-extension-points">Extending GIO</link>.</para>
186
<link linkend="extending-gio">Extending GIO</link>.</para>
178
188
</para></refsect2>
180
<title><anchor id="g-desktop-app-info-lookup-get-default-for-uri-scheme" role="function"/>g_desktop_app_info_lookup_get_default_for_uri_scheme ()</title>
181
<indexterm><primary>g_desktop_app_info_lookup_get_default_for_uri_scheme</primary></indexterm><programlisting><link linkend="GAppInfo">GAppInfo</link>* g_desktop_app_info_lookup_get_default_for_uri_scheme
189
<refsect2 id="g-desktop-app-info-lookup-get-default-for-uri-scheme" role="function">
190
<title>g_desktop_app_info_lookup_get_default_for_uri_scheme ()</title>
191
<indexterm zone="g-desktop-app-info-lookup-get-default-for-uri-scheme"><primary sortas="g_desktop_app_info_lookup_get_default_for_uri_scheme">g_desktop_app_info_lookup_get_default_for_uri_scheme</primary></indexterm><programlisting><link linkend="GAppInfo">GAppInfo</link> * g_desktop_app_info_lookup_get_default_for_uri_scheme
182
192
(<link linkend="GDesktopAppInfoLookup">GDesktopAppInfoLookup</link> *lookup,
183
193
const <link linkend="char">char</link> *uri_scheme);</programlisting>