GDesktopAppInfo

GDesktopAppInfo — Application information from desktop files

Synopsis

#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);
void                g_desktop_app_info_set_desktop_env  (const char *desktop_env);

Object Hierarchy

  GObject
   +----GDesktopAppInfo

Implemented Interfaces

GDesktopAppInfo implements GAppInfo.

Description

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.

Details

GDesktopAppInfo

typedef struct _GDesktopAppInfo GDesktopAppInfo;

Information about an installed application from a desktop file.


g_desktop_app_info_new_from_filename ()

GDesktopAppInfo *   g_desktop_app_info_new_from_filename
                                                        (const char *filename);

Creates a new GDesktopAppInfo.

filename :

the path of a desktop file, in the GLib filename encoding

Returns :

a new GDesktopAppInfo or NULL on error.

g_desktop_app_info_new_from_keyfile ()

GDesktopAppInfo *   g_desktop_app_info_new_from_keyfile (GKeyFile *key_file);

Creates a new GDesktopAppInfo.

key_file :

an opened GKeyFile

Returns :

a new GDesktopAppInfo or NULL on error.

Since 2.18


g_desktop_app_info_new ()

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).

desktop_id :

the desktop file id

Returns :

a new GDesktopAppInfo, or NULL if no desktop file with that id

g_desktop_app_info_get_filename ()

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.

info :

a GDesktopAppInfo

Returns :

The full path to the file for info, or NULL if not known.

Since 2.24


g_desktop_app_info_get_is_hidden ()

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.

info :

a GDesktopAppInfo.

Returns :

TRUE if hidden, FALSE otherwise.

g_desktop_app_info_set_desktop_env ()

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.

desktop_env :

a string specifying what desktop this is