summaryrefslogtreecommitdiff
path: root/gtk/gtkapplication-dbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkapplication-dbus.c')
-rw-r--r--gtk/gtkapplication-dbus.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/gtkapplication-dbus.c b/gtk/gtkapplication-dbus.c
index 3ad964ee57..721928123a 100644
--- a/gtk/gtkapplication-dbus.c
+++ b/gtk/gtkapplication-dbus.c
@@ -443,6 +443,15 @@ gtk_application_impl_dbus_set_menubar (GtkApplicationImpl *impl,
gtk_application_impl_dbus_publish_menu (dbus, "menubar", menubar, &dbus->menubar_id, &dbus->menubar_path);
}
+static void
+gtk_application_impl_dbus_set_status_menu (GtkApplicationImpl *impl,
+ GMenuModel *menu)
+{
+ GtkApplicationImplDBus *dbus = (GtkApplicationImplDBus *) impl;
+
+ gtk_application_impl_dbus_publish_menu (dbus, "statusmenu", menu, &dbus->status_menu_id, &dbus->status_menu_path);
+}
+
static GVariant *
gtk_application_impl_dbus_real_get_window_system_id (GtkApplicationImplDBus *dbus,
GtkWindow *window)
@@ -693,6 +702,7 @@ gtk_application_impl_dbus_finalize (GObject *object)
g_slist_free_full (dbus->inhibit_handles, inhibit_handle_free);
g_free (dbus->app_menu_path);
g_free (dbus->menubar_path);
+ g_free (dbus->status_menu_path);
g_clear_object (&dbus->sm_proxy);
G_OBJECT_CLASS (gtk_application_impl_dbus_parent_class)->finalize (object);
@@ -713,6 +723,7 @@ gtk_application_impl_dbus_class_init (GtkApplicationImplDBusClass *class)
impl_class->active_window_changed = gtk_application_impl_dbus_active_window_changed;
impl_class->set_app_menu = gtk_application_impl_dbus_set_app_menu;
impl_class->set_menubar = gtk_application_impl_dbus_set_menubar;
+ impl_class->set_status_menu = gtk_application_impl_dbus_set_status_menu;
impl_class->inhibit = gtk_application_impl_dbus_inhibit;
impl_class->uninhibit = gtk_application_impl_dbus_uninhibit;
impl_class->is_inhibited = gtk_application_impl_dbus_is_inhibited;