|  |  |  | GIO Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | ||||
#include <gio/gdesktopappinfo.h>
                    GDesktopAppInfo;
GDesktopAppInfo *   g_desktop_app_info_new_from_filename
                                                        (const char *filename);
GDesktopAppInfo *   g_desktop_app_info_new_from_keyfile (GKeyFile *key_file);
GDesktopAppInfo *   g_desktop_app_info_new              (const char *desktop_id);
const char *        g_desktop_app_info_get_filename     (GDesktopAppInfo *info);
gboolean            g_desktop_app_info_get_is_hidden    (GDesktopAppInfo *info);
gboolean            g_desktop_app_info_get_nodisplay    (GDesktopAppInfo *info);
gboolean            g_desktop_app_info_get_show_in      (GDesktopAppInfo *info,
                                                         const gchar *desktop_env);
const char *        g_desktop_app_info_get_generic_name (GDesktopAppInfo *info);
const char *        g_desktop_app_info_get_categories   (GDesktopAppInfo *info);
const char * const * g_desktop_app_info_get_keywords    (GDesktopAppInfo *info);
void                g_desktop_app_info_set_desktop_env  (const char *desktop_env);
void                (*GDesktopAppLaunchCallback)        (GDesktopAppInfo *appinfo,
                                                         GPid pid,
                                                         gpointer user_data);
gboolean            g_desktop_app_info_launch_uris_as_manager
                                                        (GDesktopAppInfo *appinfo,
                                                         GList *uris,
                                                         GAppLaunchContext *launch_context,
                                                         GSpawnFlags spawn_flags,
                                                         GSpawnChildSetupFunc user_setup,
                                                         gpointer user_setup_data,
                                                         GDesktopAppLaunchCallback pid_callback,
                                                         gpointer pid_callback_data,
                                                         GError **error);
GDesktopAppInfo is an implementation of GAppInfo based on desktop files.
Note that <gio/gdesktopappinfo.h> belongs to
the UNIX-specific GIO interfaces, thus you have to use the
gio-unix-2.0.pc pkg-config file when using it.
typedef struct _GDesktopAppInfo GDesktopAppInfo;
Information about an installed application from a desktop file.
GDesktopAppInfo *   g_desktop_app_info_new_from_filename
                                                        (const char *filename);
Creates a new GDesktopAppInfo.
| 
 | the path of a desktop file, in the GLib filename encoding | 
| Returns : | a new GDesktopAppInfo or NULLon error. | 
GDesktopAppInfo *   g_desktop_app_info_new_from_keyfile (GKeyFile *key_file);
Creates a new GDesktopAppInfo.
| 
 | an opened GKeyFile | 
| Returns : | a new GDesktopAppInfo or NULLon error. | 
Since 2.18
GDesktopAppInfo *   g_desktop_app_info_new              (const char *desktop_id);
Creates a new GDesktopAppInfo based on a desktop file id.
A desktop file id is the basename of the desktop file, including the 
.desktop extension. GIO is looking for a desktop file with this name 
in the applications subdirectories of the XDG data
directories (i.e. the directories specified in the 
XDG_DATA_HOME and XDG_DATA_DIRS environment 
variables). GIO also supports the prefix-to-subdirectory mapping that is
described in the Menu Spec 
(i.e. a desktop id of kde-foo.desktop will match
/usr/share/applications/kde/foo.desktop).
| 
 | the desktop file id | 
| Returns : | a new GDesktopAppInfo, or NULLif no desktop file with that id | 
const char *        g_desktop_app_info_get_filename     (GDesktopAppInfo *info);
When info was created from a known filename, return it.  In some
situations such as the GDesktopAppInfo returned from
g_desktop_app_info_new_from_keyfile(), this function will return NULL.
| 
 | a GDesktopAppInfo | 
| Returns : | The full path to the file for info, orNULLif not known. | 
Since 2.24
gboolean            g_desktop_app_info_get_is_hidden    (GDesktopAppInfo *info);
A desktop file is hidden if the Hidden key in it is set to True.
| 
 | a GDesktopAppInfo. | 
| Returns : | TRUEif hidden,FALSEotherwise. | 
gboolean            g_desktop_app_info_get_nodisplay    (GDesktopAppInfo *info);
Gets the value of the NoDisplay key, which helps determine if the
application info should be shown in menus. See
G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().
| 
 | a GDesktopAppInfo | 
