diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | debian/changelog | 41 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 57 | ||||
-rw-r--r-- | debian/copyright | 53 | ||||
-rw-r--r-- | debian/indicator-applet.install | 4 | ||||
-rw-r--r-- | debian/libindicate-dev.install | 5 | ||||
-rw-r--r-- | debian/libindicate0.install | 2 | ||||
-rwxr-xr-x | debian/rules | 8 | ||||
-rw-r--r-- | libindicate/Makefile.am | 1 | ||||
-rw-r--r-- | libindicate/indicate-listener.xml | 41 | ||||
-rw-r--r-- | libindicate/listener.c | 16 |
12 files changed, 55 insertions, 176 deletions
diff --git a/configure.ac b/configure.ac index 4372dc5..3ae3656 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) +AM_INIT_AUTOMAKE(indicator-applet, 0.1.1) AM_MAINTAINER_MODE diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 0fd8e83..0000000 --- a/debian/changelog +++ /dev/null @@ -1,41 +0,0 @@ -indicator-applet (0.1.1-0ubuntu3~ppa2) jaunty; urgency=low - - * Putting GIR into the install files. - - -- Ted Gould <ted@ubuntu.com> Wed, 25 Feb 2009 14:35:59 -0600 - -indicator-applet (0.1.1-0ubuntu3~ppa1) jaunty; urgency=low - - * Turning on GIR - - -- Ted Gould <ted@ubuntu.com> Wed, 25 Feb 2009 11:16:12 -0600 - -indicator-applet (0.1-0ubuntu3~ppa1) intrepid; urgency=low - - * Pulling in and testing icon changes. - - -- Ted Gould <ted@ubuntu.com> Wed, 18 Feb 2009 14:05:14 -0600 - -indicator-applet (0.1-0ubuntu2) UNRELEASED; urgency=low - - * debian/control: Fix Vcs-Bzr. - * debian/control: Update package descriptions; the messaging part is - provided by indicator-messages. - * debian/copyright: Fix leftover word "either" from the license - description. - - -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 17 Feb 2009 11:26:38 +0100 - -indicator-applet (0.1-0ubuntu1) jaunty; urgency=low - - * Initial release, based on DX team's PPA packaging branch. - (lp:~indicator-applet-developers/indicator-applet/applet-packaging) - * Repack orig.tar.gz with a copy of the LGPL 3, libindicate/* is - under that license. - * debian/control: Add Homepage:, Vcs-Bzr:, and proper package - descriptions. - * debian/copyright: Properly describe licenses. - * configure.ac: Add missing gio-2.0 pkgconfig check (from DX team - PPA packaging branch), and autoreconf to pick up the change. - - -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 17 Feb 2009 10:28:14 +0100 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff8..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index 933e50b..0000000 --- a/debian/control +++ /dev/null @@ -1,57 +0,0 @@ -Source: indicator-applet -Section: gnome -Priority: optional -Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> -Build-Depends: debhelper (>= 5.0), - cdbs (>= 0.4.41), - libgtk2.0-dev (>= 2.12.0), - libpanel-applet2-dev (>= 2.0.0), - libdbus-glib-1-dev, - gnome-doc-utils, - libtool, - intltool, - gobject-introspection (>= 0.6), - gobject-introspection-glib-2.0 (>= 0.6), - libgirepository-dev (>= 0.6) -Standards-Version: 3.8.0 -Homepage: https://launchpad.net/indicator-applet -Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/indicator-applet/ubuntu - -Package: indicator-applet -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - gnome-panel -Description: GNOME panel indicator applet - indicator-applet is an applet to display information from - various applications consistently in the GNOME panel. - . - Currently this includes support for messaging applications in the - indicator-messages package. - -Package: libindicate0 -Section: libs -Conflicts: libindicate -Replaces: libindicate -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-dev -Section: libdevel -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - libindicate0 (= ${binary:Version}), - libdbus-glib-1-dev (>= 0.76), - libgtk2.0-dev (>= 2.12.0) -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. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 9326fc7..0000000 --- a/debian/copyright +++ /dev/null @@ -1,53 +0,0 @@ -This package was debianized by Ted Gould <ted@canonical.com> on -Wed, 11 Feb 2009 15:41:06 -0600. - -It was downloaded from <http://launchpad.net/indicate-applet/> - -Upstream Author: - - Ted Gould <ted@canonical.com> - -Copyright: - - Copyright (C) 2009 Canonical Ltd. - -License: - - This program 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, version 3 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - 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 St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL-3'. - -License for libindicate/* (libindicate0 and libindicate-dev packages): - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 or 3 of the License. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU Lesser General Public License -can be found in `/usr/share/common-licenses/LGPL-2.1' and -`/usr/share/common-licenses/LGPL-3'. - -The Debian packaging is (C) 2009, Canonical Ltd. and -is licensed under the GPLv3, see `/usr/share/common-licenses/GPL-3'. diff --git a/debian/indicator-applet.install b/debian/indicator-applet.install deleted file mode 100644 index a6e5326..0000000 --- a/debian/indicator-applet.install +++ /dev/null @@ -1,4 +0,0 @@ -debian/tmp/etc -debian/tmp/usr/lib/bonobo -debian/tmp/usr/lib/indicator-applet -debian/tmp/usr/share/icons diff --git a/debian/libindicate-dev.install b/debian/libindicate-dev.install deleted file mode 100644 index f65d387..0000000 --- a/debian/libindicate-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -debian/tmp/usr/include/ -debian/tmp/usr/lib/pkgconfig -debian/tmp/usr/lib/libindicate.a -debian/tmp/usr/lib/libindicate.so -debian/tmp/usr/share/gir/ diff --git a/debian/libindicate0.install b/debian/libindicate0.install deleted file mode 100644 index 9369053..0000000 --- a/debian/libindicate0.install +++ /dev/null @@ -1,2 +0,0 @@ -debian/tmp/usr/lib/libindicate.so.* -debian/tmp/usr/lib/girepository/ diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 1c64b91..0000000 --- a/debian/rules +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/make -f - -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/gnome.mk - -DEB_CONFIGURE_EXTRA_FLAGS += --disable-scrollkeeper -LDFLAGS += -Wl,-z,defs -Wl,--as-needed - diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index fdbda8a..5d50352 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 diff --git a/libindicate/indicate-listener.xml b/libindicate/indicate-listener.xml new file mode 100644 index 0000000..c834489 --- /dev/null +++ b/libindicate/indicate-listener.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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 <ted@canonical.com> + +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 +<http://www.gnu.org/licenses/> +--> +<node name="/"> + <interface name="org.freedesktop.indicator.listener"> + +<!-- Functions --> + <method name="GetIndicatorServers"> + <arg type="as" name="server_ids" direction="out" /> + </method> + +<!-- End of interesting stuff --> + + </interface> +</node> diff --git a/libindicate/listener.c b/libindicate/listener.c index d8926f1..6feb6d7 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -81,6 +81,7 @@ typedef struct { typedef struct { DBusGConnection * bus; gchar * name; + gboolean startup; } proxy_todo_t; G_DEFINE_TYPE (IndicateListener, indicate_listener, G_TYPE_OBJECT); @@ -90,7 +91,7 @@ static void indicate_listener_finalize (GObject * obj); static void dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, const gchar * new, IndicateListener * listener); static void proxy_struct_destroy (gpointer data); static void build_todo_list_cb (DBusGProxy * proxy, char ** names, GError * error, void * data); -static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener); +static void todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup); static gboolean todo_idle (gpointer data); void get_type_cb (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data); static void proxy_server_added (DBusGProxy * proxy, const gchar * type, proxy_t * proxyt); @@ -286,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); + todo_list_add(name, proxy, listener, false); } if (new != NULL && new[0] == '\0') { proxy_t * proxyt; @@ -369,14 +370,14 @@ 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); + todo_list_add(names[i], proxy, listener, true); } return; } static void -todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener) +todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listener, gboolean startup) { if (name == NULL || name[0] != ':') { return; @@ -398,6 +399,7 @@ todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listen proxy_todo_t todo; todo.name = g_strdup(name); todo.bus = bus; + todo.startup = startup; g_array_append_val(priv->proxy_todo, todo); @@ -455,6 +457,12 @@ todo_idle (gpointer data) g_hash_table_insert(priv->proxies_possible, proxyt->name, proxyt); + /* I think that we need to have this as there is a race + * condition here. If someone comes on the bus and we get + * that message, but before we set up the handler for the ServerShow + * signal it gets sent, we wouldn't get it. So then we would + * miss an indicator server coming on the bus. I'd like to not + * generate a warning in every app with DBus though. */ indicate_listener_server_get_type(listener, (IndicateListenerServer *)proxyt->name, get_type_cb, proxyt); return TRUE; |