From 63dad6a7ff9cebb6d55d19d8d4233a171100a320 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Jun 2009 09:31:48 -0500 Subject: Patch from Mark Trompell to make suffix checking better. --- src/applet-main.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/applet-main.c b/src/applet-main.c index fca71a7..2aa03ee 100644 --- a/src/applet-main.c +++ b/src/applet-main.c @@ -62,16 +62,10 @@ load_module (const gchar * name, GtkWidget * menu) g_debug("Looking at Module: %s", name); g_return_val_if_fail(name != NULL, FALSE); - guint suffix_len = strlen(G_MODULE_SUFFIX); - guint name_len = strlen(name); - - g_return_val_if_fail(name_len > suffix_len, FALSE); - - int i; - for (i = 0; i < suffix_len; i++) { - if (name[(name_len - suffix_len) + i] != (G_MODULE_SUFFIX)[i]) - return FALSE; + if (!g_str_has_suffix(name, G_MODULE_SUFFIX)) { + return FALSE; } + g_debug("Loading Module: %s", name); gchar * fullpath = g_build_filename(INDICATOR_DIR, name, NULL); -- cgit v1.2.3 From 786788546803ee6e02c3c07dc17827d50bba22e2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 3 Jul 2009 14:41:48 -0500 Subject: A little like mentioned on the GNOME Wiki, but doesn't work until I have a higher version of automake. Doesn't seem to cause problems though. --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 939accd..89bfbd8 100644 --- a/configure.ac +++ b/configure.ac @@ -7,6 +7,7 @@ AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(indicator-applet, 0.2.0dev) AM_MAINTAINER_MODE +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES]) IT_PROG_INTLTOOL([0.35.0]) AC_ISC_POSIX -- cgit v1.2.3 From e3a0b5a84b1da2dd632972dccb0dad35859d5957 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 21 Jul 2009 10:42:36 -0500 Subject: Oops, we shouldn't have a prototype for a function that doesn't exist. Thanks to Aurilien. --- libindicate/server.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/libindicate/server.h b/libindicate/server.h index 2a300e2..ef938c3 100644 --- a/libindicate/server.h +++ b/libindicate/server.h @@ -151,9 +151,6 @@ struct _IndicateServerClass { GType indicate_server_get_type (void) G_GNUC_CONST; -/* Create a new server */ -IndicateServer * indicate_server_new (void); - /* Sets the object. By default this is /org/freedesktop/indicators */ void indicate_server_set_dbus_object (const gchar * obj); -- cgit v1.2.3 From 5cbbca20e09a1d7281c566b01b1fc2b50a81d0b5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 21 Jul 2009 11:37:51 -0500 Subject: Creating the server marshallers that we need --- libindicate/Makefile.am | 15 +++++++++++++++ libindicate/server-marshal.list | 29 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 libindicate/server-marshal.list diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index 3ad6247..a35cf35 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -9,6 +9,7 @@ EXTRA_DIST = \ indicate-interface.xml \ indicate-listener.xml \ listener-marshal.list \ + server-marshal.list \ indicate.pc.in BUILT_SOURCES = \ @@ -18,6 +19,8 @@ BUILT_SOURCES = \ dbus-listener-client.h \ listener-marshal.c \ listener-marshal.h \ + server-marshal.c \ + server-marshal.h \ $(ENUM_FILE).h \ $(ENUM_FILE).c @@ -45,6 +48,8 @@ libindicate_la_SOURCES = \ dbus-listener-client.h \ indicate-enum-types.c \ server.c \ + server-marshal.c \ + server-marshal.h \ listener.c \ listener-marshal.c \ listener-marshal.h \ @@ -101,6 +106,16 @@ listener-marshal.c: $(srcdir)/listener-marshal.list --prefix=_indicate_listener_marshal $(srcdir)/listener-marshal.list \ > listener-marshal.c +server-marshal.h: $(srcdir)/server-marshal.list + glib-genmarshal --header \ + --prefix=_indicate_server_marshal $(srcdir)/server-marshal.list \ + > server-marshal.h + +server-marshal.c: $(srcdir)/server-marshal.list + glib-genmarshal --body \ + --prefix=_indicate_server_marshal $(srcdir)/server-marshal.list \ + > server-marshal.c + pkgconfig_DATA = indicate.pc pkgconfigdir = $(libdir)/pkgconfig diff --git a/libindicate/server-marshal.list b/libindicate/server-marshal.list new file mode 100644 index 0000000..540f0fe --- /dev/null +++ b/libindicate/server-marshal.list @@ -0,0 +1,29 @@ +# A library to allow applictions to provide simple indications of +# information to be displayed to users of the application through the +# interface shell. +# +# Copyright 2009 Canonical Ltd. +# +# Authors: +# Ted Gould +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of either or both of the following licenses: +# +# 1) the GNU Lesser General Public License version 3, as published by the +# Free Software Foundation; and/or +# 2) the GNU Lesser General Public License version 2.1, as published by +# the Free Software Foundation. +# +# 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 applicable version of the GNU Lesser General Public +# License for more details. +# +# You should have received a copy of both the GNU Lesser General Public +# License version 3 and version 2.1 along with this program. If not, see +# +# +# IndicatorAdded +VOID:UINT,STRING -- cgit v1.2.3 From b8b2c52d84980f6132e6071dc879ac5e40b90880 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 21 Jul 2009 11:39:26 -0500 Subject: Using the server marshaller --- libindicate/server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libindicate/server.c b/libindicate/server.c index cd8b33a..95a5c3c 100644 --- a/libindicate/server.c +++ b/libindicate/server.c @@ -29,6 +29,7 @@ License version 3 and version 2.1 along with this program. If not, see #include "server.h" #include "interests-priv.h" +#include "server-marshal.h" #include #include @@ -179,7 +180,7 @@ indicate_server_class_init (IndicateServerClass * class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (IndicateServerClass, indicator_added), NULL, NULL, - g_cclosure_marshal_VOID__UINT_POINTER, + _indicate_server_marshal_VOID__UINT_STRING, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_STRING); /** IndicateServer::indicator-removed: -- cgit v1.2.3 From 53908231e04a6b04ff07bde18bc737079a83aa4f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 21 Jul 2009 11:41:46 -0500 Subject: Fixing the other signal marshallers --- libindicate/server.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libindicate/server.c b/libindicate/server.c index 95a5c3c..a3d3be8 100644 --- a/libindicate/server.c +++ b/libindicate/server.c @@ -198,7 +198,7 @@ indicate_server_class_init (IndicateServerClass * class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (IndicateServerClass, indicator_removed), NULL, NULL, - g_cclosure_marshal_VOID__UINT_POINTER, + _indicate_server_marshal_VOID__UINT_STRING, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_STRING); /** IndicateServer::indicator-modified: @@ -216,7 +216,7 @@ indicate_server_class_init (IndicateServerClass * class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (IndicateServerClass, indicator_modified), NULL, NULL, - g_cclosure_marshal_VOID__UINT_POINTER, + _indicate_server_marshal_VOID__UINT_STRING, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_STRING); /** IndicateServer::server-show: @@ -232,7 +232,7 @@ indicate_server_class_init (IndicateServerClass * class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (IndicateServerClass, server_show), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, + g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); /** IndicateServer::server-hide: @@ -247,7 +247,7 @@ indicate_server_class_init (IndicateServerClass * class) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (IndicateServerClass, server_hide), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, + g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); /** IndicateServer::server-display: -- cgit v1.2.3 From 8157a2c4c11e6a15b52b100e5c58ba9d6cd48850 Mon Sep 17 00:00:00 2001 From: Aurelien Gateau Date: Mon, 27 Jul 2009 17:18:41 +0200 Subject: Destroy dbus proxies in listener finalize. Makes it possible to destroy a listener and recreate one without calling the old instance callbacks (useful for unit-tests). --- libindicate/listener.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libindicate/listener.c b/libindicate/listener.c index bd3639d..5a64c81 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -277,8 +277,19 @@ indicate_listener_init (IndicateListener * listener) static void indicate_listener_finalize (GObject * obj) { - /* IndicateListener * listener = INDICATE_LISTENER(obj); */ - + IndicateListener * listener = INDICATE_LISTENER(obj); + IndicateListenerPrivate * priv = INDICATE_LISTENER_GET_PRIVATE(listener); + + if (priv->todo_idle != 0) { + g_idle_remove_by_data(obj); + } + /* Hack: proxy_struct_destroy() lacks a user_data parameter, but since the + * caller is responsible for handling params on the stack, it works + */ + g_list_foreach(priv->proxies_possible, (GFunc)proxy_struct_destroy, NULL); + g_list_free(priv->proxies_possible); + g_list_foreach(priv->proxies_working, (GFunc)proxy_struct_destroy, NULL); + g_list_free(priv->proxies_working); G_OBJECT_CLASS (indicate_listener_parent_class)->finalize (obj); return; } -- cgit v1.2.3 From 7f379d5d7fb9ddf834be4864324637b12af98750 Mon Sep 17 00:00:00 2001 From: Aurelien Gateau Date: Mon, 27 Jul 2009 17:20:24 +0200 Subject: Removed warning: it's annoying in unittests. --- libindicate/listener.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libindicate/listener.c b/libindicate/listener.c index 5a64c81..501d367 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -297,8 +297,6 @@ indicate_listener_finalize (GObject * obj) IndicateListener * indicate_listener_new (void) { - g_warning("Creating a new listener is generally discouraged, please use indicate_listener_ref_default"); - IndicateListener * listener; listener = g_object_new(INDICATE_TYPE_LISTENER, NULL); return listener; -- cgit v1.2.3 From f344374861267a39d874e67f1fb4967b3f844e82 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 18:08:22 +0100 Subject: Ignoring built files --- .bzrignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.bzrignore b/.bzrignore index 6e10243..47d219c 100644 --- a/.bzrignore +++ b/.bzrignore @@ -79,3 +79,6 @@ test-interests-server4 test-interests-server5 test-thousand-indicators-server test-thousand-indicators-client +libindicate_la-server-marshal.lo +server-marshal.c +server-marshal.h -- cgit v1.2.3 From b3d3f3de3bb73ac8cc77ed5c8bde5aeb76073af2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 18:50:57 +0100 Subject: Adding a function to set the server of the indicator upon creation. indicate_indicator_new_with_server() --- libindicate/indicator.c | 30 ++++++++++++++++++++++++++++++ libindicate/indicator.h | 5 ++++- libindicate/server.h | 3 ++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/libindicate/indicator.c b/libindicate/indicator.c index 76eb616..92712bd 100644 --- a/libindicate/indicator.c +++ b/libindicate/indicator.c @@ -203,6 +203,36 @@ indicate_indicator_new (void) return indicator; } +/** + indicate_indicator_new_with_server: + @server: The server that should be associated with this indicator. + + Builds a new indicator object using g_object_new() and sets + the server to the specified server. Also, adds a reference + to the server. + + Return value: A pointer to a new #IndicateIndicator object. +*/ +IndicateIndicator * +indicate_indicator_new_with_server (IndicateServer * server) +{ + g_return_val_if_fail(server != NULL, NULL); + + IndicateIndicator * indicator = g_object_new(INDICATE_TYPE_INDICATOR, NULL); + + IndicateIndicatorPrivate * priv = INDICATE_INDICATOR_GET_PRIVATE(indicator); + if (priv->server != NULL) { + g_object_unref(priv->server); + priv->server = NULL; + } + + priv->server = server; + g_object_ref(priv->server); + + return indicator; +} + + /** indicate_indicator_show: @indicator: a #IndicateIndicator to act on diff --git a/libindicate/indicator.h b/libindicate/indicator.h index 3e2a803..118c6c0 100644 --- a/libindicate/indicator.h +++ b/libindicate/indicator.h @@ -68,6 +68,8 @@ struct _IndicateIndicator { GObject parent; }; +#include "server.h" + /** IndicateIndicatorClass: @parent_class: Parent class #GObjectClass. @@ -109,7 +111,9 @@ struct _IndicateIndicatorClass { GType indicate_indicator_get_type(void) G_GNUC_CONST; +/* New Indicator Functions */ IndicateIndicator * indicate_indicator_new (void); +IndicateIndicator * indicate_indicator_new_with_server (IndicateServer * server); /* Show and hide this indicator */ void indicate_indicator_show (IndicateIndicator * indicator); @@ -167,4 +171,3 @@ GPtrArray * indicate_indicator_list_properties (IndicateIndicator * indicator); G_END_DECLS #endif /* INDICATE_INDICATOR_H_INCLUDED__ */ - diff --git a/libindicate/server.h b/libindicate/server.h index ef938c3..cff76c4 100644 --- a/libindicate/server.h +++ b/libindicate/server.h @@ -33,7 +33,6 @@ License version 3 and version 2.1 along with this program. If not, see #include #include -#include "indicator.h" #include "interests.h" G_BEGIN_DECLS @@ -72,6 +71,8 @@ struct _IndicateServer { GObject parent; }; +#include "indicator.h" + /** IndicateServerClass: @parent: Parent Class -- cgit v1.2.3 From ecde85f57823acace986724989fa57daf43799d2 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 19:10:34 +0100 Subject: Creating a default little GTK library to move the GTK stuff in --- Makefile.am | 1 + configure.ac | 10 ++++++ libindicate-gtk/Makefile.am | 68 ++++++++++++++++++++++++++++++++++++++ libindicate-gtk/indicate-gtk.pc.in | 14 ++++++++ libindicate-gtk/indicator.c | 5 +++ libindicate-gtk/indicator.h | 0 6 files changed, 98 insertions(+) create mode 100644 libindicate-gtk/Makefile.am create mode 100644 libindicate-gtk/indicate-gtk.pc.in create mode 100644 libindicate-gtk/indicator.c create mode 100644 libindicate-gtk/indicator.h diff --git a/Makefile.am b/Makefile.am index ac6fe90..bdd32f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,6 +2,7 @@ SUBDIRS = \ src \ libindicate \ + libindicate-gtk \ libindicator \ examples \ tests \ diff --git a/configure.ac b/configure.ac index 89bfbd8..13f4b6c 100644 --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,14 @@ PKG_CHECK_MODULES(LIBINDICATE, glib-2.0 >= $GLIB_REQUIRED_VERSION AC_SUBST(LIBINDICATE_CFLAGS) AC_SUBST(LIBINDICATE_LIBS) +PKG_CHECK_MODULES(LIBINDICATEGTK, glib-2.0 >= $GLIB_REQUIRED_VERSION + gio-2.0 >= $GIO_REQUIRED_VERSION + gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED_VERSION + dbus-glib-1 >= $DBUS_REQUIRED_VERSION + libxml-2.0 >= $XML_REQUIRED_VERSION) +AC_SUBST(LIBINDICATEGTK_CFLAGS) +AC_SUBST(LIBINDICATEGTK_LIBS) + ########################### # GObject Introspection ########################### @@ -162,6 +170,8 @@ Makefile src/Makefile libindicate/Makefile libindicate/indicate.pc +libindicate-gtk/Makefile +libindicate-gtk/indicate-gtk.pc libindicator/Makefile libindicator/indicator.pc examples/Makefile diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am new file mode 100644 index 0000000..0e1d08d --- /dev/null +++ b/libindicate-gtk/Makefile.am @@ -0,0 +1,68 @@ + +INCLUDES= \ + -DG_LOG_DOMAIN=\"libindicate-gtk\" + +EXTRA_DIST = \ + indicate-gtk.pc.in + +lib_LTLIBRARIES = \ + libindicate-gtk.la + +libindicate_gtkincludedir=$(includedir)/libindicate-0.1/libindicate-gtk + +indicate_gtk_headers = \ + indicator.h + +libindicate_gtkinclude_HEADERS = \ + $(indicate_headers) + +libindicate_gtk_la_SOURCES = \ + $(indicate_headers) \ + indicator.c + +libindicate_gtk_la_LDFLAGS = \ + -version-info $(LIBINDICATE_CURRENT):$(LIBINDICATE_REVISION):$(LIBINDICATE_AGE) \ + -no-undefined \ + -export-symbols-regex "^[^_d].*" + +libindicate_gtk_la_CFLAGS = \ + $(LIBINDICATEGTK_CFLAGS) + +libindicate_gtk_la_LIBADD = \ + $(LIBINDICATEGTK_LIBS) + +pkgconfig_DATA = indicate-gtk.pc +pkgconfigdir = $(libdir)/pkgconfig + +if USE_GIR + +gobjectintrospection_gir_DATA = \ + Indicate-gtk-0.1.gir +gobjectintrospection_girdir = $(datadir)/gir + +gobjectintrospection_type_DATA = \ + Indicate-gtk-0.1.typelib +gobjectintrospection_typedir = $(libdir)/girepository + +irscanner_headers = $(patsubst %,$(srcdir)/%,$(indicate_headers)) +Indicate-gtk-0.1.gir: $(irscanner_headers) + $(G_IR_SCANNER) \ + -v --namespace IndicateGtk \ + --nsversion=0.1 \ + --add-include-path=$(srcdir) \ + --include=GObject-2.0 \ + --include=GLib-2.0 \ + --include=GdkPixbuf-2.0 \ + --library=indicate --pkg indicate \ + --output Indicate-gtk-0.1.gir $(irscanner_headers) + +Indicate-gtk-0.1.typelib: Indicate-gtk-0.1.gir + $(G_IR_COMPILER) \ + --includedir=$(srcdir) Indicate-gtk-0.1.gir \ + -o Indicate-gtk-0.1.typelib + +DISTCLEANFILES = \ + Indicate-gtk-0.1.gir \ + Indicate-gtk-0.1.typelib + +endif diff --git a/libindicate-gtk/indicate-gtk.pc.in b/libindicate-gtk/indicate-gtk.pc.in new file mode 100644 index 0000000..28e3c81 --- /dev/null +++ b/libindicate-gtk/indicate-gtk.pc.in @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +bindir=@bindir@ +includedir=@includedir@ + +Cflags: -I${includedir}/libindicate-0.1 +Requires: gtk+-2.0 indicate +Libs: -L${libdir} -lindicate-gtk + +Name: libindicate-gtk +Description: libindicate GTK stuff. +Version: @VERSION@ + diff --git a/libindicate-gtk/indicator.c b/libindicate-gtk/indicator.c new file mode 100644 index 0000000..d5f07ef --- /dev/null +++ b/libindicate-gtk/indicator.c @@ -0,0 +1,5 @@ + +void var (void) { + + return; +} diff --git a/libindicate-gtk/indicator.h b/libindicate-gtk/indicator.h new file mode 100644 index 0000000..e69de29 -- cgit v1.2.3 From 840e1c8b34542acf017d3e0caf921062827c280b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 19:25:05 +0100 Subject: Okay, now it is the offending function in it. --- configure.ac | 1 + libindicate-gtk/Makefile.am | 4 +-- libindicate-gtk/indicator.c | 71 ++++++++++++++++++++++++++++++++++++++++++++- libindicate-gtk/indicator.h | 44 ++++++++++++++++++++++++++++ 4 files changed, 117 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 13f4b6c..beed048 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,7 @@ AC_SUBST(LIBINDICATE_LIBS) PKG_CHECK_MODULES(LIBINDICATEGTK, glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED_VERSION + gtk+-2.0 >= $GTK_REQUIRED_VERSION dbus-glib-1 >= $DBUS_REQUIRED_VERSION libxml-2.0 >= $XML_REQUIRED_VERSION) AC_SUBST(LIBINDICATEGTK_CFLAGS) diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am index 0e1d08d..a6a50fa 100644 --- a/libindicate-gtk/Makefile.am +++ b/libindicate-gtk/Makefile.am @@ -14,10 +14,10 @@ indicate_gtk_headers = \ indicator.h libindicate_gtkinclude_HEADERS = \ - $(indicate_headers) + $(indicate_gtk_headers) libindicate_gtk_la_SOURCES = \ - $(indicate_headers) \ + $(indicate_gtk_headers) \ indicator.c libindicate_gtk_la_LDFLAGS = \ diff --git a/libindicate-gtk/indicator.c b/libindicate-gtk/indicator.c index d5f07ef..a575849 100644 --- a/libindicate-gtk/indicator.c +++ b/libindicate-gtk/indicator.c @@ -1,5 +1,74 @@ +/* +A library to allow applictions to provide simple indications of +information to be displayed to users of the application through the +interface shell. -void var (void) { +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +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 applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see + +*/ + +#include "indicator.h" + +/** + indicate_indicator_set_property_icon: + @indicator: a #IndicateIndicator to act on + @key: name of the property + @data: icon to set property with + + This is a helper function that wraps around #indicate_indicator_set_property + but takes an #GdkPixbuf parameter. It then takes the @data + parameter, turns it into a PNG, base64 encodes it and then + uses that data to call #indicate_indicator_set_property. +*/ +void +indicate_indicator_set_property_icon (IndicateIndicator * indicator, const gchar * key, const GdkPixbuf * data) +{ + if (!GDK_IS_PIXBUF(data)) { + g_warning("Invalide GdkPixbuf"); + return; + } + + GError * error = NULL; + gchar * png_data; + gsize png_data_len; + + if (!gdk_pixbuf_save_to_buffer((GdkPixbuf *)data, &png_data, &png_data_len, "png", &error, NULL)) { + if (error == NULL) { + g_warning("Unable to create pixbuf data stream: %d", png_data_len); + } else { + g_warning("Unable to create pixbuf data stream: %s", error->message); + g_error_free(error); + error = NULL; + } + + return; + } + + gchar * prop_str = g_base64_encode((guchar *)png_data, png_data_len); + indicate_indicator_set_property(indicator, key, prop_str); + + g_free(prop_str); + g_free(png_data); return; } diff --git a/libindicate-gtk/indicator.h b/libindicate-gtk/indicator.h index e69de29..43e264f 100644 --- a/libindicate-gtk/indicator.h +++ b/libindicate-gtk/indicator.h @@ -0,0 +1,44 @@ +/* +A library to allow applictions to provide simple indications of +information to be displayed to users of the application through the +interface shell. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +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 applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see + +*/ + +#ifndef INDICATE_GTK_INDICATOR_H_INCLUDED__ +#define INDICATE_GTK_INDICATOR_H_INCLUDED__ 1 + +#include +#include +#include "libindicate/indicator.h" + +G_BEGIN_DECLS + +/* Properties handling */ +void indicate_indicator_set_property_icon (IndicateIndicator * indicator, const gchar * key, const GdkPixbuf * data); + +G_END_DECLS + +#endif /* INDICATE_GTK_INDICATOR_H_INCLUDED__ */ -- cgit v1.2.3 From 78ad4c46f88249a278dc0d86a3241716c0e7f385 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:31:00 +0100 Subject: Moving the listener code and some indicator code into libindicate-gtk --- libindicate-gtk/Makefile.am | 6 ++-- libindicate/Makefile.am | 1 + libindicate/indicator.c | 44 ------------------------ libindicate/indicator.h | 3 -- libindicate/listener-private.h | 63 ++++++++++++++++++++++++++++++++++ libindicate/listener.c | 77 ++---------------------------------------- libindicate/listener.h | 7 ---- 7 files changed, 70 insertions(+), 131 deletions(-) create mode 100644 libindicate/listener-private.h diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am index a6a50fa..6112b5f 100644 --- a/libindicate-gtk/Makefile.am +++ b/libindicate-gtk/Makefile.am @@ -11,14 +11,16 @@ lib_LTLIBRARIES = \ libindicate_gtkincludedir=$(includedir)/libindicate-0.1/libindicate-gtk indicate_gtk_headers = \ - indicator.h + indicator.h \ + listener.h libindicate_gtkinclude_HEADERS = \ $(indicate_gtk_headers) libindicate_gtk_la_SOURCES = \ $(indicate_gtk_headers) \ - indicator.c + indicator.c \ + listener.c libindicate_gtk_la_LDFLAGS = \ -version-info $(LIBINDICATE_CURRENT):$(LIBINDICATE_REVISION):$(LIBINDICATE_AGE) \ diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index a35cf35..d4746fb 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -53,6 +53,7 @@ libindicate_la_SOURCES = \ listener.c \ listener-marshal.c \ listener-marshal.h \ + listener-private.h \ indicator.c \ indicator-message.c \ interests-priv.h diff --git a/libindicate/indicator.c b/libindicate/indicator.c index 92712bd..cb257eb 100644 --- a/libindicate/indicator.c +++ b/libindicate/indicator.c @@ -380,50 +380,6 @@ indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * ke return class->set_property(indicator, key, data); } -/** - indicate_indicator_set_property_icon: - @indicator: a #IndicateIndicator to act on - @key: name of the property - @data: icon to set property with - - This is a helper function that wraps around #indicate_indicator_set_property - but takes an #GdkPixbuf parameter. It then takes the @data - parameter, turns it into a PNG, base64 encodes it and then - uses that data to call #indicate_indicator_set_property. -*/ -void -indicate_indicator_set_property_icon (IndicateIndicator * indicator, const gchar * key, const GdkPixbuf * data) -{ - if (!GDK_IS_PIXBUF(data)) { - g_warning("Invalide GdkPixbuf"); - return; - } - - GError * error = NULL; - gchar * png_data; - gsize png_data_len; - - if (!gdk_pixbuf_save_to_buffer((GdkPixbuf *)data, &png_data, &png_data_len, "png", &error, NULL)) { - if (error == NULL) { - g_warning("Unable to create pixbuf data stream: %d", png_data_len); - } else { - g_warning("Unable to create pixbuf data stream: %s", error->message); - g_error_free(error); - error = NULL; - } - - return; - } - - gchar * prop_str = g_base64_encode((guchar *)png_data, png_data_len); - indicate_indicator_set_property(indicator, key, prop_str); - - g_free(prop_str); - g_free(png_data); - - return; -} - /** indicate_indicator_set_property_time: @indicator: a #IndicateIndicator to act on diff --git a/libindicate/indicator.h b/libindicate/indicator.h index 118c6c0..20b998d 100644 --- a/libindicate/indicator.h +++ b/libindicate/indicator.h @@ -33,8 +33,6 @@ License version 3 and version 2.1 along with this program. If not, see #include #include -#include - G_BEGIN_DECLS /* Boilerplate */ @@ -132,7 +130,6 @@ void indicate_indicator_user_display (IndicateIndicator * indicator); /* Properties handling */ void indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * key, const gchar * data); -void indicate_indicator_set_property_icon (IndicateIndicator * indicator, const gchar * key, const GdkPixbuf * data); void indicate_indicator_set_property_time (IndicateIndicator * indicator, const gchar * key, GTimeVal * time); const gchar * indicate_indicator_get_property (IndicateIndicator * indicator, const gchar * key); GPtrArray * indicate_indicator_list_properties (IndicateIndicator * indicator); diff --git a/libindicate/listener-private.h b/libindicate/listener-private.h new file mode 100644 index 0000000..ea1b108 --- /dev/null +++ b/libindicate/listener-private.h @@ -0,0 +1,63 @@ +/* +A library to allow applictions to provide simple indications of +information to be displayed to users of the application through the +interface shell. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +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 applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see + +*/ + +#ifndef INDICATE_LISTENER_PRIVATE_H__ +#define INDICATE_LISTENER_PRIVATE_H__ 1 + +struct _IndicateListenerServer { + gchar * name; + DBusGProxy * proxy; + DBusGConnection * connection; + gboolean interests[INDICATE_INTEREST_LAST]; +}; + +struct _IndicateListenerIndicator { + guint id; +}; + +typedef struct _IndicateListenerPrivate IndicateListenerPrivate; +struct _IndicateListenerPrivate +{ + DBusGConnection * session_bus; + DBusGConnection * system_bus; + + DBusGProxy * dbus_proxy_session; + DBusGProxy * dbus_proxy_system; + + GList * proxies_working; + GList * proxies_possible; + + GArray * proxy_todo; + guint todo_idle; +}; + +#define INDICATE_LISTENER_GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATE_TYPE_LISTENER, IndicateListenerPrivate)) + +#endif /* INDICATE_LISTENER_PRIVATE_H__ */ diff --git a/libindicate/listener.c b/libindicate/listener.c index 501d367..48ad616 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -54,35 +54,7 @@ enum { static guint signals[LAST_SIGNAL] = { 0 }; -struct _IndicateListenerServer { - gchar * name; - DBusGProxy * proxy; - DBusGConnection * connection; - gboolean interests[INDICATE_INTEREST_LAST]; -}; - -struct _IndicateListenerIndicator { - guint id; -}; - -typedef struct _IndicateListenerPrivate IndicateListenerPrivate; -struct _IndicateListenerPrivate -{ - DBusGConnection * session_bus; - DBusGConnection * system_bus; - - DBusGProxy * dbus_proxy_session; - DBusGProxy * dbus_proxy_system; - - GList * proxies_working; - GList * proxies_possible; - - GArray * proxy_todo; - guint todo_idle; -}; - -#define INDICATE_LISTENER_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATE_TYPE_LISTENER, IndicateListenerPrivate)) +#include "listener-private.h" typedef struct { DBusGProxy * proxy; @@ -718,8 +690,7 @@ proxy_indicators_free (gpointer data) typedef enum _get_property_type get_property_type; enum _get_property_type { PROPERTY_TYPE_STRING, - PROPERTY_TYPE_TIME, - PROPERTY_TYPE_ICON + PROPERTY_TYPE_TIME }; typedef struct _get_property_t get_property_t; @@ -750,44 +721,6 @@ get_property_cb (DBusGProxy *proxy, char * OUT_value, GError *error, gpointer us cb(get_property_data->listener, get_property_data->server, get_property_data->indicator, get_property_data->property, OUT_value, get_property_data->data); break; } - case PROPERTY_TYPE_ICON: { - indicate_listener_get_property_icon_cb cb = (indicate_listener_get_property_icon_cb)get_property_data->cb; - - /* There is no icon */ - if (OUT_value == NULL || OUT_value[0] == '\0') { - break; - } - - gsize length = 0; - guchar * icondata = g_base64_decode(OUT_value, &length); - - GInputStream * input = g_memory_input_stream_new_from_data(icondata, length, NULL); - if (input == NULL) { - g_warning("Cound not create input stream from icon property data"); - g_free(icondata); - break; - } - - GError * error = NULL; - GdkPixbuf * icon = gdk_pixbuf_new_from_stream(input, NULL, &error); - if (icon != NULL) { - cb(get_property_data->listener, get_property_data->server, get_property_data->indicator, get_property_data->property, icon, get_property_data->data); - } - - if (error != NULL) { - g_warning("Unable to build Pixbuf from icon data: %s", error->message); - g_error_free(error); - } - - error = NULL; - g_input_stream_close(input, NULL, &error); - if (error != NULL) { - g_warning("Unable to close input stream: %s", error->message); - g_error_free(error); - } - g_free(icondata); - break; - } case PROPERTY_TYPE_TIME: { indicate_listener_get_property_time_cb cb = (indicate_listener_get_property_time_cb)get_property_data->cb; GTimeVal time; @@ -834,12 +767,6 @@ indicate_listener_get_property_time (IndicateListener * listener, IndicateListen return get_property_helper(listener, server, indicator, property, G_CALLBACK(callback), data, PROPERTY_TYPE_TIME); } -void -indicate_listener_get_property_icon (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, indicate_listener_get_property_icon_cb callback, gpointer data) -{ - 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) { diff --git a/libindicate/listener.h b/libindicate/listener.h index 5bfd298..f2ed4b1 100644 --- a/libindicate/listener.h +++ b/libindicate/listener.h @@ -88,7 +88,6 @@ GType indicate_listener_get_type (void) G_GNUC_CONST; typedef void (*indicate_listener_get_property_cb) (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, gchar * propertydata, gpointer data); typedef void (*indicate_listener_get_property_time_cb) (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GTimeVal * propertydata, gpointer data); -typedef void (*indicate_listener_get_property_icon_cb) (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GdkPixbuf * propertydata, gpointer data); typedef void (*indicate_listener_get_server_property_cb) (IndicateListener * listener, IndicateListenerServer * server, gchar * value, gpointer data); /* Create a new listener */ @@ -106,12 +105,6 @@ void indicate_listener_get_property_time (IndicateListener * l gchar * property, indicate_listener_get_property_time_cb callback, gpointer data); -void indicate_listener_get_property_icon (IndicateListener * listener, - IndicateListenerServer * server, - IndicateListenerIndicator * indicator, - gchar * property, - indicate_listener_get_property_icon_cb callback, - gpointer data); void indicate_listener_display (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator); -- cgit v1.2.3 From 793db0f028b5843428e8d5e7bbdf053c4978cf8e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:43:37 +0100 Subject: Oops, forgot the listener stuff --- libindicate-gtk/listener.c | 148 +++++++++++++++++++++++++++++++++++++++++++++ libindicate-gtk/listener.h | 57 +++++++++++++++++ 2 files changed, 205 insertions(+) create mode 100644 libindicate-gtk/listener.c create mode 100644 libindicate-gtk/listener.h diff --git a/libindicate-gtk/listener.c b/libindicate-gtk/listener.c new file mode 100644 index 0000000..dceb05b --- /dev/null +++ b/libindicate-gtk/listener.c @@ -0,0 +1,148 @@ +/* +A library to allow applictions to provide simple indications of +information to be displayed to users of the application through the +interface shell. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +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 applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see + +*/ + +#include "listener.h" +#include + +#include "../libindicate/dbus-indicate-client.h" +#include "../libindicate/listener-private.h" + +typedef enum _get_property_type get_property_type; +enum _get_property_type { + PROPERTY_TYPE_STRING, + PROPERTY_TYPE_TIME, + PROPERTY_TYPE_ICON +}; + +typedef struct _get_property_t get_property_t; +struct _get_property_t { + GCallback cb; + gpointer data; + IndicateListener * listener; + IndicateListenerServer * server; + IndicateListenerIndicator * indicator; + gchar * property; + get_property_type type; +}; + +static void +get_property_cb (DBusGProxy *proxy, char * OUT_value, GError *error, gpointer userdata) +{ + get_property_t * get_property_data = (get_property_t *)userdata; + + if (error != NULL) { + g_warning("Unable to get property data: %s", error->message); + g_error_free(error); + return; + } + + switch (get_property_data->type) { + case PROPERTY_TYPE_STRING: { + indicate_listener_get_property_cb cb = (indicate_listener_get_property_cb)get_property_data->cb; + cb(get_property_data->listener, get_property_data->server, get_property_data->indicator, get_property_data->property, OUT_value, get_property_data->data); + break; + } + case PROPERTY_TYPE_ICON: { + indicate_listener_get_property_icon_cb cb = (indicate_listener_get_property_icon_cb)get_property_data->cb; + + /* There is no icon */ + if (OUT_value == NULL || OUT_value[0] == '\0') { + break; + } + + gsize length = 0; + guchar * icondata = g_base64_decode(OUT_value, &length); + + GInputStream * input = g_memory_input_stream_new_from_data(icondata, length, NULL); + if (input == NULL) { + g_warning("Cound not create input stream from icon property data"); + g_free(icondata); + break; + } + + GError * error = NULL; + GdkPixbuf * icon = gdk_pixbuf_new_from_stream(input, NULL, &error); + if (icon != NULL) { + cb(get_property_data->listener, get_property_data->server, get_property_data->indicator, get_property_data->property, icon, get_property_data->data); + } + + if (error != NULL) { + g_warning("Unable to build Pixbuf from icon data: %s", error->message); + g_error_free(error); + } + + error = NULL; + g_input_stream_close(input, NULL, &error); + if (error != NULL) { + g_warning("Unable to close input stream: %s", error->message); + g_error_free(error); + } + g_free(icondata); + break; + } + case PROPERTY_TYPE_TIME: { + indicate_listener_get_property_time_cb cb = (indicate_listener_get_property_time_cb)get_property_data->cb; + GTimeVal time; + if (g_time_val_from_iso8601(OUT_value, &time)) { + cb(get_property_data->listener, get_property_data->server, get_property_data->indicator, get_property_data->property, &time, get_property_data->data); + } + break; + } + } + + g_free(get_property_data->property); + g_free(get_property_data); + + return; +}; + +static void +get_property_helper (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GCallback callback, gpointer data, get_property_type prop_type) +{ + /* g_debug("get_property_helper: %s %d", property, prop_type); */ + /* TODO: Do we need to somehow refcount the server/indicator while we're waiting on this? */ + get_property_t * get_property_data = g_new(get_property_t, 1); + get_property_data->cb = callback; + get_property_data->data = data; + get_property_data->listener = listener; + get_property_data->server = server; + get_property_data->indicator = indicator; + get_property_data->property = g_strdup(property); + get_property_data->type = prop_type; + + org_freedesktop_indicator_get_indicator_property_async (server->proxy , INDICATE_LISTENER_INDICATOR_ID(indicator), property, get_property_cb, get_property_data); + return; +} + +void +indicate_listener_get_property_icon (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, indicate_listener_get_property_icon_cb callback, gpointer data) +{ + return get_property_helper(listener, server, indicator, property, G_CALLBACK(callback), data, PROPERTY_TYPE_ICON); +} + diff --git a/libindicate-gtk/listener.h b/libindicate-gtk/listener.h new file mode 100644 index 0000000..cedc9a3 --- /dev/null +++ b/libindicate-gtk/listener.h @@ -0,0 +1,57 @@ +/* +A library to allow applictions to provide simple indications of +information to be displayed to users of the application through the +interface shell. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the +Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by +the Free Software Foundation. + +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 applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see + +*/ + +#ifndef INDICATE_GTK_LISTENER_H_INCLUDED__ +#define INDICATE_GTK_LISTENER_H_INCLUDED__ 1 + +#include +#include + +#include "libindicate/listener.h" + +G_BEGIN_DECLS + +typedef void (*indicate_listener_get_property_icon_cb) (IndicateListener * listener, + IndicateListenerServer * server, + IndicateListenerIndicator * indicator, + gchar * property, + GdkPixbuf * propertydata, + gpointer data); + +void indicate_listener_get_property_icon (IndicateListener * listener, + IndicateListenerServer * server, + IndicateListenerIndicator * indicator, + gchar * property, + indicate_listener_get_property_icon_cb callback, + gpointer data); + +G_END_DECLS + +#endif /* INDICATE_GTK_LISTENER_H_INCLUDED__ */ + -- cgit v1.2.3 From f6fb98db58787383a890608f8bfae0664528e83d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:45:34 +0100 Subject: Some ignore files for fun --- .bzrignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.bzrignore b/.bzrignore index 47d219c..58dcc7c 100644 --- a/.bzrignore +++ b/.bzrignore @@ -82,3 +82,11 @@ test-thousand-indicators-client libindicate_la-server-marshal.lo server-marshal.c server-marshal.h +libindicate-gtk.la +libindicate_gtk_la-indicator.lo +libindicate_gtk_la-indicator.o +libindicate_gtk_la-listener.lo +libindicate_gtk_la-listener.o +libindicate-gtk.pc +.deps +.libs -- cgit v1.2.3 From d94f22ad592b9f50898c26f06f7750ab4df686cf Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:49:42 +0100 Subject: Fixing these guys to include the -gtk library where needed --- examples/Makefile.am | 14 ++++++++++---- examples/im-client.c | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/examples/Makefile.am b/examples/Makefile.am index 862046e..d6b74c6 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -33,22 +33,28 @@ listen_and_print_SOURCES = \ listen_and_print_CFLAGS = \ -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) + $(LIBINDICATE_CFLAGS) \ + $(LIBINDICATEGTK_CFLAGS) listen_and_print_LDADD = \ ../libindicate/libindicate.la \ - $(LIBINDICATE_LIBS) + ../libindicate-gtk/libindicate-gtk.la \ + $(LIBINDICATE_LIBS) \ + $(LIBINDICATEGTK_LIBS) im_client_SOURCES = \ im-client.c im_client_CFLAGS = \ -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) + $(LIBINDICATE_CFLAGS) \ + $(LIBINDICATEGTK_CFLAGS) im_client_LDADD = \ ../libindicate/libindicate.la \ - $(LIBINDICATE_LIBS) + ../libindicate-gtk/libindicate-gtk.la \ + $(LIBINDICATE_LIBS) \ + $(LIBINDICATEGTK_LIBS) show_hide_server_SOURCES = \ show-hide-server.c diff --git a/examples/im-client.c b/examples/im-client.c index bf2fbb2..502484d 100644 --- a/examples/im-client.c +++ b/examples/im-client.c @@ -22,6 +22,7 @@ with this program. If not, see . #include #include "libindicate/server.h" #include "libindicate/indicator-message.h" +#include "libindicate-gtk/indicator.h" gchar * patha = "/usr/share/icons/hicolor/16x16/apps/empathy.png"; gchar * pathb = "/usr/share/icons/hicolor/22x22/apps/empathy.png"; -- cgit v1.2.3 From 8c7a1a7b1ea8fbb6b1455a615f4bbcc218308981 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:52:48 +0100 Subject: Removing GTK dependencies from the libindicate stuff --- configure.ac | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index beed048..3e65f25 100644 --- a/configure.ac +++ b/configure.ac @@ -50,23 +50,21 @@ AM_GCONF_SOURCE_2 GLIB_REQUIRED_VERSION=2.18 GIO_REQUIRED_VERSION=2.18 -GDK_PIXBUF_REQUIRED_VERSION=2.12 XML_REQUIRED_VERSION=2.6 PKG_CHECK_MODULES(LIBINDICATE, glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION - gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED_VERSION dbus-glib-1 >= $DBUS_REQUIRED_VERSION libxml-2.0 >= $XML_REQUIRED_VERSION) AC_SUBST(LIBINDICATE_CFLAGS) AC_SUBST(LIBINDICATE_LIBS) +GDK_PIXBUF_REQUIRED_VERSION=2.12 + PKG_CHECK_MODULES(LIBINDICATEGTK, glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED_VERSION - gtk+-2.0 >= $GTK_REQUIRED_VERSION - dbus-glib-1 >= $DBUS_REQUIRED_VERSION - libxml-2.0 >= $XML_REQUIRED_VERSION) + gtk+-2.0 >= $GTK_REQUIRED_VERSION) AC_SUBST(LIBINDICATEGTK_CFLAGS) AC_SUBST(LIBINDICATEGTK_LIBS) -- cgit v1.2.3 From 3ec1d88af94c277d43c210f15c0ccded5b67898c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:53:17 +0100 Subject: Last libgtk-pixbuf header --- libindicate/listener.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/libindicate/listener.h b/libindicate/listener.h index f2ed4b1..37cda03 100644 --- a/libindicate/listener.h +++ b/libindicate/listener.h @@ -33,8 +33,6 @@ License version 3 and version 2.1 along with this program. If not, see #include #include -#include - #include "indicator.h" #include "server.h" #include "interests.h" -- cgit v1.2.3 From 34975226b63179098c77ad4cacd0609d417c1513 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 3 Aug 2009 23:53:40 +0100 Subject: Some odd change --- docs/reference/tmpl/libindicate-unused.sgml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/reference/tmpl/libindicate-unused.sgml b/docs/reference/tmpl/libindicate-unused.sgml index c3152b1..83a53a7 100644 --- a/docs/reference/tmpl/libindicate-unused.sgml +++ b/docs/reference/tmpl/libindicate-unused.sgml @@ -1,3 +1,12 @@ + + + + + +@indicator: +@key: +@data: + -- cgit v1.2.3 From 8850baa192b65b5b9b4985cab9a08aacb5fed9d1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:01:06 +0100 Subject: A bunch of distcheck fixes to clean things up --- configure.ac | 3 ++- examples/listen-and-print.c | 1 + libindicate-gtk/Makefile.am | 1 + src/Makefile.am | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3e65f25..914abb3 100644 --- a/configure.ac +++ b/configure.ac @@ -64,7 +64,8 @@ GDK_PIXBUF_REQUIRED_VERSION=2.12 PKG_CHECK_MODULES(LIBINDICATEGTK, glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED_VERSION - gtk+-2.0 >= $GTK_REQUIRED_VERSION) + gtk+-2.0 >= $GTK_REQUIRED_VERSION + dbus-glib-1 >= $DBUS_REQUIRED_VERSION) AC_SUBST(LIBINDICATEGTK_CFLAGS) AC_SUBST(LIBINDICATEGTK_LIBS) diff --git a/examples/listen-and-print.c b/examples/listen-and-print.c index dcad92b..57cb7be 100644 --- a/examples/listen-and-print.c +++ b/examples/listen-and-print.c @@ -21,6 +21,7 @@ with this program. If not, see . #include #include "libindicate/listener.h" +#include "libindicate-gtk/listener.h" static void show_property_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, gchar * propertydata, gpointer data) diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am index 6112b5f..d25cee3 100644 --- a/libindicate-gtk/Makefile.am +++ b/libindicate-gtk/Makefile.am @@ -28,6 +28,7 @@ libindicate_gtk_la_LDFLAGS = \ -export-symbols-regex "^[^_d].*" libindicate_gtk_la_CFLAGS = \ + -I $(srcdir)/.. \ $(LIBINDICATEGTK_CFLAGS) libindicate_gtk_la_LIBADD = \ diff --git a/src/Makefile.am b/src/Makefile.am index 02b70c1..97af739 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,6 +6,7 @@ indicator_applet_CFLAGS = \ -DG_LOG_DOMAIN=\""Indicator-Applet"\" \ -DDATADIR=\""$(datadir)"\" \ -DINDICATOR_DIR=\""$(libdir)/indicators/2"\" \ + -I$(srcdir)/.. \ $(APPLET_CFLAGS) indicator_applet_SOURCES = \ -- cgit v1.2.3 From b31efb271abb7d39e8480d1363b7443e7795efbb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:06:00 +0100 Subject: Bumping the version as we removed a function. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 914abb3..17f6489 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ AC_CONFIG_MACRO_DIR([m4]) # Libindicate versioning ########################### -LIBINDICATE_CURRENT=1 +LIBINDICATE_CURRENT=2 LIBINDICATE_REVISION=0 LIBINDICATE_AGE=0 -- cgit v1.2.3 From c3034d9d1946cf136844eb8553f98f1262a73e10 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:08:51 +0100 Subject: Making seperate versioning for libindicate-gtk --- configure.ac | 12 ++++++++++++ libindicate-gtk/Makefile.am | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 17f6489..471512f 100644 --- a/configure.ac +++ b/configure.ac @@ -31,6 +31,18 @@ AC_SUBST(LIBINDICATE_CURRENT) AC_SUBST(LIBINDICATE_REVISION) AC_SUBST(LIBINDICATE_AGE) +########################### +# Libindicate versioning +########################### + +LIBINDICATEGTK_CURRENT=0 +LIBINDICATEGTK_REVISION=0 +LIBINDICATEGTK_AGE=0 + +AC_SUBST(LIBINDICATEGTK_CURRENT) +AC_SUBST(LIBINDICATEGTK_REVISION) +AC_SUBST(LIBINDICATEGTK_AGE) + ########################### # Dependencies ########################### diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am index d25cee3..7d3206d 100644 --- a/libindicate-gtk/Makefile.am +++ b/libindicate-gtk/Makefile.am @@ -23,7 +23,7 @@ libindicate_gtk_la_SOURCES = \ listener.c libindicate_gtk_la_LDFLAGS = \ - -version-info $(LIBINDICATE_CURRENT):$(LIBINDICATE_REVISION):$(LIBINDICATE_AGE) \ + -version-info $(LIBINDICATEGTK_CURRENT):$(LIBINDICATEGTK_REVISION):$(LIBINDICATEGTK_AGE) \ -no-undefined \ -export-symbols-regex "^[^_d].*" -- cgit v1.2.3 From 34baaeca3c1c1700c3ab90f55eeec4fa6fd2c4e5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:10:35 +0100 Subject: Ignoring the right file --- .bzrignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bzrignore b/.bzrignore index 58dcc7c..4c8c4d0 100644 --- a/.bzrignore +++ b/.bzrignore @@ -87,6 +87,6 @@ libindicate_gtk_la-indicator.lo libindicate_gtk_la-indicator.o libindicate_gtk_la-listener.lo libindicate_gtk_la-listener.o -libindicate-gtk.pc +indicate-gtk.pc .deps .libs -- cgit v1.2.3 From 2b415942fbcb3a2f16dfb350c88faaf7dae0d45a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:14:37 +0100 Subject: Ignoring the tarball --- .bzrignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.bzrignore b/.bzrignore index 4c8c4d0..738387d 100644 --- a/.bzrignore +++ b/.bzrignore @@ -90,3 +90,4 @@ libindicate_gtk_la-listener.o indicate-gtk.pc .deps .libs +indicator-applet-*.tar.gz -- cgit v1.2.3 From 475cf3d1bc5ede2ba3e9388edf1b12345ebf5986 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:18:10 +0100 Subject: Removing some more noise --- .bzrignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.bzrignore b/.bzrignore index 738387d..d1781cd 100644 --- a/.bzrignore +++ b/.bzrignore @@ -91,3 +91,11 @@ indicate-gtk.pc .deps .libs indicator-applet-*.tar.gz +docs/reference/tmpl/indicator-message.sgml +docs/reference/tmpl/indicator-message.sgml.bak +docs/reference/tmpl/indicator.sgml.bak +docs/reference/tmpl/libindicate-unused.sgml.bak +docs/reference/tmpl/listener.sgml +docs/reference/tmpl/listener.sgml.bak +docs/reference/tmpl/server.sgml +docs/reference/tmpl/server.sgml.bak -- cgit v1.2.3 From 84f000268db92a3070b223c956f07dac729c4703 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:27:09 +0100 Subject: * debian/control: * Changing the version number of libindcate to 2 to match the .so numbering. * Creating packages for libindicate-gtk --- debian/changelog | 8 ++++++-- debian/control | 27 ++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index c05a0c0..a33afbf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,12 @@ -indicator-applet (0.2.0~bzr309-0ubuntu4~ppa1) UNRELEASED; urgency=low +indicator-applet (0.2.0~bzr309-0ubuntu4~ppa2) UNRELEASED; urgency=low * Merging in upstream code to split out libindicate-gtk + * debian/control: + * Changing the version number of libindcate to 2 to match + the .so numbering. + * Creating packages for libindicate-gtk - -- Ted Gould Tue, 04 Aug 2009 00:22:33 +0100 + -- Ted Gould Tue, 04 Aug 2009 00:26:22 +0100 indicator-applet (0.2.0~bzr309-0ubuntu3) karmic; urgency=low diff --git a/debian/control b/debian/control index 47b903a..f755f70 100644 --- a/debian/control +++ b/debian/control @@ -29,7 +29,7 @@ Description: GNOME panel indicator applet Currently this includes support for messaging applications in the indicator-messages package. -Package: libindicate1 +Package: libindicate2 Section: libs Conflicts: libindicate Replaces: libindicate @@ -48,6 +48,31 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libindicate1 (= ${binary:Version}), + libdbus-glib-1-dev (>= 0.76) +Description: GNOME panel indicator applet - shared library + indicator-applet is an applet to display information from + various applications consistently in the GNOME panel. + . + This package contains files that are needed to build applications. + +Package: libindicate-gtk0 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: GNOME panel indicator applet - shared library + indicator-applet is an applet to display information from + various applications consistently in the GNOME panel. + . + This package contains shared libraries to be used by applications. + +Package: libindicate-gtk-dev +Section: libdevel +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libindicate-gtk (= ${binary:Version}), + libindicate-dev, libdbus-glib-1-dev (>= 0.76), libgtk2.0-dev (>= 2.12.0) Description: GNOME panel indicator applet - shared library -- cgit v1.2.3 From 8bed775cad9602ebdc02384ecb20d72207c3bf51 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 00:32:09 +0100 Subject: * Added libindicate-gtk-dev.install and libindicate-gtk0.install for the new library. * Renamed libindicate1.install to libindicate2.install to match the package name change. * Modified libindicate-dev to be more specific about the header files that it grabs. --- debian/changelog | 12 +++++++++--- debian/libindicate-dev.install | 2 +- debian/libindicate-gtk-dev.install | 4 ++++ debian/libindicate-gtk0.install | 1 + debian/libindicate1.install | 1 - debian/libindicate2.install | 1 + 6 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 debian/libindicate-gtk-dev.install create mode 100644 debian/libindicate-gtk0.install delete mode 100644 debian/libindicate1.install create mode 100644 debian/libindicate2.install diff --git a/debian/changelog b/debian/changelog index a33afbf..361e01a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,18 @@ -indicator-applet (0.2.0~bzr309-0ubuntu4~ppa2) UNRELEASED; urgency=low +indicator-applet (0.2.0~bzr309-0ubuntu4~ppa3) UNRELEASED; urgency=low * Merging in upstream code to split out libindicate-gtk * debian/control: * Changing the version number of libindcate to 2 to match the .so numbering. * Creating packages for libindicate-gtk - - -- Ted Gould Tue, 04 Aug 2009 00:26:22 +0100 + * Added libindicate-gtk-dev.install and libindicate-gtk0.install + for the new library. + * Renamed libindicate1.install to libindicate2.install to match + the package name change. + * Modified libindicate-dev to be more specific about the header + files that it grabs. + + -- Ted Gould Tue, 04 Aug 2009 00:30:55 +0100 indicator-applet (0.2.0~bzr309-0ubuntu3) karmic; urgency=low diff --git a/debian/libindicate-dev.install b/debian/libindicate-dev.install index ba86036..81e1396 100644 --- a/debian/libindicate-dev.install +++ b/debian/libindicate-dev.install @@ -1,4 +1,4 @@ -debian/tmp/usr/include/libindicate* +debian/tmp/usr/include/libindicate-0.1/libindicate/* debian/tmp/usr/lib/pkgconfig/indicate.pc debian/tmp/usr/lib/libindicate.a debian/tmp/usr/lib/libindicate.so diff --git a/debian/libindicate-gtk-dev.install b/debian/libindicate-gtk-dev.install new file mode 100644 index 0000000..5f0e682 --- /dev/null +++ b/debian/libindicate-gtk-dev.install @@ -0,0 +1,4 @@ +debian/tmp/usr/include/libindicate-0.1/libindicate-gtk/* +debian/tmp/usr/lib/pkgconfig/indicate-gtk.pc +debian/tmp/usr/lib/libindicate-gtk.a +debian/tmp/usr/lib/libindicate-gtk.so diff --git a/debian/libindicate-gtk0.install b/debian/libindicate-gtk0.install new file mode 100644 index 0000000..fc6b412 --- /dev/null +++ b/debian/libindicate-gtk0.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/libindicate-gtk.so.* diff --git a/debian/libindicate1.install b/debian/libindicate1.install deleted file mode 100644 index 0618a58..0000000 --- a/debian/libindicate1.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/lib/libindicate.so.* diff --git a/debian/libindicate2.install b/debian/libindicate2.install new file mode 100644 index 0000000..0618a58 --- /dev/null +++ b/debian/libindicate2.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/libindicate.so.* -- cgit v1.2.3 From 16b15aa99180939000a112038b028600d12673f5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 01:26:10 +0100 Subject: Adding libindicate a build include --- libindicate-gtk/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/libindicate-gtk/Makefile.am b/libindicate-gtk/Makefile.am index 7d3206d..2085b47 100644 --- a/libindicate-gtk/Makefile.am +++ b/libindicate-gtk/Makefile.am @@ -32,6 +32,7 @@ libindicate_gtk_la_CFLAGS = \ $(LIBINDICATEGTK_CFLAGS) libindicate_gtk_la_LIBADD = \ + ../libindicate/libindicate.la \ $(LIBINDICATEGTK_LIBS) pkgconfig_DATA = indicate-gtk.pc -- cgit v1.2.3 From be06bcb9e5e08a03f8455b3ff8b4db04570ed2a0 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 01:31:34 +0100 Subject: releasing version 0.2.0~bzr309-0ubuntu4~ppa1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 361e01a..8e40a75 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -indicator-applet (0.2.0~bzr309-0ubuntu4~ppa3) UNRELEASED; urgency=low +indicator-applet (0.2.0~bzr309-0ubuntu4~ppa1) karmic; urgency=low * Merging in upstream code to split out libindicate-gtk * debian/control: @@ -12,7 +12,7 @@ indicator-applet (0.2.0~bzr309-0ubuntu4~ppa3) UNRELEASED; urgency=low * Modified libindicate-dev to be more specific about the header files that it grabs. - -- Ted Gould Tue, 04 Aug 2009 00:30:55 +0100 + -- Ted Gould Tue, 04 Aug 2009 01:31:20 +0100 indicator-applet (0.2.0~bzr309-0ubuntu3) karmic; urgency=low -- cgit v1.2.3 From 54b4e00a4cfb33377a4fcbfa550c2fe9f098697f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 01:36:30 +0100 Subject: debian/control: Fixing some libindicate1's that should be libindicate2 and making everything dependent on the versions that are built here in the package. --- debian/changelog | 8 ++++++++ debian/control | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8e40a75..32fb168 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +indicator-applet (0.2.0~bzr309-0ubuntu4~ppa2) UNRELEASED; urgency=low + + * debian/control: Fixing some libindicate1's that should be + libindicate2 and making everything dependent on the versions + that are built here in the package. + + -- Ted Gould Tue, 04 Aug 2009 01:35:47 +0100 + indicator-applet (0.2.0~bzr309-0ubuntu4~ppa1) karmic; urgency=low * Merging in upstream code to split out libindicate-gtk diff --git a/debian/control b/debian/control index f755f70..92c60a7 100644 --- a/debian/control +++ b/debian/control @@ -47,7 +47,7 @@ Section: libdevel Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libindicate1 (= ${binary:Version}), + libindicate2 (= ${binary:Version}), libdbus-glib-1-dev (>= 0.76) Description: GNOME panel indicator applet - shared library indicator-applet is an applet to display information from @@ -72,7 +72,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libindicate-gtk (= ${binary:Version}), - libindicate-dev, + libindicate-dev (= ${binary:Version}), libdbus-glib-1-dev (>= 0.76), libgtk2.0-dev (>= 2.12.0) Description: GNOME panel indicator applet - shared library @@ -98,7 +98,8 @@ Section: doc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libindicate1 (= ${binary:Version}), + libindicate2 (= ${binary:Version}), + libindicate-gtk0 (= ${binary:Version}), libdbus-glib-1-dev (>= 0.76), libgtk2.0-dev (>= 2.12.0) Description: GNOME panel indicator applet - shared library -- cgit v1.2.3 From 63ed0ba9f0de5d60f31e5c52849cb6fb7a070cd9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 4 Aug 2009 01:38:29 +0100 Subject: releasing version 0.2.0~bzr309-0ubuntu4~ppa2 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 32fb168..c1b04d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -indicator-applet (0.2.0~bzr309-0ubuntu4~ppa2) UNRELEASED; urgency=low +indicator-applet (0.2.0~bzr309-0ubuntu4~ppa2) karmic; urgency=low * debian/control: Fixing some libindicate1's that should be libindicate2 and making everything dependent on the versions that are built here in the package. - -- Ted Gould Tue, 04 Aug 2009 01:35:47 +0100 + -- Ted Gould Tue, 04 Aug 2009 01:38:26 +0100 indicator-applet (0.2.0~bzr309-0ubuntu4~ppa1) karmic; urgency=low -- cgit v1.2.3