aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--debian/changelog41
-rw-r--r--debian/compat1
-rw-r--r--debian/control57
-rw-r--r--debian/copyright53
-rw-r--r--debian/indicator-applet.install4
-rw-r--r--debian/libindicate-dev.install5
-rw-r--r--debian/libindicate0.install2
-rwxr-xr-xdebian/rules8
-rw-r--r--libindicate/Makefile.am1
-rw-r--r--libindicate/indicate-listener.xml41
-rw-r--r--libindicate/listener.c16
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;