From 22ccedb4270f202065ce6e51a849c38b6c7645cc Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 14:58:19 -0600 Subject: Adding in the listeners interface --- libindicate/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 707d297..a086fa5 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -4,6 +4,7 @@ INCLUDES= \ EXTRA_DIST = \ indicate-interface.xml \ + indicate-listener.xml \ listener-marshal.list \ indicate.pc.in -- cgit v1.2.3 From 87a945852017be0f31e6fce5ae3f2a1166a84b8f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:14:07 -0600 Subject: Adding build instructions for the listener interface --- libindicate/Makefile.am | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 5d50352..380687a 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -64,6 +64,20 @@ dbus-indicate-client.h: indicate-interface.xml --output=dbus-indicate-client.h \ $(srcdir)/indicate-interface.xml +dbus-listener-server.h: indicate-listener.xml + dbus-binding-tool \ + --prefix=indicate_listener \ + --mode=glib-server \ + --output=dbus-listener-server.h \ + $(srcdir)/indicate-listener.xml + +dbus-listener-client.h: indicate-listener.xml + dbus-binding-tool \ + --prefix=indicate_listener \ + --mode=glib-client \ + --output=dbus-listener-client.h \ + $(srcdir)/indicate-listener.xml + listener-marshal.h: $(srcdir)/listener-marshal.list glib-genmarshal --header \ --prefix=indicate_listener_marshal $(srcdir)/listener-marshal.list \ -- cgit v1.2.3 From e792f8a058235bdff3d6646342c91abeadeb9819 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:14:26 -0600 Subject: true is TRUE --- libindicate/listener.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libindicate/listener.c b/libindicate/listener.c index 6feb6d7..747c9f8 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -287,7 +287,7 @@ dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, c /* g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); */ if (prev != NULL && prev[0] == '\0') { - todo_list_add(name, proxy, listener, false); + todo_list_add(name, proxy, listener, FALSE); } if (new != NULL && new[0] == '\0') { proxy_t * proxyt; @@ -370,7 +370,7 @@ build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * da guint i = 0; for (i = 0; names[i] != NULL; i++) { - todo_list_add(names[i], proxy, listener, true); + todo_list_add(names[i], proxy, listener, TRUE); } return; -- cgit v1.2.3 From cb288de59d9cbbbcb80744ca6c5ff1390a5305c3 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:33:12 -0600 Subject: Forgot to put these in built sources --- libindicate/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 380687a..5528d1d 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ BUILT_SOURCES = \ dbus-indicate-server.h \ dbus-indicate-client.h \ + dbus-listener-server.h \ + dbus-listener-client.h \ listener-marshal.c \ listener-marshal.h -- cgit v1.2.3 From d5ba977e05b34e40115a976febd47e14d0f1afd1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 25 Feb 2009 15:33:32 -0600 Subject: Linking in the build interfaces, needed a temporary function to get linking right --- libindicate/listener.c | 9 +++++++++ libindicate/listener.h | 1 + 2 files changed, 10 insertions(+) diff --git a/libindicate/listener.c b/libindicate/listener.c index 747c9f8..b786552 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -31,6 +31,8 @@ License version 3 and version 2.1 along with this program. If not, see #include "listener-marshal.h" #include #include "dbus-indicate-client.h" +#include "dbus-listener-client.h" +#include "dbus-listener-server.h" /* Errors */ enum { @@ -791,6 +793,13 @@ indicate_listener_get_property_icon (IndicateListener * listener, IndicateListen return get_property_helper(listener, server, indicator, property, G_CALLBACK(callback), data, PROPERTY_TYPE_ICON); } +gboolean +indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers) +{ + + +} + static void listener_display_cb (DBusGProxy *proxy, GError *error, gpointer userdata) { diff --git a/libindicate/listener.h b/libindicate/listener.h index ed40630..f931b04 100644 --- a/libindicate/listener.h +++ b/libindicate/listener.h @@ -109,6 +109,7 @@ void indicate_listener_get_property_icon (IndicateListener * l void indicate_listener_display (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator); +gboolean indicate_listener_get_indicator_servers (IndicateListener * listener, GList * servers); void indicate_listener_server_get_type (IndicateListener * listener, IndicateListenerServer * server, indicate_listener_get_server_property_cb callback, -- cgit v1.2.3 From a2af5af1343cbe97df47c51f7583c76c57e15d86 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Mar 2009 15:12:10 +0200 Subject: Putting the example executables in libexec and the source code in doc/examples --- tests/Makefile.am | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 0017bca..4a8f962 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ -noinst_PROGRAMS = \ +libexec_PROGRAMS = \ indicate-and-crash \ indicate-alot \ listen-and-print \ @@ -49,3 +49,12 @@ im_client_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) +examplesdir = $(docdir)/examples/ + +examples_DATA = \ + $(indicate_and_crash_SOURCES) \ + $(indicate_alot_SOURCES) \ + $(listen_and_print_SOURCES) \ + $(im_client_SOURCES) + +EXTRA_DIST = $(examples_DATA) -- cgit v1.2.3 From c1663bcfddcb90cb434a7bef06ac3d25ae35c675 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Mar 2009 17:02:47 +0200 Subject: Fix doubling of prototypes, patch from Eitan --- libindicate/indicator.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/libindicate/indicator.h b/libindicate/indicator.h index 5faea3c..8af5568 100644 --- a/libindicate/indicator.h +++ b/libindicate/indicator.h @@ -78,9 +78,6 @@ GType indicate_indicator_get_type(void) G_GNUC_CONST; IndicateIndicator * indicate_indicator_new (void); -/* Should these just be GObject properties? */ -void indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * property_name, const gchar * property_value); - /* Show and hide this indicator */ void indicate_indicator_show (IndicateIndicator * indicator); void indicate_indicator_hide (IndicateIndicator * indicator); -- cgit v1.2.3 From 2d63bb532ba2950a35a6dea22cdfda35937b00f6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 13:51:59 +0200 Subject: Right click menu is working, but without an about --- src/applet-main.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/src/applet-main.c b/src/applet-main.c index 57dc6b3..b9014ae 100644 --- a/src/applet-main.c +++ b/src/applet-main.c @@ -82,6 +82,18 @@ load_module (const gchar * name, GtkWidget * menu) return TRUE; } +static gboolean +menubar_press (GtkWidget * widget, + GdkEventButton *event, + gpointer data) +{ + if (event->button != 1) { + g_signal_stop_emission_by_name(widget, "button-press-event"); + } + + return FALSE; +} + static gboolean menubar_on_expose (GtkWidget * widget, GdkEventExpose *event, @@ -94,21 +106,82 @@ menubar_on_expose (GtkWidget * widget, return FALSE; } +static void +about_cb (BonoboUIComponent *ui_container, + gpointer data, + const gchar *cname) +{ + static const gchar *authors[] = { + "Ted Gould ", + NULL + }; + + static gchar *license[] = { + N_("The Fast User Switch Applet is free software; you can redistribute it and/or modify " + "it under the terms of the GNU General Public License as published by " + "the Free Software Foundation; either version 3 of the License."), + N_("This program is distributed in the hope that it will be useful, " + "but WITHOUT ANY WARRANTY; without even the implied warranties of " + "MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR " + "PURPOSE. See the GNU General Public License for more details."), + N_("You should have received a copy of the GNU General Public License " + "along with this program; if not, write to the Free Software " + "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "), + NULL + }; + gchar *license_i18n; + + license_i18n = g_strjoinv ("\n\n", license); + + gtk_show_about_dialog(NULL, + "version", "0.0", + "copyright", "Copyright \xc2\xa9 2009 Canonical, Ltd.", + "comments", _("An applet to hold all of the system indicators."), + "authors", authors, + "license", license_i18n, + "wrap-license", TRUE, + "translator-credits", _("translator-credits"), + "logo-icon-name", "stock_people", + "website", "http://launchpad.net/indicator-applet", + "website-label", "Fast User Switch Applet Website", + NULL + ); + + g_free (license_i18n); + + return; +} + +#ifdef N_ +#undef N_ +#endif +#define N_(x) x + static gboolean applet_fill_cb (PanelApplet * applet, const gchar * iid, gpointer data) { + static const BonoboUIVerb menu_verbs[] = { + BONOBO_UI_VERB ("IndicatorAppletAbout", about_cb), + BONOBO_UI_VERB_END + }; + static const gchar * menu_xml = + "" + "" + ""; + GtkWidget *menubar; gint i; gint indicators_loaded = 0; /* Set panel options */ gtk_container_set_border_width(GTK_CONTAINER (applet), 0); - panel_applet_set_flags(applet, PANEL_APPLET_EXPAND_MINOR | PANEL_APPLET_HAS_HANDLE); + panel_applet_set_flags(applet, PANEL_APPLET_EXPAND_MINOR); + panel_applet_setup_menu(applet, menu_xml, menu_verbs, NULL); /* Init some theme/icon stuff */ gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), ICONS_DIR); - g_debug("Icons directory: %s", ICONS_DIR); + /* g_debug("Icons directory: %s", ICONS_DIR); */ gtk_rc_parse_string ( "style \"indicator-applet-style\"\n" "{\n" @@ -123,6 +196,7 @@ applet_fill_cb (PanelApplet * applet, const gchar * iid, gpointer data) /* Build menubar */ menubar = gtk_menu_bar_new(); GTK_WIDGET_SET_FLAGS (menubar, GTK_WIDGET_FLAGS(menubar) | GTK_CAN_FOCUS); + g_signal_connect(menubar, "button-press-event", G_CALLBACK(menubar_press), NULL); g_signal_connect_after(menubar, "expose-event", G_CALLBACK(menubar_on_expose), menubar); gtk_container_set_border_width(GTK_CONTAINER(menubar), 0); -- cgit v1.2.3 From 5299a2cf331cb8fd88b99dad8434f4a3825711e2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 14:03:01 +0200 Subject: Fixing the popup to have the about --- src/applet-main.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/applet-main.c b/src/applet-main.c index b9014ae..1f261b6 100644 --- a/src/applet-main.c +++ b/src/applet-main.c @@ -117,7 +117,7 @@ about_cb (BonoboUIComponent *ui_container, }; static gchar *license[] = { - N_("The Fast User Switch Applet is free software; you can redistribute it and/or modify " + N_("The Indicator Applet is free software; you can redistribute it and/or modify " "it under the terms of the GNU General Public License as published by " "the Free Software Foundation; either version 3 of the License."), N_("This program is distributed in the hope that it will be useful, " @@ -134,16 +134,16 @@ about_cb (BonoboUIComponent *ui_container, license_i18n = g_strjoinv ("\n\n", license); gtk_show_about_dialog(NULL, - "version", "0.0", + "version", "0.1", "copyright", "Copyright \xc2\xa9 2009 Canonical, Ltd.", "comments", _("An applet to hold all of the system indicators."), "authors", authors, "license", license_i18n, "wrap-license", TRUE, "translator-credits", _("translator-credits"), - "logo-icon-name", "stock_people", + "logo-icon-name", "indicator-applet", "website", "http://launchpad.net/indicator-applet", - "website-label", "Fast User Switch Applet Website", + "website-label", _("Indicator Applet Website"), NULL ); @@ -165,9 +165,9 @@ applet_fill_cb (PanelApplet * applet, const gchar * iid, gpointer data) BONOBO_UI_VERB_END }; static const gchar * menu_xml = - "" - "" - ""; + "" + "" + ""; GtkWidget *menubar; gint i; -- cgit v1.2.3 From ad92d558b771762cccf3e49cdb4cb50dda6bef7a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 14:22:31 +0200 Subject: Stealing the 'fast-user-switch-applet' name to get better theming --- src/applet-main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/applet-main.c b/src/applet-main.c index 1f261b6..62faab0 100644 --- a/src/applet-main.c +++ b/src/applet-main.c @@ -190,8 +190,9 @@ applet_fill_cb (PanelApplet * applet, const gchar * iid, gpointer data) " GtkWidget::focus-line-width = 0\n" " GtkWidget::focus-padding = 0\n" "}\n" - "widget \"*.indicator-applet-menubar\" style \"indicator-applet-style\""); - gtk_widget_set_name(GTK_WIDGET (applet), "indicator-applet-menubar"); + "widget \"*.fast-user-switch-applet\" style \"indicator-applet-style\""); + //gtk_widget_set_name(GTK_WIDGET (applet), "indicator-applet-menubar"); + gtk_widget_set_name(GTK_WIDGET (applet), "fast-user-switch-applet"); /* Build menubar */ menubar = gtk_menu_bar_new(); -- cgit v1.2.3 From 34d085bf03d1b745a21d7353b3d980f6e3e07d90 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 18:55:36 +0200 Subject: Changing version number --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3ae3656..e32da5f 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_INIT(src/applet-main.c) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(indicator-applet, 0.1.1) +AM_INIT_AUTOMAKE(indicator-applet, 0.1.2) AM_MAINTAINER_MODE -- cgit v1.2.3 From cad75161c3193652507cba2cafec732a0757ae03 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Mar 2009 19:21:22 +0200 Subject: Fixes for distcheck --- Makefile.am | 3 +++ libindicate/Makefile.am | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Makefile.am b/Makefile.am index f304ab6..d4f7ca2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,6 +14,9 @@ EXTRA_DIST = \ omf.make \ xmldocs.make +DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-scrollkeeper + DISTCLEANFILES = \ indicator-applet-*.tar.gz \ gtk-doc.make + diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 5528d1d..b851919 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -34,6 +34,8 @@ libindicate_la_SOURCES = \ $(indicate_headers) \ dbus-indicate-server.h \ dbus-indicate-client.h \ + dbus-listener-server.h \ + dbus-listener-client.h \ server.c \ listener.c \ listener-marshal.c \ -- cgit v1.2.3