diff options
author | Balló György <[email protected]> | 2014-10-04 02:49:13 +0200 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2014-10-13 09:27:13 +0200 |
commit | 469727d8d2f9dea7277b89c20bd4e1da0c2969f7 (patch) | |
tree | 55260ef2262dd8711a1d14585e1fd58000b5050a /mate-panel/panel-action-button.c | |
parent | 9144c25beaf0fe63cb668c730bbaaa532069c2d3 (diff) | |
download | mate-panel-469727d8d2f9dea7277b89c20bd4e1da0c2969f7.tar.bz2 mate-panel-469727d8d2f9dea7277b89c20bd4e1da0c2969f7.tar.xz |
Places menu: don't rely on Caja desktop files
This adds better support for other GVFS-compliant file managers (e.g. nautilus, nemo, pcmanfm).
Closes https://github.com/mate-desktop/mate-panel/pull/242
Diffstat (limited to 'mate-panel/panel-action-button.c')
-rw-r--r-- | mate-panel/panel-action-button.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mate-panel/panel-action-button.c b/mate-panel/panel-action-button.c index 6596f6be..0a2c9ff2 100644 --- a/mate-panel/panel-action-button.c +++ b/mate-panel/panel-action-button.c @@ -293,17 +293,26 @@ static void panel_action_connect_server (GtkWidget *widget) { GdkScreen *screen; + char *command; GError *error; screen = gtk_widget_get_screen (GTK_WIDGET (widget)); error = NULL; + if (panel_is_program_in_path ("caja-connect-server")) + command = g_strdup ("caja-connect-server"); + else if (panel_is_program_in_path ("nautilus-connect-server")) + command = g_strdup ("nautilus-connect-server"); + else + command = g_strdup ("nemo-connect-server"); + #if GTK_CHECK_VERSION (3, 0, 0) - mate_gdk_spawn_command_line_on_screen (screen, "caja-connect-server", + mate_gdk_spawn_command_line_on_screen (screen, command, #else - gdk_spawn_command_line_on_screen (screen, "caja-connect-server", + gdk_spawn_command_line_on_screen (screen, command, #endif &error); + g_free (command); if (error) { panel_error_dialog (NULL, screen, |