X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=panel-plugin%2Fxfce4-hdaps-dialogs.c;fp=panel-plugin%2Fxfce4-hdaps-dialogs.c;h=bacd540e22ae00e6a027879e53a5ecf18b43ac04;hb=7521718b81383a0c30aa410d08088a3af86c00fa;hp=b5d6fb120a4329e1d60dfa9e16b4d05576c30c87;hpb=273c8f913b14f9db603e64c8a3291a4abd9c99f0;p=xfce4-hdaps.git diff --git a/panel-plugin/xfce4-hdaps-dialogs.c b/panel-plugin/xfce4-hdaps-dialogs.c index b5d6fb1..bacd540 100644 --- a/panel-plugin/xfce4-hdaps-dialogs.c +++ b/panel-plugin/xfce4-hdaps-dialogs.c @@ -193,41 +193,34 @@ void hdaps_configure(XfcePanelPlugin *plugin, -/* URL handler used on the About dialog. */ -static void hdaps_url_handler(GtkAboutDialog *about, - const gchar *link, +/* URI (http(s):// and mailto://) handler used on the About dialog. */ +static void hdaps_uri_handler(GtkAboutDialog *about, + const gchar *uri, gpointer data) { gchar *cmd; - cmd = g_strdup_printf("%s %s","xdg-open", link); + cmd = g_strdup_printf("%s %s","xdg-open", uri); - /* Stolen from xfce4-power-manager. */ if (!g_spawn_command_line_async(cmd, NULL)) { g_free(cmd); - cmd = g_strdup_printf("%s %s","xfbrowser4", link); + cmd = g_strdup_printf("%s %s","xdg-open", uri); g_spawn_command_line_async(cmd, NULL); } g_free(cmd); } -/* Email address handler used on the About dialog. */ -static void hdaps_mailto_handler(GtkAboutDialog *about, - const gchar *link, - gpointer data) { - gchar *cmd = g_strdup_printf( "%s %s", "xdg-email", link); - - g_spawn_command_line_async(cmd, NULL); - g_free(cmd); -} - - void hdaps_about(XfcePanelPlugin *plugin) { const gchar *authors[] = { "Michael Orlitzky ", NULL }; const gchar *copyright = "Copyright \302\251 2012 Michael Orlitzky"; - gtk_about_dialog_set_url_hook(hdaps_url_handler, NULL, NULL); - gtk_about_dialog_set_email_hook(hdaps_mailto_handler, NULL, NULL); + /* Use a custom URI handler for http(s):// and mailto:// URIs. The + default behavior apparently needs gio/gvfs to work, and I don't + have those installed. */ + g_signal_connect(plugin, + "activate-link", + G_CALLBACK(hdaps_uri_handler), + NULL); gtk_show_about_dialog(NULL, "authors", authors,