Implement the Desktop Action specification

For some time, the desktop file specification has supported "additional
application actions".  This is intended to allow for additional methods
of starting an app, such as a mail client having a "Compose New Message"
action that brings up the compose window instead of the folder list.

This patch adds support for this with a relatively minimal API.

In the case that the application is a GApplication and DBusActivatable,
desktop actions are translated into GActions that have been added to the
application with g_action_map_add_action().  This more or less closes
the loop on being able to activate an application with an action
invocation (instead of 'activate').

https://bugzilla.gnome.org/show_bug.cgi?id=664444
This commit is contained in:
Ryan Lortie
2013-07-11 12:46:59 -04:00
parent f77e121650
commit 6dc5c118e4
6 changed files with 291 additions and 24 deletions

View File

@@ -1518,6 +1518,10 @@ g_desktop_app_info_get_boolean
g_desktop_app_info_has_key
GDesktopAppLaunchCallback
g_desktop_app_info_launch_uris_as_manager
<SUBSECTION>
g_desktop_app_info_list_actions
g_desktop_app_info_get_action_name
g_desktop_app_info_launch_action
<SUBSECTION Standard>
GDesktopAppInfoClass
G_TYPE_DESKTOP_APP_INFO