Hello community, here is the log from the commit of package libnotify checked in at Mon Nov 3 12:23:34 CET 2008. -------- --- GNOME/libnotify/libnotify.changes 2008-04-10 12:58:55.000000000 +0200 +++ /mounts/work_src_done/STABLE/libnotify/libnotify.changes 2008-10-28 02:51:41.000000000 +0100 @@ -1,0 +2,9 @@ +Tue Oct 28 02:49:12 CET 2008 - vuntz@novell.com + +- Add libnotify-svn3018.patch, which contains a few fixes from + upstream svn (no release since early 2007). The most important + change is a change to be able to work nicely with notification + icons. +- Spec clean up. + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- libnotify-svn3018.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libnotify.spec ++++++ --- /var/tmp/diff_new_pack.Q11449/_old 2008-11-03 12:22:48.000000000 +0100 +++ /var/tmp/diff_new_pack.Q11449/_new 2008-11-03 12:22:48.000000000 +0100 @@ -2,9 +2,16 @@ # spec file for package libnotify (Version 0.4.4) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -12,19 +19,16 @@ Name: libnotify -BuildRequires: gtk-doc gtk2-devel update-desktop-files -%if %suse_version > 1010 BuildRequires: dbus-1-glib-devel -%else -BuildRequires: dbus-1-devel dbus-1-glib -%endif +BuildRequires: gtk-doc gtk2-devel update-desktop-files Version: 0.4.4 -Release: 115 +Release: 172 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 @@ -60,9 +64,7 @@ Group: System/Libraries Summary: Notifications Library Requires: %{name} = %{version} glib2-devel gtk2-devel dbus-1-devel -%if %suse_version > 1010 Requires: dbus-1-glib-devel -%endif %description devel D-BUS notifications library. @@ -92,6 +94,7 @@ %prep %setup -q +%patch0 -p0 %build autoreconf -f -i @@ -113,7 +116,7 @@ %files %defattr (-, root, root) -# README is empty +# README is empty %doc AUTHORS COPYING ChangeLog NEWS %{_bindir}/* @@ -133,6 +136,12 @@ %{_datadir}/gtk-doc/html/libnotify %changelog +* Tue Oct 28 2008 vuntz@novell.com +- Add libnotify-svn3018.patch, which contains a few fixes from + upstream svn (no release since early 2007). The most important + change is a change to be able to work nicely with notification + icons. +- Spec clean up. * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support ++++++ libnotify-svn3018.patch ++++++ 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) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org