![]() |
![]() |
![]() |
GIO Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Prerequisites |
Desktop file based GAppInfoDesktop file based GAppInfo — Application information from desktop files |
#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); gboolean g_desktop_app_info_get_is_hidden (GDesktopAppInfo *info); void g_desktop_app_info_set_desktop_env (const char *desktop_env); GDesktopAppInfoLookup; #define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME GAppInfo * g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup, const char *uri_scheme);
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 NULL on error.
|
GDesktopAppInfo * g_desktop_app_info_new_from_keyfile (GKeyFile *key_file);
Creates a new GDesktopAppInfo.
|
an opened GKeyFile |
Returns : |
a new GDesktopAppInfo or NULL on 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 NULL if no desktop file with that id
|
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 : |
TRUE if hidden, FALSE otherwise.
|
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()
to evaluate the
OnlyShowIn
and NotShowIn
desktop entry fields.
The Desktop Menu specification recognizes the following:
GNOME |
KDE |
ROX |
XFCE |
Old |
Should be called only once; subsequent calls are ignored.
|
a string specifying what desktop this is |
typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;
Interface that is used by backends to associate default handlers with URI schemes.
#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
Extension point for default handler to URI association. See Extending GIO.
GAppInfo * g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup, const char *uri_scheme);
Gets the default application for launching applications using this URI scheme for a particular GDesktopAppInfoLookup implementation.
The GDesktopAppInfoLookup interface and this function is used
to implement g_app_info_get_default_for_uri_scheme()
backends
in a GIO module. There is no reason for applications to use it
directly. Applications should use g_app_info_get_default_for_uri_scheme()
.
|
a GDesktopAppInfoLookup |
|
a string containing a URI scheme. |
Returns : |
GAppInfo for given uri_scheme or NULL on error.
|