OBS User unknown 2009-02-06 16:55:48 +00:00 committed by Git OBS Bridge
parent c841056efb
commit 5ebaf5c3ea
5 changed files with 38 additions and 508 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:655fa6ff9716ddb890f188f8c037fe90ef6476911168bd82888e4c2506ad63fc
size 267610

3
libnotify-0.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d1cf0b4073471adde59385443c21f0f75f09ec5d08ed935e668450d7fd145979
size 289217

View File

@ -1,497 +0,0 @@
Index: libnotify/notification.c
===================================================================
--- libnotify/notification.c (révision 2973)
+++ libnotify/notification.c (copie de travail)
@@ -31,6 +31,7 @@
# define HAVE_STATUS_ICON
# include <gtk/gtkstatusicon.h>
#endif
+#include <gdk/gdkx.h>
#define CHECK_DBUS_VERSION(major, minor) \
(DBUS_MAJOR_VER > (major) || \
@@ -46,7 +47,7 @@
static void notify_notification_class_init(NotifyNotificationClass *klass);
static void notify_notification_init(NotifyNotification *sp);
static void notify_notification_finalize(GObject *object);
-static void _close_signal_handler(DBusGProxy *proxy, guint32 id,
+static void _close_signal_handler(DBusGProxy *proxy, guint32 id, guint32 reason,
NotifyNotification *notification);
static void _action_signal_handler(DBusGProxy *proxy, guint32 id,
@@ -89,6 +90,8 @@ struct _NotifyNotificationPrivate
gboolean has_nondefault_actions;
gboolean updates_pending;
gboolean signals_registered;
+
+ gint closed_reason;
};
enum
@@ -100,11 +103,13 @@ enum
enum
{
PROP_0,
+ PROP_ID,
PROP_SUMMARY,
PROP_BODY,
PROP_ICON_NAME,
PROP_ATTACH_WIDGET,
- PROP_STATUS_ICON
+ PROP_STATUS_ICON,
+ PROP_CLOSED_REASON
};
static void notify_notification_set_property(GObject *object, guint prop_id,
@@ -156,6 +161,18 @@ notify_notification_class_init(NotifyNot
NULL, NULL,
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ g_object_class_install_property(object_class, PROP_ID,
+ g_param_spec_int("id", "ID",
+ "The notification ID",
+ 0,
+ G_MAXINT32,
+ 0,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_NAME |
+ G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
+
g_object_class_install_property(object_class, PROP_SUMMARY,
g_param_spec_string("summary", "Summary",
"The summary text",
@@ -210,6 +227,17 @@ notify_notification_class_init(NotifyNot
G_PARAM_STATIC_NICK |
G_PARAM_STATIC_BLURB));
#endif /* HAVE_STATUS_ICON */
+
+ g_object_class_install_property(object_class, PROP_CLOSED_REASON,
+ g_param_spec_int("closed-reason", "Closed Reason",
+ "The reason code for why the notification was closed",
+ -1,
+ G_MAXINT32,
+ -1,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_NAME |
+ G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
}
static void
@@ -223,6 +251,10 @@ notify_notification_set_property(GObject
switch (prop_id)
{
+ case PROP_ID:
+ priv->id = g_value_get_int(value);
+ break;
+
case PROP_SUMMARY:
notify_notification_update(notification, g_value_get_string(value),
priv->body, priv->icon_name);
@@ -268,6 +300,10 @@ notify_notification_get_property(GObject
switch (prop_id)
{
+ case PROP_ID:
+ g_value_set_int(value, priv->id);
+ break;
+
case PROP_SUMMARY:
g_value_set_string(value, priv->summary);
break;
@@ -290,6 +326,10 @@ notify_notification_get_property(GObject
break;
#endif
+ case PROP_CLOSED_REASON:
+ g_value_set_int(value, priv->closed_reason);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -317,6 +357,7 @@ notify_notification_init(NotifyNotificat
{
obj->priv = g_new0(NotifyNotificationPrivate, 1);
obj->priv->timeout = NOTIFY_EXPIRES_DEFAULT;
+ obj->priv->closed_reason = -1;
obj->priv->hints = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free,
(GFreeFunc)_g_value_free);
@@ -375,6 +416,13 @@ notify_notification_finalize(GObject *ob
G_OBJECT_CLASS(parent_class)->finalize(object);
}
+static GtkWidget *
+get_internal_tray_icon (GtkStatusIcon *status)
+{
+ /* This function is a temporary hack */
+ return GTK_WIDGET (*((GtkWidget**)(status->priv)));
+}
+
static void
_notify_notification_update_applet_hints(NotifyNotification *n)
{
@@ -386,6 +434,18 @@ _notify_notification_update_applet_hints
if (priv->status_icon != NULL)
{
GdkRectangle rect;
+ GtkWidget *internal_tray = get_internal_tray_icon (priv->status_icon);
+ GdkWindow *window;
+
+ // TODO: this is sort of a hack, but we need a window ID to send along
+ gtk_widget_realize (internal_tray);
+ window = internal_tray->window;
+
+ if (window != NULL)
+ {
+ guint32 xid = GDK_WINDOW_XID (window);
+ notify_notification_set_hint_uint32(n, "window-xid", xid);
+ }
if (!gtk_status_icon_get_geometry(priv->status_icon, &screen,
&rect, NULL))
@@ -670,12 +730,13 @@ notify_notification_set_geometry_hints(N
}
static void
-_close_signal_handler(DBusGProxy *proxy, guint32 id,
+_close_signal_handler(DBusGProxy *proxy, guint32 id, guint32 reason,
NotifyNotification *notification)
{
if (id == notification->priv->id)
{
g_object_ref(G_OBJECT(notification));
+ notification->priv->closed_reason = reason;
g_signal_emit(notification, signals[SIGNAL_CLOSED], 0);
notification->priv->id = 0;
g_object_unref(G_OBJECT(notification));
@@ -982,6 +1043,32 @@ notify_notification_set_hint_int32(Notif
g_strdup(key), hint_value);
}
+
+/**
+ * notify_notification_set_hint_uint32:
+ * @notification: The notification.
+ * @key: The hint.
+ * @value: The hint's value.
+ *
+ * Sets a hint with an unsigned 32-bit integer value.
+ */
+void
+notify_notification_set_hint_uint32(NotifyNotification *notification,
+ const gchar *key, guint value)
+{
+ GValue *hint_value;
+
+ g_return_if_fail(notification != NULL);
+ g_return_if_fail(NOTIFY_IS_NOTIFICATION(notification));
+ g_return_if_fail(key != NULL && *key != '\0');
+
+ hint_value = g_new0(GValue, 1);
+ g_value_init(hint_value, G_TYPE_UINT);
+ g_value_set_uint(hint_value, value);
+ g_hash_table_insert(notification->priv->hints,
+ g_strdup(key), hint_value);
+}
+
/**
* notify_notification_set_hint_double:
* @notification: The notification.
@@ -1232,3 +1319,21 @@ notify_notification_close(NotifyNotifica
return TRUE;
}
+
+/**
+ * notify_notification_get_closed_reason:
+ * @notification: The notification.
+ *
+ * Returns the closed reason code for the notification. This is valid only
+ * after the "closed" signal is emitted.
+ *
+ * Returns: The closed reason code.
+ */
+gint
+notify_notification_get_closed_reason(const NotifyNotification *notification)
+{
+ g_return_val_if_fail(notification != NULL, -1);
+ g_return_val_if_fail(NOTIFY_IS_NOTIFICATION(notification), -1);
+
+ return notification->priv->closed_reason;
+}
Index: libnotify/notify-marshal.list
===================================================================
--- libnotify/notify-marshal.list (révision 2973)
+++ libnotify/notify-marshal.list (copie de travail)
@@ -1 +1,2 @@
+VOID:UINT,UINT
VOID:UINT,STRING
Index: libnotify/notify.c
===================================================================
--- libnotify/notify.c (révision 2973)
+++ libnotify/notify.c (copie de travail)
@@ -72,13 +72,19 @@ notify_init(const char *app_name)
NOTIFY_DBUS_CORE_INTERFACE);
dbus_g_connection_unref(bus);
+ dbus_g_object_register_marshaller(notify_marshal_VOID__UINT_UINT,
+ G_TYPE_NONE,
+ G_TYPE_UINT,
+ G_TYPE_UINT, G_TYPE_INVALID);
+
dbus_g_object_register_marshaller(notify_marshal_VOID__UINT_STRING,
G_TYPE_NONE,
G_TYPE_UINT,
G_TYPE_STRING, G_TYPE_INVALID);
dbus_g_proxy_add_signal(_proxy, "NotificationClosed",
- G_TYPE_UINT, G_TYPE_INVALID);
+ G_TYPE_UINT, G_TYPE_UINT,
+ G_TYPE_INVALID);
dbus_g_proxy_add_signal(_proxy, "ActionInvoked",
G_TYPE_UINT, G_TYPE_STRING,
G_TYPE_INVALID);
Index: libnotify/notification.h
===================================================================
--- libnotify/notification.h (révision 2973)
+++ libnotify/notification.h (copie de travail)
@@ -25,7 +25,6 @@
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
-#include <gtk/gtkversion.h>
G_BEGIN_DECLS
@@ -77,7 +76,9 @@ typedef enum
} NotifyUrgency;
-typedef void (*NotifyActionCallback)(NotifyNotification *, gchar *, gpointer);
+typedef void (*NotifyActionCallback)(NotifyNotification *notification,
+ gchar *action,
+ gpointer user_data);
#define NOTIFY_ACTION_CALLBACK(func) ((NotifyActionCallback)(func))
@@ -128,6 +129,8 @@ void notify_notification_set_icon_from_p
void notify_notification_set_hint_int32(NotifyNotification *notification,
const gchar *key, gint value);
+void notify_notification_set_hint_uint32(NotifyNotification *notification,
+ const gchar *key, guint value);
void notify_notification_set_hint_double(NotifyNotification *notification,
const gchar *key, gdouble value);
@@ -154,6 +157,9 @@ void notify_notification_clear_actions(N
gboolean notify_notification_close(NotifyNotification *notification,
GError **error);
+gint notify_notification_get_closed_reason(
+ const NotifyNotification *notification);
+
G_END_DECLS
#endif /* NOTIFY_NOTIFICATION_H */
Index: tools/notify-send.c
===================================================================
--- tools/notify-send.c (révision 2973)
+++ tools/notify-send.c (copie de travail)
@@ -3,20 +3,20 @@
*
* Copyright (C) 2004 Christian Hammond.
*
- * 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; either version 2 of
- * the License, or (at your option) any later version.
+ * 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 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * 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 General Public
- * License along with this program; if not, write to the Free
- * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
*/
#include <config.h>
Index: AUTHORS
===================================================================
--- AUTHORS (révision 2973)
+++ AUTHORS (copie de travail)
@@ -14,3 +14,4 @@ Patch Writers:
M.S.
mderezynski
Ed Catmur <ed@catmur.co.uk>
+ Lucas Rocha
Index: ChangeLog
===================================================================
--- ChangeLog (révision 2973)
+++ ChangeLog (copie de travail)
@@ -1,3 +1,48 @@
+Thu Sep 25 18:45:41 PDT 2008 Christian Hammond <chipx86@chipx86.com>
+
+ * libnotify/notification.c:
+ * libnotify/notification.h:
+ - Prevent a backwards-compatibility breakage introduced where the
+ "reason" code was added to the "closed" signal. This meant that
+ existing signal handlers that passed extra data would break. We now
+ require that you call notify_notification_get_closed_reason() to get
+ this data.
+
+Thu Sep 25 18:05:38 PDT 2008 Christian Hammond <chipx86@chipx86.com>
+
+ * libnotify/notification.h:
+ * NEWS:
+ - Fixed a breakage where we were including gtkversion.h directly.
+ Reported by Richard Hughes.
+
+Tue Mar 18 21:51:32 PDT 2008 Christian Hammond <chipx86@chipx86.com>
+
+ * libnotify/notification.c:
+ * libnotify/notification.h:
+ * libnotify/notify.c:
+ * libnotify/notify-marshal.list:
+ * NEWS:
+ - Add support for sending the closed reason in the signal handler.
+ Closes ticket #139.
+
+Sat Aug 25 18:08:01 PDT 2007 Christian Hammond <chipx86@chipx86.com>
+
+ * tools/notify-send.c:
+ - Relicense notify-send under the LGPL in order to keep licensing
+ simple and to allow reuse in more projects. Fixes bug #124.
+
+Sun Apr 29 02:45:20 PDT 2007 Christian Hammond <chipx86@chipx86.com>
+
+ * configure.ac:
+ - Bump to version 0.4.4.90.
+
+Sun Apr 29 00:39:32 PDT 2007 Christian Hammond <chipx86@chipx86.com>
+
+ * docs/reference/tmpl/notification.sgml:
+ * libnotify/notification.c:
+ - Patch by Lucas Rocha to add GObject property accessors for
+ notification IDs.
+
========================= 0.4.4 =========================
Tue Feb 27 21:11:36 PST 2007 Christian Hammond <chipx86@chipx86.com>
Index: docs/ChangeLog
===================================================================
--- docs/ChangeLog (révision 2973)
+++ docs/ChangeLog (copie de travail)
@@ -1,3 +1,9 @@
+Sat Aug 25 18:25:02 PDT 2007 Christian Hammond <chipx86@chipx86.com>
+
+ * notification-spec.xml:
+ - Add a spec_version return value for GetServerInformation.
+ - Bump to version 1.0. It's about time, and things are pretty solid now.
+
Wed Jan 25 23:45:11 PST 2006 Christian Hammond <chipx86@chipx86.com>
* notification-spec.xml:
Index: docs/notification-spec.xml
===================================================================
--- docs/notification-spec.xml (révision 2973)
+++ docs/notification-spec.xml (copie de travail)
@@ -3,8 +3,8 @@
<article id="index">
<articleinfo>
<title>Desktop Notifications Specification</title>
- <releaseinfo>Version 0.9</releaseinfo>
- <date>15 January 2006</date>
+ <releaseinfo>Version 1.0</releaseinfo>
+ <date>25 August 2007</date>
<authorgroup>
<author>
<firstname>Mike</firstname>
@@ -27,6 +27,15 @@
</authorgroup>
<revhistory>
<revision>
+ <revnumber>1.0</revnumber>
+ <date>25 August 2007</date>
+ <authorinitials>cdh</authorinitials>
+ <revremark>
+ Added spec_version to the GetServerInformation return values.
+ Mark this specification as a 1.0.
+ </revremark>
+ </revision>
+ <revision>
<revnumber>0.9</revnumber>
<date>15 January 2006</date>
<authorinitials>cdh</authorinitials>
@@ -1049,6 +1058,7 @@
<paramdef>out STRING <parameter>name</parameter></paramdef>
<paramdef>out STRING <parameter>vendor</parameter></paramdef>
<paramdef>out STRING <parameter>version</parameter></paramdef>
+ <paramdef>out STRING <parameter>spec_version</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
@@ -1084,6 +1094,11 @@
<entry>STRING</entry>
<entry>The server's version number.</entry>
</row>
+ <row>
+ <entry><parameter>spec_version</parameter></entry>
+ <entry>STRING</entry>
+ <entry>The specification version the server is compliant with.</entry>
+ </row>
</tbody>
</tgroup>
</table>
Index: docs/reference/tmpl/notification.sgml
===================================================================
--- docs/reference/tmpl/notification.sgml (révision 2973)
+++ docs/reference/tmpl/notification.sgml (copie de travail)
@@ -66,6 +66,11 @@ not be used directly. Use the accessor f
</para>
+<!-- ##### ARG NotifyNotification:id ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG NotifyNotification:status-icon ##### -->
<para>
Index: NEWS
===================================================================
--- NEWS (révision 2973)
+++ NEWS (copie de travail)
@@ -1,3 +1,13 @@
+version 0.4.5:
+ * Added GObject property accessors for notification IDs. Patch by Lucas
+ Rocha.
+ * Added support for sending the closed reason in the "closed" signal
+ handler. (Ticket #139)
+ * Added support for sending the status icon XID to the notification
+ daemon. This will allow better position tracking for context
+ notifications. Patch by Colin Walters.
+ * Fixed a breakage where we were including gtkversion.h directly.
+
version 0.4.4 (27-February-2007):
* Fixed a bug where a notification's ID could be reset when a different
notification was closed. Patch by jylefort. (Bug #94)

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Sat Jan 31 16:52:02 CET 2009 - vuntz@novell.com
- Remove la file.
-------------------------------------------------------------------
Sat Dec 20 11:30:04 EST 2008 - mboman@suse.de
- Update to version 0.4.5:
+ Added GObject property accessors for notification IDs
+ Added support for sending the closed reason in the "closed" signal
handler.
+ Added support for sending the status icon XID to the notification
daemon. This will allow better position tracking for context
notifications.
+ Fixed a breakage where we were including gtkversion.h directly.
- Remove backport libnotify-svn3018.patch
-------------------------------------------------------------------
Tue Nov 11 16:54:22 CET 2008 - ro@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package libnotify (Version 0.4.4)
# spec file for package libnotify (Version 0.4.5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -21,14 +21,13 @@
Name: libnotify
BuildRequires: dbus-1-glib-devel
BuildRequires: gtk-doc gtk2-devel update-desktop-files
Version: 0.4.4
Release: 173
Version: 0.4.5
Release: 1
Url: http://www.galago-project.org/
Group: System/Libraries
License: GPL v2 or later; LGPL v2.1 or later
Summary: Notifications Library
Source: %{name}-%{version}.tar.bz2
Patch0: libnotify-svn3018.patch
AutoReqProv: on
Requires: notification-daemon dbus-1-x11 libnotify1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -94,16 +93,15 @@ Authors:
%prep
%setup -q
%patch0 -p0
%build
autoreconf -f -i
%configure\
--disable-static
make %{?jobs:-j%jobs}
%install
%makeinstall
%{__rm} -f %{buildroot}%{_libdir}/*.la
%clean
rm -rf $RPM_BUILD_ROOT
@ -127,7 +125,6 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr (-, root, root)
%{_libdir}/*.so
%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*
@ -136,6 +133,18 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/gtk-doc/html/libnotify
%changelog
* Sat Jan 31 2009 vuntz@novell.com
- Remove la file.
* Sat Dec 20 2008 mboman@suse.de
- Update to version 0.4.5:
+ Added GObject property accessors for notification IDs
+ Added support for sending the closed reason in the "closed" signal
handler.
+ Added support for sending the status icon XID to the notification
daemon. This will allow better position tracking for context
notifications.
+ Fixed a breakage where we were including gtkversion.h directly.
- Remove backport libnotify-svn3018.patch
* Tue Nov 11 2008 ro@suse.de
- SLE-11 uses PPC64 instead of PPC, adapt baselibs.conf
* Tue Oct 28 2008 vuntz@novell.com