| Returns : | The value of the NoDisplay key | 
Since 2.30
gboolean g_desktop_app_info_get_show_in (GDesktopAppInfo *info,const gchar *desktop_env);
Checks if the application info should be shown in menus that list available
applications for a specific name of the desktop, based on the
OnlyShowIn and NotShowIn keys.
If desktop_env is NULL, then the name of the desktop set with
g_desktop_app_info_set_desktop_env() is used.
Note that g_app_info_should_show() for info will include this check (with
NULL for desktop_env) as well as additional checks.
| 
 | a GDesktopAppInfo | 
| 
 | a string specifying a desktop name | 
| Returns : | TRUEif theinfoshould be shown indesktop_envaccording to theOnlyShowInandNotShowInkeys,FALSEotherwise. | 
Since 2.30
const char *        g_desktop_app_info_get_generic_name (GDesktopAppInfo *info);
Gets the generic name from the destkop file.
| 
 | a GDesktopAppInfo | 
| Returns : | The value of the GenericName key | 
const char *        g_desktop_app_info_get_categories   (GDesktopAppInfo *info);
Gets the categories from the desktop file.
| 
 | a GDesktopAppInfo | 
| Returns : | The unparsed Categories key from the desktop file; i.e. no attempt is made to split it by ';' or validate it. | 
const char * const * g_desktop_app_info_get_keywords    (GDesktopAppInfo *info);
Gets the keywords from the desktop file.
| 
 | a GDesktopAppInfo | 
| Returns : | The value of the X-GNOME-Keywords key. [transfer none] | 
Since 2.32
void                g_desktop_app_info_set_desktop_env  (const char *desktop_env);
Sets the name of the desktop that the application is running in.
This is used by g_app_info_should_show() and
g_desktop_app_info_get_show_in() to evaluate the
OnlyShowIn and NotShowIn
desktop entry fields.
The Desktop Menu specification recognizes the following:
| GNOME | 
| KDE | 
| ROX | 
| XFCE | 
| LXDE | 
| Unity | 
| Old | 
Should be called only once; subsequent calls are ignored.
| 
 | a string specifying what desktop this is | 
void (*GDesktopAppLaunchCallback) (GDesktopAppInfo *appinfo,GPid pid,gpointer user_data);
During invocation, g_desktop_app_info_launch_uris_as_manager() may
create one or more child processes.  This callback is invoked once
for each, providing the process ID.
| 
 | a GDesktopAppInfo | 
| 
 | Process identifier | 
| 
 | User data | 
gboolean g_desktop_app_info_launch_uris_as_manager (GDesktopAppInfo *appinfo,GList *uris,GAppLaunchContext *launch_context,GSpawnFlags spawn_flags,GSpawnChildSetupFunc user_setup,gpointer user_setup_data,GDesktopAppLaunchCallback pid_callback,gpointer pid_callback_data,GError **error);
This function performs the equivalent of g_app_info_launch_uris(),
but is intended primarily for operating system components that
launch applications.  Ordinary applications should use
g_app_info_launch_uris().
In contrast to g_app_info_launch_uris(), all processes created will
always be run directly as children as if by the UNIX fork()/exec()
calls.
This guarantee allows additional control over the exact environment
of the child processes, which is provided via a setup function
user_setup, as well as the process identifier of each child process
via pid_callback. See g_spawn_async() for more information about the
semantics of the user_setup function.
| 
 | a GDesktopAppInfo | 
| 
 | List of URIs. [element-type utf8] | 
| 
 | a GAppLaunchContext | 
| 
 | GSpawnFlags, used for each process | 
| 
 | a GSpawnChildSetupFunc, used once for each process. [scope call] | 
| 
 | User data for user_setup. [closure user_setup] | 
| 
 | Callback for child processes. [scope call] | 
| 
 | User data for callback. [closure pid_callback] | 
| 
 | return location for a GError, or NULL | 
| Returns : | TRUEon successful launch,FALSEotherwise. | 
"filename" property"filename" gchar* : Read / Write / Construct Only
The origin filename of this GDesktopAppInfo
Default value: NULL