From 983f83536606972bd90e9f95377a8d1ced282720 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 26 Aug 2009 17:27:39 -0500 Subject: Making ourselves a variable in the middle of everything. --- src/indicator-messages.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 0d2854b..80ab535 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -175,6 +175,8 @@ get_menu (void) g_idle_add(setup_icon_proxy, NULL); - return GTK_MENU(dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT)); + DbusmenuGtkMenu * menu = dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT); + + return GTK_MENU(menu); } -- cgit v1.2.3 From bb8dfce7d1a137eeff3792862b3f9a27416f3836 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 26 Aug 2009 17:29:53 -0500 Subject: Injecting in a type for the launchers. --- src/indicator-messages.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 80ab535..2aec8e9 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -136,6 +136,13 @@ setup_icon_proxy (gpointer userdata) return FALSE; } +static gboolean +new_launcher_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client) +{ + + return TRUE; +} + GtkLabel * get_label (void) { @@ -176,6 +183,9 @@ get_menu (void) g_idle_add(setup_icon_proxy, NULL); DbusmenuGtkMenu * menu = dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT); + DbusmenuGtkClient * client = dbusmenu_gtkmenu_get_client(menu); + + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(client), "launcher-item", new_launcher_item); return GTK_MENU(menu); } -- cgit v1.2.3 From 96d5cadae1492a0d4db6e38f606be309e76ab0aa Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 26 Aug 2009 20:06:09 -0500 Subject: Pulling the type and the properties into the shared DBus header. --- src/indicator-messages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 2aec8e9..8762593 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -185,7 +185,7 @@ get_menu (void) DbusmenuGtkMenu * menu = dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT); DbusmenuGtkClient * client = dbusmenu_gtkmenu_get_client(menu); - dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(client), "launcher-item", new_launcher_item); + dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(client), LAUNCHER_MENUITEM_TYPE, new_launcher_item); return GTK_MENU(menu); } -- cgit v1.2.3 From bab6bd250e02bb8a139ea4ad36fdee2b7b250544 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 26 Aug 2009 20:20:02 -0500 Subject: Filling in the new launcher menu item --- src/indicator-messages.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 8762593..8838313 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -139,6 +139,22 @@ setup_icon_proxy (gpointer userdata) static gboolean new_launcher_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client) { + GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_menu_item_new()); + + GtkWidget * vbox = gtk_vbox_new(TRUE, 2); + + GtkWidget * app_label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, LAUNCHER_MENUITEM_PROP_APP_NAME)); + GtkWidget * dsc_label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, LAUNCHER_MENUITEM_PROP_APP_DESC)); + + gtk_box_pack_start(GTK_BOX(vbox), app_label, FALSE, FALSE, 0); + gtk_widget_show(app_label); + gtk_box_pack_start(GTK_BOX(vbox), dsc_label, FALSE, FALSE, 0); + gtk_widget_show(dsc_label); + + gtk_container_add(GTK_CONTAINER(gmi), GTK_WIDGET(vbox)); + gtk_widget_show(GTK_WIDGET(vbox)); + + dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, gmi, parent); return TRUE; } -- cgit v1.2.3 From 1077ceea42e73c4c9ef0f368913f18a9a3b092f8 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 26 Aug 2009 20:46:43 -0500 Subject: Adding a little style to our labels. Hopefully making them look a little nicer. --- src/indicator-messages.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 8838313..0a1002d 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -21,6 +21,7 @@ with this program. If not, see . */ #include +#include #include #include #include @@ -144,7 +145,13 @@ new_launcher_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusme GtkWidget * vbox = gtk_vbox_new(TRUE, 2); GtkWidget * app_label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, LAUNCHER_MENUITEM_PROP_APP_NAME)); - GtkWidget * dsc_label = gtk_label_new(dbusmenu_menuitem_property_get(newitem, LAUNCHER_MENUITEM_PROP_APP_DESC)); + gtk_misc_set_alignment(GTK_MISC(app_label), 0.0, 0.5); + GtkWidget * dsc_label = gtk_label_new(""); + gtk_misc_set_alignment(GTK_MISC(dsc_label), 0.05, 0.5); + gtk_label_set_ellipsize(GTK_LABEL(dsc_label), PANGO_ELLIPSIZE_END); + gchar * markup = g_markup_printf_escaped("%s", dbusmenu_menuitem_property_get(newitem, LAUNCHER_MENUITEM_PROP_APP_DESC)); + gtk_label_set_markup(GTK_LABEL(dsc_label), markup); + g_free(markup); gtk_box_pack_start(GTK_BOX(vbox), app_label, FALSE, FALSE, 0); gtk_widget_show(app_label); -- cgit v1.2.3 From 86cab293762c8b864a58f3e297c057cc05794daf Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 27 Aug 2009 09:31:43 -0500 Subject: Checking args from libdbusmenu, stealing code from there. Comments by Neil. --- src/indicator-messages.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/indicator-messages.c') diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 0a1002d..c410ef7 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -140,6 +140,10 @@ setup_icon_proxy (gpointer userdata) static gboolean new_launcher_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client) { + g_return_val_if_fail(DBUSMENU_IS_MENUITEM(newitem), FALSE); + g_return_val_if_fail(DBUSMENU_IS_GTKCLIENT(client), FALSE); + /* Note: not checking parent, it's reasonable for it to be NULL */ + GtkMenuItem * gmi = GTK_MENU_ITEM(gtk_menu_item_new()); GtkWidget * vbox = gtk_vbox_new(TRUE, 2); -- cgit v1.2.3