SOURCES: gnome-netstatus-notification.patch (NEW) - from http://ha...

wolvverine wolvverine at pld-linux.org
Thu Jun 28 19:22:15 CEST 2007


Author: wolvverine                   Date: Thu Jun 28 17:22:15 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from http://hasbox.com/

---- Files affected:
SOURCES:
   gnome-netstatus-notification.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gnome-netstatus-notification.patch
diff -u /dev/null SOURCES/gnome-netstatus-notification.patch:1.1
--- /dev/null	Thu Jun 28 19:22:15 2007
+++ SOURCES/gnome-netstatus-notification.patch	Thu Jun 28 19:22:10 2007
@@ -0,0 +1,405 @@
+*** gnome-netstatus-2.12.0.orig/configure.in	Tue Sep  6 13:22:09 2005
+--- gnome-netstatus-2.12.0/configure.in	Sat Nov 25 00:25:01 2006
+***************
+*** 47,53 ****
+  PKG_CHECK_MODULES(NETSTATUS, libgnomeui-2.0 >= 2.5.2
+  			     libglade-2.0 >= 2.0.0
+  			     libpanelapplet-2.0 >= 2.0.0
+! 			     gtk+-2.0 >= 2.3.1)
+  
+  AC_CHECK_HEADERS(sys/sockio.h)
+  
+--- 47,54 ----
+  PKG_CHECK_MODULES(NETSTATUS, libgnomeui-2.0 >= 2.5.2
+  			     libglade-2.0 >= 2.0.0
+  			     libpanelapplet-2.0 >= 2.0.0
+! 			     gtk+-2.0 >= 2.3.1
+! 			     libnotify)
+  
+  AC_CHECK_HEADERS(sys/sockio.h)
+  
+*** gnome-netstatus-2.12.0.orig/src/netstatus-applet.c	Thu Jan  6 19:33:15 2005
+--- gnome-netstatus-2.12.0/src/netstatus-applet.c	Fri Nov 24 22:01:18 2006
+***************
+*** 480,485 ****
+--- 480,488 ----
+    netstatus_iface_set_name (applet->priv->iface, iface_name);
+    g_free (iface_name);
+  
++   /* Interfaces notification timer */
++   g_timeout_add (1000, (GSourceFunc) netstatus_ifaces_monitor_start, NULL);
++ 
+    key = panel_applet_gconf_get_full_key (PANEL_APPLET (applet), "interface");
+    applet->priv->notify_id =
+      gconf_client_notify_add (applet->priv->client,
+*** gnome-netstatus-2.12.0.orig/src/netstatus-iface.c	Mon Mar 14 18:34:06 2005
+--- gnome-netstatus-2.12.0/src/netstatus-iface.c	Sun Nov 26 23:36:06 2006
+***************
+*** 50,55 ****
+--- 50,56 ----
+  
+  #include "netstatus-sysdeps.h"
+  #include "netstatus-enums.h"
++ #include "netstatus-util.h"
+  
+  #define NETSTATUS_IFACE_POLL_DELAY       500  /* milliseconds between polls */
+  #define NETSTATUS_IFACE_POLLS_IN_ERROR   10   /* no. of polls in error before increasing delay */
+***************
+*** 134,140 ****
+  			       NetstatusIfaceClass *klass)
+  {
+    iface->priv = g_new0 (NetstatusIfacePrivate, 1);
+!   
+    iface->priv->state = NETSTATUS_STATE_DISCONNECTED;
+  }
+  
+--- 135,141 ----
+  			       NetstatusIfaceClass *klass)
+  {
+    iface->priv = g_new0 (NetstatusIfacePrivate, 1);
+! 
+    iface->priv->state = NETSTATUS_STATE_DISCONNECTED;
+  }
+  
+***************
+*** 227,233 ****
+    parent_class->finalize (object);
+  }
+  
+! static void 
+  netstatus_iface_set_property (GObject      *object,
+  			      guint         property_id,
+  			      const GValue *value,
+--- 228,234 ----
+    parent_class->finalize (object);
+  }
+  
+! static void
+  netstatus_iface_set_property (GObject      *object,
+  			      guint         property_id,
+  			      const GValue *value,
+***************
+*** 256,262 ****
+  			      GParamSpec *pspec)
+  {
+    NetstatusIface *iface = (NetstatusIface *) object;
+!   
+    switch (property_id)
+      {
+      case PROP_NAME:
+--- 257,263 ----
+  			      GParamSpec *pspec)
+  {
+    NetstatusIface *iface = (NetstatusIface *) object;
+! 
+    switch (property_id)
+      {
+      case PROP_NAME:
+***************
+*** 282,290 ****
+--- 283,349 ----
+      }
+  }
+  
++ gboolean
++ netstatus_ifaces_monitor_start (void) {
++   static GSList  *iflist;
++   static guint    ifllen;
++   NetstatusIface *ifn;
++   GSList         *il;
++   GList          *iface_names, *l;
++ 
++   /*
++    * Add interface to our private interface list if it's not already on it.
++    *
++    */
++   iface_names = netstatus_list_interface_names (NULL);
++   if (ifllen < g_list_length(iface_names)) {
++    for (l = iface_names; l && l->data && strncmp(l->data, "lo", 2); l = l->next) {
++ 	if (!g_slist_find_custom(iflist, l->data, (GCompareFunc) strcmp)) {
++ 		gchar *idata = g_malloc0(IF_NAMESIZE + 18);
++ 
++ 		strcpy(idata, l->data);
++                 iflist = g_slist_append(iflist,	idata);
++ 	}
++ 	g_free (l->data);
++    }
++   }
++   ifllen = g_list_length(iface_names);
++   g_list_free (iface_names);
++ 
++   /* Iterate thru all our private interface list and see if we've changed ip address */
++   for (il = iflist; il; il = g_slist_next(il)) {
++ 	gchar *oldipaddr = il->data + IF_NAMESIZE;
++ 	gchar *curaddr;
++ 
++ 	ifn = netstatus_iface_new(il->data);
++ 	netstatus_iface_get_inet4_details(ifn, &curaddr, NULL, NULL, NULL);
++ 
++ 	/*
++          *  If current IP address is NULL then interface is or has gone down, so
++          *  we don't notify user.
++          *
++          *  If however current IP changes state from down or some other IP to new
++          *  address then we notify user.
++ 	 */
++ 
++ 	if (curaddr != NULL && (!*oldipaddr || strcmp(oldipaddr, curaddr))) {
++ 		GString *str = g_string_new (NULL);
++ 		g_string_printf(str, _("%s is up with IP address %s"), ifn->priv->name, curaddr);
++ 		netstatus_message(str->str);
++ 		g_string_free(str, TRUE);
++ 	}
++ 	strcpy(oldipaddr, curaddr ? curaddr : "");
++ 	g_free(curaddr);
++ 	g_object_unref(ifn);
++   }
++   return TRUE;
++ }
++ 
++ 
+  NetstatusIface *
+  netstatus_iface_new (const char *name)
+  {
++ 
+    return g_object_new (NETSTATUS_TYPE_IFACE,
+  		       "name", name,
+  		       NULL);
+***************
+*** 311,317 ****
+    iface->priv->name = g_strdup (name);
+  
+    netstatus_iface_init_monitor (iface);
+!   
+    g_object_notify (G_OBJECT (iface), "name");
+  }
+  
+--- 370,376 ----
+    iface->priv->name = g_strdup (name);
+  
+    netstatus_iface_init_monitor (iface);
+! 
+    g_object_notify (G_OBJECT (iface), "name");
+  }
+  
+***************
+*** 396,402 ****
+  
+        g_error_free (iface->priv->error);
+        iface->priv->error = NULL;
+!      
+        g_object_notify (G_OBJECT (iface), "state");
+        g_object_notify (G_OBJECT (iface), "error");
+      }
+--- 455,461 ----
+  
+        g_error_free (iface->priv->error);
+        iface->priv->error = NULL;
+! 
+        g_object_notify (G_OBJECT (iface), "state");
+        g_object_notify (G_OBJECT (iface), "error");
+      }
+***************
+*** 411,417 ****
+    GError  *error;
+    va_list  args;
+    char    *error_message;
+!   
+    va_start (args, format);
+  
+    error_message = g_strdup_vprintf (format, args);
+--- 470,476 ----
+    GError  *error;
+    va_list  args;
+    char    *error_message;
+!  
+    va_start (args, format);
+  
+    error_message = g_strdup_vprintf (format, args);
+***************
+*** 471,477 ****
+  					 NETSTATUS_ERROR_STATISTICS,
+  					 error_message);
+        g_free (error_message);
+!       
+        return FALSE;
+      }
+  
+--- 530,536 ----
+  					 NETSTATUS_ERROR_STATISTICS,
+  					 error_message);
+        g_free (error_message);
+! 
+        return FALSE;
+      }
+  
+***************
+*** 523,529 ****
+    dprintf (POLLING, "Bytes in: %ld out: %ld. Prev in: %ld out: %ld\n",
+  	   in_bytes, out_bytes,
+  	   iface->priv->stats.in_bytes, iface->priv->stats.out_bytes);
+!   
+    rx = in_packets  > iface->priv->stats.in_packets;
+    tx = out_packets > iface->priv->stats.out_packets;
+  
+--- 582,588 ----
+    dprintf (POLLING, "Bytes in: %ld out: %ld. Prev in: %ld out: %ld\n",
+  	   in_bytes, out_bytes,
+  	   iface->priv->stats.in_bytes, iface->priv->stats.out_bytes);
+! 
+    rx = in_packets  > iface->priv->stats.in_packets;
+    tx = out_packets > iface->priv->stats.out_packets;
+  
+***************
+*** 568,574 ****
+  					 NETSTATUS_ERROR_WIRELESS_DETAILS,
+  					 error_message);
+        g_free (error_message);
+!       
+        return FALSE;
+      }
+  
+--- 627,633 ----
+  					 NETSTATUS_ERROR_WIRELESS_DETAILS,
+  					 error_message);
+        g_free (error_message);
+! 
+        return FALSE;
+      }
+  
+***************
+*** 617,623 ****
+    NetstatusState state;
+    int            signal_strength;
+    gboolean       is_wireless;
+!  
+    state = netstatus_iface_poll_state (iface);
+  
+    if (iface->priv->state != state &&
+--- 676,682 ----
+    NetstatusState state;
+    int            signal_strength;
+    gboolean       is_wireless;
+! 
+    state = netstatus_iface_poll_state (iface);
+  
+    if (iface->priv->state != state &&
+***************
+*** 641,647 ****
+      }
+  
+    netstatus_iface_increase_poll_delay_in_error (iface);
+!   
+    return TRUE;
+  }
+  
+--- 700,706 ----
+      }
+  
+    netstatus_iface_increase_poll_delay_in_error (iface);
+! 
+    return TRUE;
+  }
+  
+***************
+*** 706,712 ****
+  		 g_strerror (errno));
+        return FALSE;
+      }
+!   
+    if_req.ifr_addr.sa_family = AF_INET;
+  
+    strncpy (if_req.ifr_name, iface->priv->name, IF_NAMESIZE - 1);
+--- 765,771 ----
+  		 g_strerror (errno));
+        return FALSE;
+      }
+! 
+    if_req.ifr_addr.sa_family = AF_INET;
+  
+    strncpy (if_req.ifr_name, iface->priv->name, IF_NAMESIZE - 1);
+***************
+*** 774,785 ****
+    int      i = 0;
+  
+    str = g_string_new ("[");
+!   
+    while (p [i] != 0xc9 && p [i] != 0xff && (i < ASH_ALEN))
+      g_string_append_printf (str, "%1x", p [i++]);
+  
+    g_string_append_c (str, ']');
+!   
+    retval = str->str;
+    g_string_free (str, FALSE);
+  
+--- 833,844 ----
+    int      i = 0;
+  
+    str = g_string_new ("[");
+! 
+    while (p [i] != 0xc9 && p [i] != 0xff && (i < ASH_ALEN))
+      g_string_append_printf (str, "%1x", p [i++]);
+  
+    g_string_append_c (str, ']');
+! 
+    retval = str->str;
+    g_string_free (str, FALSE);
+  
+*** gnome-netstatus-2.12.0.orig/src/netstatus-iface.h	Mon Jul  5 21:04:56 2004
+--- gnome-netstatus-2.12.0/src/netstatus-iface.h	Fri Nov 24 17:51:05 2006
+***************
+*** 85,90 ****
+--- 85,91 ----
+  							      const char     **hw_name,
+  							      char           **hw_addr);
+  gboolean               netstatus_iface_get_is_loopback       (NetstatusIface  *iface);
++ gboolean               netstatus_ifaces_monitor_start        (void);
+  
+  G_END_DECLS
+  
+*** gnome-netstatus-2.12.0.orig/src/netstatus-util.c	Mon Jul  5 21:04:56 2004
+--- gnome-netstatus-2.12.0/src/netstatus-util.c	Mon Nov 27 00:17:37 2006
+***************
+*** 29,34 ****
+--- 29,36 ----
+  #include <glib-object.h>
+  #include <libgnome/gnome-i18n.h>
+  #include <string.h>
++ #include <libnotify/notify.h>
++ #include <libgnome/gnome-sound.h>
+  
+  #ifdef G_ENABLE_DEBUG
+  NetstatusDebugFlags _netstatus_debug_flags = NETSTATUS_DEBUG_NONE;
+***************
+*** 187,190 ****
+--- 189,205 ----
+        return list;
+  
+    return g_list_prepend (list, str);
++ }
++ 
++ void
++ netstatus_message (char *message)
++ {
++   NotifyNotification *n;
++ 
++   notify_init("Netstatus");
++   n = notify_notification_new (_("Network Status"), message, "gnome-netstatus-txrx", NULL);
++   notify_notification_set_timeout (n, 3000);
++   gnome_sound_play("/usr/share/sounds/gnibbles/pop.wav");
++   notify_notification_show (n, NULL);
++   g_object_unref(G_OBJECT(n));
+  }
+*** gnome-netstatus-2.12.0.orig/src/netstatus-util.h	Fri Jul 30 11:39:00 2004
+--- gnome-netstatus-2.12.0/src/netstatus-util.h	Fri Nov 24 21:59:21 2006
+***************
+*** 85,90 ****
+--- 85,92 ----
+  							   gpointer        func_data,
+  							   gpointer        alive_object);
+  
++ void                 netstatus_message			   (char *message);
++ 
+  #ifdef G_ENABLE_DEBUG
+  
+  #include <stdio.h>
================================================================


More information about the pld-cvs-commit mailing list