diff --git a/panel-preferences.desktop.in b/panel-preferences.desktop.in index 999075e5..2cd477d6 100644 --- a/panel-preferences.desktop.in +++ b/panel-preferences.desktop.in @@ -7,5 +7,8 @@ Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-Person OnlyShowIn=XFCE; Terminal=false StartupNotify=true +X-XfcePluggable=true +X-XfceHelpComponent=xfce4-panel +X-XfceHelpPage=preferences _Name=Panel _Comment=Customize the panel diff --git a/panel/main.c b/panel/main.c index 44ebf3c4..3747d8af 100644 --- a/panel/main.c +++ b/panel/main.c @@ -61,6 +61,7 @@ static gboolean opt_version = FALSE; static gboolean opt_disable_wm_check = FALSE; static gchar *opt_plugin_event = NULL; static gchar **opt_arguments = NULL; +static gchar *opt_socket_id = NULL; @@ -84,6 +85,7 @@ static GOptionEntry option_entries[] = { "disable-wm-check", 'd', 0, G_OPTION_ARG_NONE, &opt_disable_wm_check, N_("Do not wait for a window manager on startup"), NULL }, { "version", 'V', 0, G_OPTION_ARG_NONE, &opt_version, N_("Print version information and exit"), NULL }, { "plugin-event", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &opt_plugin_event, NULL, NULL }, + { "socket-id", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &opt_socket_id, NULL, NULL }, { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &opt_arguments, NULL, NULL }, { NULL } }; @@ -264,7 +266,7 @@ main (gint argc, gchar **argv) else if (opt_preferences >= 0) { /* send a signal to the running instance to show the preferences dialog */ - succeed = panel_dbus_client_display_preferences_dialog (opt_preferences, &error); + succeed = panel_dbus_client_display_preferences_dialog (opt_preferences, opt_socket_id, &error); goto dbus_return; } else if (opt_add_items >= 0) @@ -333,7 +335,7 @@ main (gint argc, gchar **argv) /* open dialog if we started from launch_panel */ if (opt_preferences >= 0) - panel_preferences_dialog_show_from_id (opt_preferences); + panel_preferences_dialog_show_from_id (opt_preferences, opt_socket_id); gtk_main (); diff --git a/panel/panel-dbus-client.c b/panel/panel-dbus-client.c index 47add8b8..be259ec5 100644 --- a/panel/panel-dbus-client.c +++ b/panel/panel-dbus-client.c @@ -70,8 +70,9 @@ panel_dbus_client_get_proxy (GError **error) gboolean -panel_dbus_client_display_preferences_dialog (guint active, - GError **error) +panel_dbus_client_display_preferences_dialog (guint active, + const gchar *socket_id, + GError **error) { gboolean result; DBusGProxy *dbus_proxy; @@ -83,7 +84,8 @@ panel_dbus_client_display_preferences_dialog (guint active, return FALSE; result = _panel_dbus_client_display_preferences_dialog (dbus_proxy, - active, error); + active, socket_id, + error); g_object_unref (G_OBJECT (dbus_proxy)); diff --git a/panel/panel-dbus-client.h b/panel/panel-dbus-client.h index 39694045..c952706f 100644 --- a/panel/panel-dbus-client.h +++ b/panel/panel-dbus-client.h @@ -23,6 +23,7 @@ #include gboolean panel_dbus_client_display_preferences_dialog (guint active, + const gchar *socket_id, GError **error); gboolean panel_dbus_client_display_items_dialog (guint active, diff --git a/panel/panel-dbus-service-infos.xml b/panel/panel-dbus-service-infos.xml index 8c2d8b73..b171d8b2 100644 --- a/panel/panel-dbus-service-infos.xml +++ b/panel/panel-dbus-service-infos.xml @@ -12,7 +12,7 @@ value="_panel_dbus_client"/> +