diff options
author | Aurelien Gateau <aurelien.gateau@canonical.com> | 2010-03-03 17:27:05 +0100 |
---|---|---|
committer | Aurelien Gateau <aurelien.gateau@canonical.com> | 2010-03-03 17:27:05 +0100 |
commit | f3681a09522d6381eef14525eafdc4c467420879 (patch) | |
tree | 27f85e640dc8f8c1237bb8fa03d03cb1490ba2d0 | |
parent | 64db63dfe4b4bde036c1e2a454288c280f582827 (diff) | |
download | libdbusmenu-f3681a09522d6381eef14525eafdc4c467420879.tar.gz libdbusmenu-f3681a09522d6381eef14525eafdc4c467420879.tar.bz2 libdbusmenu-f3681a09522d6381eef14525eafdc4c467420879.zip |
Send about_to_show when showing the first-level menu.
-rw-r--r-- | libdbusmenu-gtk/menu.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/menu.c b/libdbusmenu-gtk/menu.c index d2a8620..cdc2287 100644 --- a/libdbusmenu-gtk/menu.c +++ b/libdbusmenu-gtk/menu.c @@ -96,6 +96,17 @@ dbusmenu_gtkmenu_class_init (DbusmenuGtkMenuClass *klass) } static void +menu_focus_cb(DbusmenuGtkMenu * menu, gpointer userdata) +{ + g_debug(__FUNCTION__); + DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(menu); + if (priv->client != NULL) { + dbusmenu_client_send_about_to_show(DBUSMENU_CLIENT(priv->client), 0); + } + return; +} + +static void dbusmenu_gtkmenu_init (DbusmenuGtkMenu *self) { DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(self); @@ -105,6 +116,8 @@ dbusmenu_gtkmenu_init (DbusmenuGtkMenu *self) priv->dbus_object = NULL; priv->dbus_name = NULL; + g_signal_connect(G_OBJECT(self), "focus", G_CALLBACK(menu_focus_cb), self); + return; } |