propagate from branch 'im.pidgin.pidgin' (head 1b2a6ef120661e9253743c44546887c5d980aa21) soc.2007.finchfeat

Thu, 21 Jun 2007 20:37:57 +0000

author
Eric Polino <aluink@pidgin.im>
date
Thu, 21 Jun 2007 20:37:57 +0000
branch
soc.2007.finchfeat
changeset 18286
c67fe80f0325
parent 18163
6d43436a7721 (current diff)
parent 18285
1b2a6ef12066 (diff)
child 18287
e7979a6d94f3

propagate from branch 'im.pidgin.pidgin' (head 1b2a6ef120661e9253743c44546887c5d980aa21)
to branch 'im.pidgin.soc.2007.finchfeat' (head 6d43436a7721c194ca92ac0a5841356e5dff769c)

finch/gntprefs.c file | annotate | diff | comparison | revisions
finch/gntrequest.c file | annotate | diff | comparison | revisions
finch/gntui.c file | annotate | diff | comparison | revisions
finch/libgnt/gntmain.c file | annotate | diff | comparison | revisions
finch/libgnt/gntstyle.c file | annotate | diff | comparison | revisions
finch/libgnt/gnttree.c file | annotate | diff | comparison | revisions
finch/libgnt/gntwm.c file | annotate | diff | comparison | revisions
libpurple/protocols/qq/group_misc.c file | annotate | diff | comparison | revisions
libpurple/protocols/qq/group_misc.h file | annotate | diff | comparison | revisions
--- a/ChangeLog	Tue Jun 19 19:40:06 2007 +0000
+++ b/ChangeLog	Thu Jun 21 20:37:57 2007 +0000
@@ -18,10 +18,17 @@
 	  second time will raise the buddy list.  (Gabriel Schulhof)
 	* Undo capability in the conversation window
 
-version 2.0.2 (??/??/????):
+version 2.0.2 (06/14/2007):
 	Pidgin:
 	* Added a custom conversation font option to preferences
 	* Fixed smiley ordering in the insert smiley popup to be more intuitive
+	* Conversation->More menu items work for Chats as well as Buddies,
+	  including those not on your buddy list
+	* newline plugin should work better with conversation colors plugin now
+	* Get Info on users now provides immediate feedback that something is
+	  happening
+	* Aliasing a buddy will not be interrupted by other buddy list activity
+	* Using the -l option to log in to a specific account works better
 
 	libpurple:
 	* Moving an ICQ buddy from one group to another no longer
@@ -32,6 +39,11 @@
 	* Fix MSN to correctly detect incorrect passwords and disable the account
 	* Get User Info on MSN is now more reliable & accurate
 	* Updated SILC protocol to support SILC Toolkit 1.1 (Pekka Riikonen)
+	* Fix for some QQ authentication problems
+	* Fix for building on FreeBSD
+	* Prevent "Logged in:" times for AIM buddies being ridiculously high
+	* Updates and fixes to Bonjour support
+	* Improve ICQ encoding support for some non-latin languages
 
 	Finch:
 	* Auto account reconnecting
--- a/ChangeLog.API	Tue Jun 19 19:40:06 2007 +0000
+++ b/ChangeLog.API	Thu Jun 21 20:37:57 2007 +0000
@@ -13,21 +13,13 @@
 		    UIs can now use better scheduling for whole-second timers.  For
 		    example, clients based on the glib event loop can now use
 		    g_timeout_add_seconds.
-		* gtk_imhtml_setup_entry
-		* pidgin_create_window
 		* purple_blist_node_get_type
 		* purple_conversation_do_command
 		* purple_conversation_get_extended_menu
 		* purple_core_ensure_single_instance
 		    This is for UIs to use to ensure only one copy is running.
 		* purple_dbus_is_owner
-		* purple_dbusify_const_GList
-		* purple_dbusify_const_GSList
-		* purple_const_GList_to_array
-		* purple_const_GSList_to_array
 		* purple_image_data_calculate_filename
-		* pidgin_retrieve_user_info, shows immediate feedback when getting
-		  information about a user.
 		* purple_timeout_add_seconds
 		    Callers should prefer this to purple_timeout_add for timers
 		    longer than 1 second away.  Be aware of the rounding, though.
@@ -35,11 +27,12 @@
 		    Callers should prefer this to purple_timeout_add for timers
 		    longer than 1 second away.  Be aware of the rounding, though.
 		* purple_xfer_get_remote_user
-		* gtk_imhtml_animation_new
-		    Can be used for inserting an animated image into an IMHTML.
+		* purple_pounces_get_all_for_ui
 
 		Changed:
-		* Mark some return types const:
+		* The documentation of the following functions now properly
+		  declares that the returned value must not be modified or
+		  freed, which was always the case:
 			* purple_accounts_get_all
 			* purple_connections_get_all
 			* purple_connections_get_connecting
@@ -49,26 +42,57 @@
 			* purple_get_conversations
 			* purple_get_ims
 			* purple_notify_user_info_get_entries
-
-		Deprecated:
-		* purple_dbusify_GList:  Use purple_dbusify_const_GList (and
-		  g_list_free if needed) if depending on 2.1.0 is okay.
-		* purple_dbusify_GSList:  Use purple_dbusify_const_GSList (and
-		  g_slist_free if needed) if depending on 2.1.0 is okay..
-		* purple_GList_to_array:  Use purple_const_GList_to_array (and
-		  g_list_free if needed) if depending on 2.1.0 is okay..
-		* purple_GSList_to_array:  Use purple_const_GSList_to_array (and
-		  g_slist_free if needed) if depending on 2.1.0 is okay..
+		* The following functions now return a GList* instead of a
+		  const GList*, as const is not very useful with GLists.  The
+		  returned value still must not be modified or freed:
+			* purple_account_get_status_types
+			* purple_mime_document_get_fields
+			* purple_mime_document_get_parts
+			* purple_mime_part_get_fields
+			* purple_request_fields_get_required
+			* purple_request_field_list_get_selected
+			* purple_request_field_list_get_items
+			* purple_status_type_get_attrs
+			* purple_presence_get_statuses
+		* purple_request_field_list_set_selected now takes a GList*
+		  instead of a const GList* for items, as const is not very
+		  useful with GLists.  The passed list is still not modified
+		  or freed.
+		* purple_presence_add_list now takes a GList* instead of a
+		  const GList* for source_list, as const is not very useful with
+		  GLists.  The passed list is still not modified or freed.
 
 	Pidgin:
+		Added:
+		* gtk_imhtml_setup_entry
+		* pidgin_create_window
+		* pidgin_retrieve_user_info and pidgin_retrieve_user_info_in_chat,
+		  shows immediate feedback when getting information about a user.
+		* gtk_imhtml_animation_new
+		    Can be used for inserting an animated image into an IMHTML.
+		* pidgin_menu_position_func_helper
+		* pidgin_blist_get_name_markup, returns the buddy list markup
+		  text for a given buddy.
+
 		Changed:
 		* pidgin_append_menu_action returns the menuitem added to the menu.
 		* pidgin_separator returns the separator added to the menu.
+		* PidginConversation has struct members to handle the new info
+		  pane:
+		  	* infopane
+			* infopane_hbox
+			* infopane_model
+			* infopane_iter
 
 	Finch:
 		Added:
 		* finch_retrieve_user_info
 
+		Changed:
+		* gnt_tree_get_rows() now returns a GList* instead of a const
+		  GList*, as const is not very useful with GLists.  The
+		  returned value still must not be modified or freed.
+
 version 2.0.2 (6/14/2007):
 	Pidgin:
 		Deprecated:
--- a/ChangeLog.win32	Tue Jun 19 19:40:06 2007 +0000
+++ b/ChangeLog.win32	Thu Jun 21 20:37:57 2007 +0000
@@ -1,4 +1,4 @@
-version 2.0.2 (??/??/????):
+version 2.0.2 (6/14/2007):
 	* Add Bonjour protocol support thanks to Chris Davies. This requires
 	  Apple Bonjour for Windows from:
 	  http://www.apple.com/support/downloads/bonjourforwindows.html
--- a/NEWS	Tue Jun 19 19:40:06 2007 +0000
+++ b/NEWS	Thu Jun 21 20:37:57 2007 +0000
@@ -1,5 +1,18 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
+2.0.2 (6/14/2007):
+	Sean: Another big maintenance release. Again, about 100 tickets were
+	resolved in this release, and they keep coming in. Lots of bug fixes,
+	some minor icon adjustements, hopefully we addressed some ICQ
+	internationalization issues, and support for Bonjour on Windows!
+	Our next release will be 2.1.0, and will come with some great new
+	features.
+
+	Stu: I think we're gradually getting the hang of this 3 week thing
+	again. This release includes yet more bug fixes. I'd also like to
+	specifically thank Pekka Riikonen for the patch to enable using SILC
+	Toolkit 1.1 with Pidgin/libpurple that is included in this release.
+
 2.0.1 (5/24/2007):
 	Sean: 2.0.1! Three weeks later, as scheduled! It is so nice to have
 	regular, frequent, releases again! This is a bugfix release; We have
--- a/configure.ac	Tue Jun 19 19:40:06 2007 +0000
+++ b/configure.ac	Thu Jun 21 20:37:57 2007 +0000
@@ -52,10 +52,10 @@
           [purple_major_version.purple_minor_version.purple_micro_version])
 m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix]))
 
-m4_define([gnt_lt_current], [0])
-m4_define([gnt_major_version], [1])
+m4_define([gnt_lt_current], [1])
+m4_define([gnt_major_version], [2])
 m4_define([gnt_minor_version], [0])
-m4_define([gnt_micro_version], [1])
+m4_define([gnt_micro_version], [0])
 m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
@@ -142,7 +142,7 @@
 dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
 dnl AM_GLIB_GNU_GETTEXT found it.
 
-if test x$MSGFMT = xno -o x$GMSGFMT = x
+if test x$MSGFMT = xno
 then
 	AC_ERROR([
 
@@ -2104,6 +2104,8 @@
 		   pidgin/pixmaps/tray/16/scalable/Makefile
 		   pidgin/pixmaps/tray/22/Makefile
 		   pidgin/pixmaps/tray/22/scalable/Makefile
+		   pidgin/pixmaps/tray/32/Makefile
+		   pidgin/pixmaps/tray/48/Makefile
 		   pidgin/plugins/Makefile
 		   pidgin/plugins/cap/Makefile
 		   pidgin/plugins/gestures/Makefile
--- a/doc/gtkrc-2.0	Tue Jun 19 19:40:06 2007 +0000
+++ b/doc/gtkrc-2.0	Thu Jun 21 20:37:57 2007 +0000
@@ -39,16 +39,17 @@
 }
 widget_class "*" style "my-style-name"
 
-# This style sets the expander size on a treeview to 0, which has the result
+# This sets the expander size on a treeview to 0, which has the result
 # of reducing the indent for items in the tree. This can be applied to the
-# Pidgin buddy list to reduce it's width.
-style "my-narrow-tree"
-{
-  GtkTreeView::expander_size = 0
-}
-
+# Pidgin buddy list to reduce the width of group and contact rows.
+# With the recent (~2.0.0) buddy list changes this isn't particularly
+# important anymore.
+#style "my-narrow-tree"
+#{
+#  GtkTreeView::expander_size = 0
+#}
 # And apply the style to the buddy list:
-widget "*pidgin_blist_treeview" style "my-narrow-tree"
+#widget "*pidgin_blist_treeview" style "my-narrow-tree"
 
 # In Pidgin, you can set custom keybindings in your theme.
 # Here is an example to follow:
--- a/finch/finch.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/finch.c	Thu Jun 21 20:37:57 2007 +0000
@@ -19,6 +19,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "finch.h"
+
 #include "account.h"
 #include "conversation.h"
 #include "core.h"
@@ -37,7 +39,6 @@
 #include "whiteboard.h"
 
 #include "gntdebug.h"
-#include "finch.h"
 #include "gntprefs.h"
 #include "gntui.h"
 #include "gntidle.h"
--- a/finch/gntaccount.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntaccount.c	Thu Jun 21 20:37:57 2007 +0000
@@ -33,6 +33,8 @@
 #include <gnttree.h>
 #include <gntwindow.h>
 
+#include "finch.h"
+
 #include <account.h>
 #include <accountopt.h>
 #include <connection.h>
@@ -42,7 +44,6 @@
 
 #include "gntaccount.h"
 #include "gntblist.h"
-#include "finch.h"
 
 #include <string.h>
 
@@ -641,7 +642,7 @@
 
 void finch_accounts_show_all()
 {
-	const GList *iter;
+	GList *iter;
 	GntWidget *box, *button;
 
 	if (accounts.window)
@@ -734,7 +735,7 @@
 
 void finch_accounts_init()
 {
-	const GList *iter;
+	GList *iter;
 
 	purple_signal_connect(purple_accounts_get_handle(), "account-added",
 			finch_accounts_get_handle(), PURPLE_CALLBACK(account_added_callback),
@@ -831,7 +832,7 @@
 {
 	PurpleConnection *gc = purple_account_get_connection(data->account);
 
-	if (g_list_find((GList *)purple_connections_get_all(), gc))
+	if (g_list_find(purple_connections_get_all(), gc))
 	{
 		purple_blist_request_add_buddy(data->account, data->username,
 									 NULL, data->alias);
--- a/finch/gntblist.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntblist.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "finch.h"
+
 #include <account.h>
 #include <blist.h>
 #include <notify.h>
@@ -33,7 +35,6 @@
 #include <util.h>
 #include "debug.h"
 
-#include "finch.h"
 #include "gntbox.h"
 #include "gntcombobox.h"
 #include "gntentry.h"
--- a/finch/gntconn.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntconn.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,14 +22,15 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "finch.h"
+
 #include "account.h"
 #include "core.h"
-#include "connection.c"
+#include "connection.h"
 #include "debug.h"
 #include "request.h"
 
 #include "gntconn.h"
-#include "finch.h"
 
 #define INITIAL_RECON_DELAY_MIN  8000
 #define INITIAL_RECON_DELAY_MAX 60000
--- a/finch/gntconv.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntconv.c	Thu Jun 21 20:37:57 2007 +0000
@@ -24,12 +24,13 @@
  */
 #include <string.h>
 
+#include "finch.h"
+
 #include <cmds.h>
 #include <idle.h>
 #include <prefs.h>
 #include <util.h>
 
-#include "finch.h"
 #include "gntaccount.h"
 #include "gntblist.h"
 #include "gntconv.h"
@@ -440,6 +441,16 @@
 }
 
 static void
+gained_focus_cb(GntWindow *window, FinchConv *fc)
+{
+	GList *iter;
+	for (iter = fc->list; iter; iter = iter->next) {
+		purple_conversation_set_data(iter->data, "unseen-count", 0);
+		purple_conversation_update(iter->data, PURPLE_CONV_UPDATE_UNSEEN);
+	}
+}
+
+static void
 finch_create_conversation(PurpleConversation *conv)
 {
 	FinchConv *ggc = conv->ui_data;
@@ -529,6 +540,7 @@
 
 	g_free(title);
 	gnt_box_give_focus_to_child(GNT_BOX(ggc->window), ggc->entry);
+	g_signal_connect(G_OBJECT(ggc->window), "gained-focus", G_CALLBACK(gained_focus_cb), ggc);
 }
 
 static void
@@ -622,6 +634,11 @@
 
 	if (flags & (PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_NICK | PURPLE_MESSAGE_ERROR))
 		gnt_widget_set_urgent(ggconv->tv);
+	if (flags & PURPLE_MESSAGE_RECV && !gnt_widget_has_focus(ggconv->window)) {
+		int count = GPOINTER_TO_INT(purple_conversation_get_data(conv, "unseen-count"));
+		purple_conversation_set_data(conv, "unseen-count", GINT_TO_POINTER(count + 1));
+		purple_conversation_update(conv, PURPLE_CONV_UPDATE_UNSEEN);
+	}
 }
 
 static void
--- a/finch/gntft.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntft.c	Thu Jun 21 20:37:57 2007 +0000
@@ -86,7 +86,7 @@
 static void
 update_title_progress()
 {
-	const GList *list;
+	GList *list;
 	int num_active_xfers = 0;
 	guint64 total_bytes_xferred = 0;
 	guint64 total_file_size = 0;
@@ -172,7 +172,7 @@
 void
 finch_xfer_dialog_new(void)
 {
-	const GList *iter;
+	GList *iter;
 	GntWidget *window;
 	GntWidget *bbox;
 	GntWidget *button;
@@ -411,7 +411,7 @@
 
 	size_str      = purple_str_size_to_units(purple_xfer_get_size(xfer));
 	remaining_str = purple_str_size_to_units(purple_xfer_get_bytes_remaining(xfer));
-	kbsec = g_strdup_printf(_("%.2f KB/s"), kbps);
+	kbsec = g_strdup_printf(_("%.2f KiB/s"), kbps);
 
 	gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_PROGRESS,
 			g_ascii_dtostr(prog_str, sizeof(prog_str), purple_xfer_get_progress(xfer) * 100.));
--- a/finch/gntnotify.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntnotify.c	Thu Jun 21 20:37:57 2007 +0000
@@ -29,10 +29,11 @@
 #include <gnttree.h>
 #include <gntutils.h>
 
+#include "finch.h"
+
 #include <util.h>
 
 #include "gntnotify.h"
-#include "finch.h"
 
 static struct
 {
--- a/finch/gntplugin.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntplugin.c	Thu Jun 21 20:37:57 2007 +0000
@@ -29,10 +29,11 @@
 #include <gntline.h>
 #include <gnttree.h>
 
+#include "finch.h"
+
 #include "notify.h"
 #include "request.h"
 
-#include "finch.h"
 #include "gntplugin.h"
 #include "gntrequest.h"
 
@@ -106,6 +107,9 @@
 	char *text;
 	GList *list = NULL, *iter = NULL;
 
+	if (!plugin)
+		return;
+
 	/* If the selected plugin was unseen before, mark it as seen. But save the list
 	 * only when the plugin list is closed. So if the user enables a plugin, and it
 	 * crashes, it won't get marked as seen so the user can fix the bug and still
--- a/finch/gntpounce.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntpounce.c	Thu Jun 21 20:37:57 2007 +0000
@@ -137,12 +137,12 @@
 static void
 populate_pounces_list(PouncesManager *dialog)
 {
-	const GList *pounces;
+	GList *pounces;
 
 	gnt_tree_remove_all(GNT_TREE(dialog->tree));
 
-	for (pounces = purple_pounces_get_all(); pounces != NULL;
-			pounces = g_list_next(pounces))
+	for (pounces = purple_pounces_get_all_for_ui(FINCH_UI); pounces != NULL;
+			pounces = g_list_delete_link(pounces, pounces))
 	{
 		add_pounce_to_treeview(GNT_TREE(dialog->tree), pounces->data);
 	}
@@ -288,7 +288,7 @@
 	GntWidget *hbox, *vbox;
 	GntWidget *button;
 	GntWidget *combo;
-	const GList *list;
+	GList *list;
 
 	g_return_if_fail((cur_pounce != NULL) ||
 	                 (account != NULL) ||
@@ -303,7 +303,7 @@
 		dialog->pounce  = NULL;
 		dialog->account = account;
 	} else {
-		const GList *connections = purple_connections_get_all();
+		GList *connections = purple_connections_get_all();
 		PurpleConnection *gc;
 
 		if (connections != NULL) {
--- a/finch/gntprefs.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntprefs.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,10 +22,11 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "finch.h"
+
 #include <prefs.h>
 #include <savedstatuses.h>
 
-#include "finch.h"
 #include "gntprefs.h"
 #include "gntrequest.h"
 
@@ -89,7 +90,7 @@
 get_status_titles()
 {
 	GList *list = NULL;
-	const GList *iter;
+	GList *iter;
 	for (iter = purple_savedstatuses_get_all(); iter; iter = iter->next) {
 		char *str;
 		if (purple_savedstatus_is_transient(iter->data))
--- a/finch/gntrequest.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntrequest.c	Thu Jun 21 20:37:57 2007 +0000
@@ -297,7 +297,7 @@
 				GList *list = NULL;
 				if (purple_request_field_list_get_multi_select(field))
 				{
-					const GList *iter;
+					GList *iter;
 					GntWidget *tree = field->ui_data;
 
 					iter = purple_request_field_list_get_items(field);
@@ -433,7 +433,7 @@
 			else if (type == PURPLE_REQUEST_FIELD_CHOICE)
 			{
 				int id;
-				const GList *list;
+				GList *list;
 				GntWidget *combo = gnt_combo_box_new();
 				gnt_box_add_widget(GNT_BOX(hbox), combo);
 				field->ui_data = combo;
@@ -449,7 +449,7 @@
 			}
 			else if (type == PURPLE_REQUEST_FIELD_LIST)
 			{
-				const GList *list;
+				GList *list;
 				gboolean multi = purple_request_field_list_get_multi_select(field);
 				if (multi)
 				{
@@ -490,7 +490,7 @@
 			{
 				gboolean all;
 				PurpleAccount *def;
-				const GList *list;
+				GList *list;
 				GntWidget *combo = gnt_combo_box_new();
 				gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID);
 				gnt_box_add_widget(GNT_BOX(hbox), combo);
--- a/finch/gntstatus.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntstatus.c	Thu Jun 21 20:37:57 2007 +0000
@@ -31,10 +31,11 @@
 #include <gntline.h>
 #include <gnttree.h>
 
+#include "finch.h"
+
 #include <notify.h>
 #include <request.h>
 
-#include "finch.h"
 #include "gntstatus.h"
 
 static struct
@@ -83,7 +84,7 @@
 static void
 populate_statuses(GntTree *tree)
 {
-	const GList *list;
+	GList *list;
 
 	for (list = purple_savedstatuses_get_all(); list; list = list->next)
 	{
@@ -244,7 +245,7 @@
 static void
 set_substatuses(EditStatus *edit)
 {
-	const GList *iter;
+	GList *iter;
 	for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) {
 		RowInfo *key = iter->data;
 		if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) {
@@ -410,7 +411,7 @@
 		EditSubStatus *sub;
 		GntWidget *window, *combo, *entry, *box, *button, *l;
 		PurpleSavedStatusSub *substatus = NULL;
-		const GList *iter;
+		GList *iter;
 		char *name;
 		RowInfo *selected = gnt_tree_get_selection_data(tree);
 		PurpleAccount *account = selected->account;
@@ -497,7 +498,7 @@
 	GntWidget *window, *box, *button, *entry, *combo, *label, *tree;
 	PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY,
 		PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET}, current;
-	const GList *iter;
+	GList *iter;
 	int i;
 
 	if (saved)
--- a/finch/gntui.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/gntui.c	Thu Jun 21 20:37:57 2007 +0000
@@ -19,6 +19,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "internal.h"
+
 #include "gntui.h"
 
 #include "gntaccount.h"
@@ -34,7 +36,6 @@
 #include "gntrequest.h"
 #include "gntstatus.h"
 #include "gntsound.h"
-#include "internal.h"
 
 #include <prefs.h>
 
--- a/finch/libgnt/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -1,6 +1,6 @@
 EXTRA_DIST=genmarshal
 
-SUBDIRS = . 
+SUBDIRS = . wms
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = gnt.pc
 
--- a/finch/libgnt/configure.ac	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/configure.ac	Thu Jun 21 20:37:57 2007 +0000
@@ -24,11 +24,11 @@
 # Make sure to update ../../configure.ac with libgnt version changes.
 #
 
-m4_define([gnt_lt_current], [0])
-m4_define([gnt_major_version], [1])
+m4_define([gnt_lt_current], [1])
+m4_define([gnt_major_version], [2])
 m4_define([gnt_minor_version], [0])
 m4_define([gnt_micro_version], [0])
-m4_define([gnt_version_suffix], [beta7])
+m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
 m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix]))
--- a/finch/libgnt/gntfilesel.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntfilesel.c	Thu Jun 21 20:37:57 2007 +0000
@@ -46,6 +46,7 @@
 static GntWindowClass *parent_class = NULL;
 static guint signals[SIGS] = { 0 };
 static void (*orig_map)(GntWidget *widget);
+static void (*orig_size_request)(GntWidget *widget);
 
 static void
 gnt_file_sel_destroy(GntWidget *widget)
@@ -552,6 +553,19 @@
 }
 
 static void
+gnt_file_sel_size_request(GntWidget *widget)
+{
+	GntFileSel *sel;
+	if (widget->priv.height > 0)
+		return;
+
+	sel = GNT_FILE_SEL(widget);
+	sel->dirs->priv.height = 16;
+	sel->files->priv.height = 16;
+	orig_size_request(widget);
+}
+
+static void
 gnt_file_sel_class_init(GntFileSelClass *klass)
 {
 	GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
@@ -560,6 +574,8 @@
 	kl->destroy = gnt_file_sel_destroy;
 	orig_map = kl->map;
 	kl->map = gnt_file_sel_map;
+	orig_size_request = kl->size_request;
+	kl->size_request = gnt_file_sel_size_request;
 
 	signals[SIG_FILE_SELECTED] = 
 		g_signal_new("file_selected",
--- a/finch/libgnt/gntmain.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntmain.c	Thu Jun 21 20:37:57 2007 +0000
@@ -435,10 +435,14 @@
 
 	setup_io();
 
+#ifdef NO_WIDECHAR
+	ascii_only = TRUE;
+#else
 	if (locale && (strstr(locale, "UTF") || strstr(locale, "utf")))
 		ascii_only = FALSE;
 	else
 		ascii_only = TRUE;
+#endif
 
 	initscr();
 	typeahead(-1);
--- a/finch/libgnt/gntstyle.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntstyle.c	Thu Jun 21 20:37:57 2007 +0000
@@ -139,8 +139,7 @@
 		if (!name)
 			return;
 
-		ws = g_object_new(GNT_TYPE_WS, NULL);
-		gnt_ws_set_name(ws, name);
+		ws = gnt_ws_new(name);
 		gnt_wm_add_workspace(wm, ws);
 		g_free(name);
 
--- a/finch/libgnt/gnttree.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gnttree.c	Thu Jun 21 20:37:57 2007 +0000
@@ -753,15 +753,16 @@
 			g_signal_emit(tree, signals[SIG_TOGGLED], 0, row->key);
 			redraw_tree(tree);
 		}
+	} else {
+		return FALSE;
 	}
 
 	if (old != tree->current)
 	{
 		tree_selection_changed(tree, old, tree->current);
-		return TRUE;
 	}
 
-	return FALSE;
+	return TRUE;
 }
 
 static void
@@ -1016,7 +1017,7 @@
 	return ret;
 }
 
-const GList *gnt_tree_get_rows(GntTree *tree)
+GList *gnt_tree_get_rows(GntTree *tree)
 {
 	return tree->list;
 }
--- a/finch/libgnt/gnttree.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gnttree.h	Thu Jun 21 20:37:57 2007 +0000
@@ -190,7 +190,13 @@
  */
 GList * gnt_tree_get_selection_text_list(GntTree *tree);
 
-const GList *gnt_tree_get_rows(GntTree *tree);
+/**
+ *
+ * @param tree
+ *
+ * @constreturn
+ */
+GList *gnt_tree_get_rows(GntTree *tree);
 
 /**
  * 
--- a/finch/libgnt/gntwm.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntwm.c	Thu Jun 21 20:37:57 2007 +0000
@@ -338,8 +338,7 @@
 	wm->title_places = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
 	gnt_style_read_workspaces(wm);
 	if (wm->workspaces == NULL) {
-		wm->cws = g_object_new(GNT_TYPE_WS, NULL);
-		gnt_ws_set_name(wm->cws, "default");
+		wm->cws = gnt_ws_new("default");
 		gnt_wm_add_workspace(wm, wm->cws);
 	} else {
 		wm->cws = wm->workspaces->data;
@@ -1005,12 +1004,11 @@
 	GntWM *wm = GNT_WM(bindable);
 
 	endwin();
-	refresh();
-	curs_set(0);   /* endwin resets the cursor to normal */
 
 	g_hash_table_foreach(wm->nodes, (GHFunc)refresh_node, NULL);
 	update_screen(wm);
 	gnt_ws_draw_taskbar(wm->cws, TRUE);
+	curs_set(0);   /* endwin resets the cursor to normal */
 
 	return FALSE;
 }
@@ -1104,6 +1102,16 @@
 }
 
 static gboolean
+workspace_new(GntBindable *bindable, GList *null)
+{
+	GntWM *wm = GNT_WM(bindable);
+	GntWS *ws = gnt_ws_new(NULL);
+	gnt_wm_add_workspace(wm, ws);
+	gnt_wm_switch_workspace(wm, g_list_index(wm->workspaces, ws));
+	return TRUE;
+}
+
+static gboolean
 ignore_keys_start(GntBindable *bindable, GList *n)
 {
 	GntWM *wm = GNT_WM(bindable);
@@ -1302,6 +1310,8 @@
 				"\033" GNT_KEY_CTRL_K, NULL);
 	gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "help-for-widget", help_for_widget,
 				"\033" "/", NULL);
+	gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-new", workspace_new,
+				GNT_KEY_F9, NULL);
 	gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-next", workspace_next,
 				"\033" ">", NULL);
 	gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "workspace-prev", workspace_prev,
@@ -1366,6 +1376,7 @@
 
 	return type;
 }
+
 void
 gnt_wm_add_workspace(GntWM *wm, GntWS *ws)
 {
@@ -1503,12 +1514,39 @@
 	return FALSE;
 }
 
+#if !GLIB_CHECK_VERSION(2,4,0)
+typedef struct
+{
+	GntWM *wm;
+	GntWS *ret;
+	gchar *title;
+} title_search;
+
+static void match_title_search(gpointer key, gpointer value, gpointer search)
+{
+	title_search *s = search;
+	if (s->ret)
+		return;
+	if (match_title(key, NULL, s->title))
+		s->ret = g_hash_table_lookup(s->wm->title_places, key);
+}
+#endif
+
 static GntWS *
 new_widget_find_workspace(GntWM *wm, GntWidget *widget, gchar *wid_title)
 {
 	GntWS *ret;
 	const gchar *name;
+#if GLIB_CHECK_VERSION(2,4,0)
 	ret = g_hash_table_find(wm->title_places, match_title, wid_title);
+#else
+	title_search *s = NULL;
+	s = g_new0(title_search, 1);
+	s->wm = wm;
+	s->title = wid_title;
+	g_hash_table_foreach(wm->title_places, match_title_search, s);
+	ret = s->ret;
+#endif
 	if (ret)
 		return ret;
 	name = gnt_widget_get_name(widget);
@@ -1600,6 +1638,7 @@
 			gnt_wm_raise_window(wm, node->me);
 		} else {
 			bottom_panel(node->panel);     /* New windows should not grab focus */
+			gnt_widget_set_focus(node->me, FALSE);
 			gnt_widget_set_urgent(node->me);
 			if (wm->cws != ws)
 				gnt_ws_widget_hide(widget, wm->nodes);
--- a/finch/libgnt/gntwm.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntwm.h	Thu Jun 21 20:37:57 2007 +0000
@@ -163,7 +163,7 @@
 	/* List of windows. Although the WM can keep a list of its own for the windows,
 	 * it'd be better if there was a way to share between the 'core' and the WM.
 	 */
-	/*const GList *(*window_list)();*/
+	/*GList *(*window_list)();*/
 
 	void (*res1)(void);
 	void (*res2)(void);
--- a/finch/libgnt/gntws.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntws.c	Thu Jun 21 20:37:57 2007 +0000
@@ -154,6 +154,13 @@
 	return type;
 }
 
+GntWS *gnt_ws_new(const char *name)
+{
+	GntWS *ws = GNT_WS(g_object_new(GNT_TYPE_WS, NULL));
+	ws->name = g_strdup(name ? name : "(noname)");
+	return ws;
+}
+
 const char * gnt_ws_get_name(GntWS *ws)
 {
 	return ws->name;
--- a/finch/libgnt/gntws.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/gntws.h	Thu Jun 21 20:37:57 2007 +0000
@@ -45,6 +45,7 @@
 
 GType gnt_ws_get_gtype(void);
 
+GntWS *gnt_ws_new(const char *name);
 void gnt_ws_set_name(GntWS *, const gchar *);
 void gnt_ws_add_widget(GntWS *, GntWidget *);
 void gnt_ws_remove_widget(GntWS *, GntWidget *);
--- a/finch/libgnt/wms/irssi.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/wms/irssi.c	Thu Jun 21 20:37:57 2007 +0000
@@ -177,7 +177,8 @@
 {
 	char title[256];
 	snprintf(title, sizeof(title), "%d: %s",
-			(int)g_object_get_data(G_OBJECT(node->me), "irssi-index") + 1, GNT_BOX(node->me)->title);
+			GPOINTER_TO_INT(g_object_get_data(G_OBJECT(node->me), "irssi-index")) + 1,
+			GNT_BOX(node->me)->title);
 	wbkgdset(node->window, '\0' | COLOR_PAIR(gnt_widget_has_focus(node->me) ? GNT_COLOR_TITLE : GNT_COLOR_TITLE_D));
 	mvwaddstr(node->window, 0, 0, title);
 	update_panels();
@@ -192,7 +193,7 @@
 	const char *name = gnt_widget_get_name(win);
 	if (!name || !GNT_IS_BOX(win) || strcmp(name, "conversation-window"))
 		return;
-	g_object_set_data(G_OBJECT(win), "irssi-index", GINT_TO_POINTER(g_list_index(wm->list, win)));
+	g_object_set_data(G_OBJECT(win), "irssi-index", GINT_TO_POINTER(g_list_index(wm->cws->list, win)));
 	g_timeout_add(0, (GSourceFunc)update_conv_window_title, node);
 }
 
@@ -221,12 +222,12 @@
 	int x, y, w, h;
 	GntWidget *win;
 
-	if (wm->ordered == NULL || is_budddylist(win = GNT_WIDGET(wm->ordered->data)))
+	if (wm->cws->ordered == NULL || is_budddylist(win = GNT_WIDGET(wm->cws->ordered->data)))
 		return FALSE;
 
 	find_window_position(irssi, win, &hor, &vert);
 
-	switch ((int)list->data) {
+	switch (GPOINTER_TO_INT(list->data)) {
 		case 'k':
 			vert = MAX(0, vert - 1);
 			break;
--- a/finch/libgnt/wms/s.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/libgnt/wms/s.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1,6 +1,8 @@
 #include <string.h>
 #include <sys/types.h>
 
+#include "internal.h"
+
 #include "gnt.h"
 #include "gntbox.h"
 #include "gntmenu.h"
@@ -121,7 +123,7 @@
 static GntWidget *
 find_widget(GntWM *wm, const char *wname)
 {
-	const GList *iter = wm->cws->list;
+	GList *iter = wm->cws->list;
 	for (; iter; iter = iter->next) {
 		GntWidget *widget = iter->data;
 		const char *name = gnt_widget_get_name(widget);
--- a/finch/plugins/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/finch/plugins/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -28,7 +28,7 @@
 
 endif # PLUGINS
 
-EXTRA_DIST = 
+EXTRA_DIST = pietray.py
 
 AM_CPPFLAGS = \
 	-DDATADIR=\"$(datadir)\" \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finch/plugins/pietray.py	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,183 @@
+#!/usr/bin/env python
+
+# This is a dbus script to show a docklet for Finch. This should work
+# for any 'compatible' purple client.
+#
+# By 'compatible', I mean any client that sets and updates the
+# "unseen-count" data on the conversations.
+#
+# It allows doing the following things:
+#    - It allows changing status.
+#    - It shows the current status and info about unread messages in
+#      the tooltip.
+#    - It can blink on unread IM/Chat messages, and it allows canging
+#      the preference for that.
+# 
+# It requires GTK+ 2.10 or above, since it uses GtkStatusIcon.
+# 
+# Sadrul <sadrul@pidgin.im>
+
+import pygtk
+pygtk.require("2.0")
+import gtk
+import dbus, gobject, dbus.glib
+import os # to get the pkg-config output
+
+bus = dbus.SessionBus()
+obj = bus.get_object(
+    "im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
+purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
+
+def pack_image_label(menu, image, label):
+	item = gtk.ImageMenuItem(label)
+	if image:
+		img = gtk.Image()
+		img.set_from_stock(image, 1)
+		item.set_image(img)
+	menu.append(item)
+	return item
+
+def activate_primitive_status(item, status):
+	saved = purple.PurpleSavedstatusFindTransientByTypeAndMessage(status, "")
+	if not saved:
+		saved = purple.PurpleSavedstatusNew("", status)
+	purple.PurpleSavedstatusActivate(saved)
+
+def activate_popular_status(item, time):
+	saved = purple.PurpleSavedstatusFindByCreationTime(time)
+	if saved:
+		purple.PurpleSavedstatusActivate(saved)
+
+def generate_status_menu(menu):
+	item = gtk.MenuItem("Available")
+	item.connect("activate", activate_primitive_status, 2)
+	menu.append(item)
+
+	item = gtk.MenuItem("Away")
+	item.connect("activate", activate_primitive_status, 5)
+	menu.append(item)
+
+	item = gtk.MenuItem("Invisible")
+	item.connect("activate", activate_primitive_status, 4)
+	menu.append(item)
+
+	item = gtk.MenuItem("Offline")
+	item.connect("activate", activate_primitive_status, 1)
+	menu.append(item)
+
+	menu.append(gtk.MenuItem())
+
+	popular = purple.PurpleSavedstatusesGetPopular(10)
+	for pop in popular:
+		title = purple.PurpleSavedstatusGetTitle(pop).replace('_', '__')
+		item = gtk.MenuItem(title)
+		item.set_data("timestamp", purple.PurpleSavedstatusGetCreationTime(pop))
+		item.connect("activate", activate_popular_status, purple.PurpleSavedstatusGetCreationTime(pop))
+		menu.append(item)
+
+def toggle_pref(item, pref):
+	purple.PurplePrefsSetBool(pref, item.get_active())
+
+def popup_menu(icon, button, tm, none):
+	menu = gtk.Menu()
+
+	item = gtk.CheckMenuItem("Blink for unread IM")
+	item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im"))
+	item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/im")
+	menu.append(item)
+
+	item = gtk.CheckMenuItem("Blink for unread Chats")
+	item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/chat"))
+	item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/chat")
+	menu.append(item)
+
+	menu.append(gtk.MenuItem())
+
+	#item = pack_image_label(menu, None, "Change Status...")
+	item = gtk.MenuItem("Change Status...")
+	menu.append(item)
+	submenu = gtk.Menu()
+	item.set_submenu(submenu)
+	generate_status_menu(submenu)
+
+	menu.show_all()
+	menu.popup(None, None, None, button, tm)
+
+def get_status_message():
+	status = purple.PurpleSavedstatusGetCurrent()
+	msg = purple.PurpleSavedstatusGetMessage(status)
+	if msg and len(msg) > 0:
+		text = msg + " "
+	else:
+		text = ""
+	text = text + "(" + {
+		2: "Available",
+		5: "Away",
+		4: "Invisible",
+		1: "Offline"
+	}[purple.PurpleSavedstatusGetType(status)] + ")"
+	return text
+
+def detect_unread_conversations():
+	im = purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im")
+	chat = purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/chat")
+	tooltip = ""
+	blink = False
+	if im and chat:
+		convs = purple.PurpleGetConversations()
+	elif im:
+		convs = purple.PurpleGetIms()
+	elif chat:
+		convs = purple.PurpleGetChats()
+	else:
+		convs = None
+	for conv in convs:
+		count = purple.PurpleConversationGetData(conv, "unseen-count")
+		if count and count > 0:
+			blink = True
+			tooltip = tooltip + "\n" + purple.PurpleConversationGetName(conv) + " (" + str(count) + ")"
+	t.set_from_file(path + "/share/pixmaps/pidgin.png")
+	if blink:
+		# I hate this icon
+		# t.set_from_file(path + "/share/pixmaps/pidgin/tray/22/tray-message.png")
+		tooltip = "\nUnread Messages:" + tooltip
+	# There's going to be some way to expose the client's display name in 2.1.0.
+	# Use that instead of hardcoding Finch here.
+	t.set_tooltip("Finch: " + get_status_message() + tooltip)
+	t.set_blinking(blink)
+
+def conversation_updated(conv, type):
+	detect_unread_conversations()
+
+def savedstatus_changed(new, old):
+	# Change the icon for status perhaps?
+	detect_unread_conversations()
+
+def init_prefs():
+	if not purple.PurplePrefsExists("/plugins/dbus/docklet/blink"):
+		purple.PurplePrefsAddNone("/plugins")
+		purple.PurplePrefsAddNone("/plugins/dbus")
+		purple.PurplePrefsAddNone("/plugins/dbus/docklet")
+		purple.PurplePrefsAddNone("/plugins/dbus/docklet/blink")
+		purple.PurplePrefsAddBool("/plugins/dbus/docklet/blink/im", True)
+		purple.PurplePrefsAddBool("/plugins/dbus/docklet/blink/chat", True)
+
+pkg = os.popen("pkg-config --variable=prefix pidgin")
+path = pkg.readline().rstrip()
+
+bus.add_signal_receiver(conversation_updated,
+  dbus_interface="im.pidgin.purple.PurpleInterface",
+  signal_name="ConversationUpdated")
+
+bus.add_signal_receiver(savedstatus_changed,
+  dbus_interface="im.pidgin.purple.PurpleInterface",
+  signal_name="SavedstatusChanged")
+
+t = gtk.StatusIcon()
+t.connect("popup-menu", popup_menu, None)
+
+init_prefs()
+detect_unread_conversations()
+
+gtk.main ()
+
--- a/libpurple/Makefile.mingw	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -72,6 +72,7 @@
 			upnp.c \
 			util.c \
 			value.c \
+			version.c \
 			xmlnode.c \
 			whiteboard.c \
 			win32/giowin32.c \
--- a/libpurple/account.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/account.c	Thu Jun 21 20:37:57 2007 +0000
@@ -205,7 +205,7 @@
 {
 	PurpleStatusType *type = purple_status_get_type(status);
 	xmlnode *node, *child;
-	const GList *attrs, *attr;
+	GList *attrs, *attr;
 
 	node = xmlnode_new("attributes");
 
@@ -241,7 +241,7 @@
 statuses_to_xmlnode(const PurplePresence *presence)
 {
 	xmlnode *node, *child;
-	const GList *statuses, *status;
+	GList *statuses, *status;
 
 	node = xmlnode_new("statuses");
 
@@ -371,7 +371,7 @@
 accounts_to_xmlnode(void)
 {
 	xmlnode *node, *child;
-	const GList *cur;
+	GList *cur;
 
 	node = xmlnode_new("account");
 	xmlnode_set_attrib(node, "version", "1.0");
@@ -877,7 +877,7 @@
 void
 purple_account_destroy(PurpleAccount *account)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_if_fail(account != NULL);
 
@@ -1805,7 +1805,7 @@
 PurpleStatusType *
 purple_account_get_status_type(const PurpleAccount *account, const char *id)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_val_if_fail(account != NULL, NULL);
 	g_return_val_if_fail(id      != NULL, NULL);
@@ -1824,7 +1824,7 @@
 PurpleStatusType *
 purple_account_get_status_type_with_primitive(const PurpleAccount *account, PurpleStatusPrimitive primitive)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_val_if_fail(account != NULL, NULL);
 
@@ -1857,7 +1857,7 @@
 	return purple_presence_is_status_active(account->presence, status_id);
 }
 
-const GList *
+GList *
 purple_account_get_status_types(const PurpleAccount *account)
 {
 	g_return_val_if_fail(account != NULL, NULL);
@@ -2272,7 +2272,7 @@
 	schedule_accounts_save();
 }
 
-const GList *
+GList *
 purple_accounts_get_all(void)
 {
 	return accounts;
@@ -2282,7 +2282,7 @@
 purple_accounts_get_all_active(void)
 {
 	GList *list = NULL;
-	const GList *all = purple_accounts_get_all();
+	GList *all = purple_accounts_get_all();
 
 	while (all != NULL) {
 		PurpleAccount *account = all->data;
@@ -2300,7 +2300,7 @@
 purple_accounts_find(const char *name, const char *protocol_id)
 {
 	PurpleAccount *account = NULL;
-	const GList *l;
+	GList *l;
 	char *who;
 
 	g_return_val_if_fail(name != NULL, NULL);
@@ -2327,7 +2327,7 @@
 void
 purple_accounts_restore_current_statuses()
 {
-	const GList *l;
+	GList *l;
 	PurpleAccount *account;
 
 	/* If we're not connected to the Internet right now, we bail on this */
--- a/libpurple/account.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/account.h	Thu Jun 21 20:37:57 2007 +0000
@@ -369,7 +369,7 @@
  *                  as a NULL-terminated list of id/value pairs.
  */
 void purple_account_set_status(PurpleAccount *account, const char *status_id,
-							 gboolean active, ...);
+							 gboolean active, ...) G_GNUC_NULL_TERMINATED;
 
 
 /**
@@ -672,9 +672,9 @@
  *
  * @param account The account.
  *
- * @return The account's status types.
+ * @constreturn The account's status types.
  */
-const GList *purple_account_get_status_types(const PurpleAccount *account);
+GList *purple_account_get_status_types(const PurpleAccount *account);
 
 /**
  * Returns a protocol-specific integer setting for an account.
@@ -884,9 +884,9 @@
 /**
  * Returns a list of all accounts.
  *
- * @return A list of all accounts.
+ * @constreturn A list of all accounts.
  */
-const GList *purple_accounts_get_all(void);
+GList *purple_accounts_get_all(void);
 
 /**
  * Returns a list of all enabled accounts
--- a/libpurple/accountopt.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/accountopt.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "internal.h"
+
 #include "accountopt.h"
 #include "util.h"
 
@@ -282,7 +284,7 @@
 	return option->masked;
 }
 
-const GList *
+GList *
 purple_account_option_get_list(const PurpleAccountOption *option)
 {
 	g_return_val_if_fail(option != NULL, NULL);
--- a/libpurple/accountopt.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/accountopt.h	Thu Jun 21 20:37:57 2007 +0000
@@ -296,9 +296,9 @@
  *
  * @param option The account option.
  *
- * @return The list values.
+ * @constreturn The list values.
  */
-const GList *purple_account_option_get_list(const PurpleAccountOption *option);
+GList *purple_account_option_get_list(const PurpleAccountOption *option);
 
 /*@}*/
 
--- a/libpurple/blist.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/blist.c	Thu Jun 21 20:37:57 2007 +0000
@@ -35,8 +35,6 @@
 #include "value.h"
 #include "xmlnode.h"
 
-#define PATHSIZE 1024
-
 static PurpleBlistUiOps *blist_ui_ops = NULL;
 
 static PurpleBuddyList *purplebuddylist = NULL;
@@ -304,7 +302,7 @@
 {
 	xmlnode *node, *child, *grandchild;
 	PurpleBlistNode *gnode;
-	const GList *cur;
+	GList *cur;
 
 	node = xmlnode_new("purple");
 	xmlnode_set_attrib(node, "version", "1.0");
@@ -1774,7 +1772,7 @@
 
 	node = (PurpleBlistNode *)buddy;
 	cnode = node->parent;
-	gnode = cnode->parent;
+	gnode = (cnode != NULL) ? cnode->parent : NULL;
 	contact = (PurpleContact *)cnode;
 	group = (PurpleGroup *)gnode;
 
@@ -1783,35 +1781,37 @@
 		node->prev->next = node->next;
 	if (node->next)
 		node->next->prev = node->prev;
-	if (cnode->child == node)
+	if ((cnode != NULL) && (cnode->child == node))
 		cnode->child = node->next;
 
 	/* Adjust size counts */
-	if (PURPLE_BUDDY_IS_ONLINE(buddy)) {
-		contact->online--;
-		if (contact->online == 0)
-			group->online--;
+	if (contact != NULL) {
+		if (PURPLE_BUDDY_IS_ONLINE(buddy)) {
+			contact->online--;
+			if (contact->online == 0)
+				group->online--;
+		}
+		if (purple_account_is_connected(buddy->account)) {
+			contact->currentsize--;
+			if (contact->currentsize == 0)
+				group->currentsize--;
+		}
+		contact->totalsize--;
+
+		/* Re-sort the contact */
+		if (cnode->child && contact->priority == buddy) {
+			purple_contact_invalidate_priority_buddy(contact);
+			if (ops && ops->update)
+				ops->update(purplebuddylist, cnode);
+		}
 	}
-	if (purple_account_is_connected(buddy->account)) {
-		contact->currentsize--;
-		if (contact->currentsize == 0)
-			group->currentsize--;
-	}
-	contact->totalsize--;
 
 	purple_blist_schedule_save();
 
-	/* Re-sort the contact */
-	if (cnode->child && contact->priority == buddy) {
-		purple_contact_invalidate_priority_buddy(contact);
-		if (ops && ops->update)
-			ops->update(purplebuddylist, cnode);
-	}
-
 	/* Remove this buddy from the buddies hash table */
 	hb.name = g_strdup(purple_normalize(buddy->account, buddy->name));
 	hb.account = buddy->account;
-	hb.group = ((PurpleBlistNode*)buddy)->parent->parent;
+	hb.group = gnode;
 	g_hash_table_remove(purplebuddylist->buddies, &hb);
 	g_free(hb.name);
 
@@ -1841,7 +1841,7 @@
 	while (g_source_remove_by_user_data((gpointer *)buddy));
 
 	/* If the contact is empty then remove it */
-	if (!cnode->child)
+	if ((contact != NULL) && !cnode->child)
 		purple_blist_remove_contact(contact);
 }
 
@@ -1893,7 +1893,7 @@
 {
 	PurpleBlistUiOps *ops = purple_blist_get_ui_ops();
 	PurpleBlistNode *node;
-	const GList *l;
+	GList *l;
 
 	g_return_if_fail(group != NULL);
 
--- a/libpurple/buddyicon.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/buddyicon.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1021,7 +1021,7 @@
 _purple_buddy_icons_account_loaded_cb()
 {
 	const char *dirname = purple_buddy_icons_get_cache_dir();
-	const GList *cur;
+	GList *cur;
 
 	for (cur = purple_accounts_get_all(); cur != NULL; cur = cur->next)
 	{
--- a/libpurple/cmds.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/cmds.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
 
 #include <string.h>
 
+#include "internal.h"
+
 #include "account.h"
 #include "util.h"
 #include "cmds.h"
--- a/libpurple/connection.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/connection.c	Thu Jun 21 20:37:57 2007 +0000
@@ -456,7 +456,7 @@
 void
 purple_connections_disconnect_all(void)
 {
-	const GList *l;
+	GList *l;
 	PurpleConnection *gc;
 
 	while ((l = purple_connections_get_all()) != NULL) {
@@ -466,13 +466,13 @@
 	}
 }
 
-const GList *
+GList *
 purple_connections_get_all(void)
 {
 	return connections;
 }
 
-const GList *
+GList *
 purple_connections_get_connecting(void)
 {
 	return connections_connecting;
--- a/libpurple/connection.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/connection.h	Thu Jun 21 20:37:57 2007 +0000
@@ -259,16 +259,16 @@
  * Returns a list of all active connections.  This does not
  * include connections that are in the process of connecting.
  *
- * @return A list of all active connections.
+ * @constreturn A list of all active connections.
  */
-const GList *purple_connections_get_all(void);
+GList *purple_connections_get_all(void);
 
 /**
  * Returns a list of all connections in the process of connecting.
  *
- * @return A list of connecting connections.
+ * @constreturn A list of connecting connections.
  */
-const GList *purple_connections_get_connecting(void);
+GList *purple_connections_get_connecting(void);
 
 /**
  * Checks if gc is still a valid pointer to a gc.
@@ -279,7 +279,7 @@
  * TODO: Eventually this bad boy will be removed, because it is
  *       a gross fix for a crashy problem.
  */
-#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find((GList *)purple_connections_get_all(), (gc)) != NULL)
+#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find(purple_connections_get_all(), (gc)) != NULL)
 
 /*@}*/
 
--- a/libpurple/conversation.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/conversation.c	Thu Jun 21 20:37:57 2007 +0000
@@ -631,7 +631,7 @@
 purple_conversation_foreach(void (*func)(PurpleConversation *conv))
 {
 	PurpleConversation *conv;
-	const GList *l;
+	GList *l;
 
 	g_return_if_fail(func != NULL);
 
@@ -732,19 +732,19 @@
 	return g_hash_table_lookup(conv->data, key);
 }
 
-const GList *
+GList *
 purple_get_conversations(void)
 {
 	return conversations;
 }
 
-const GList *
+GList *
 purple_get_ims(void)
 {
 	return ims;
 }
 
-const GList *
+GList *
 purple_get_chats(void)
 {
 	return chats;
@@ -759,7 +759,7 @@
 	PurpleConversation *c = NULL;
 	gchar *name1;
 	const gchar *name2;
-	const GList *cnv;
+	GList *cnv;
 
 	g_return_val_if_fail(name != NULL, NULL);
 
@@ -819,7 +819,7 @@
 		return;
 
 	if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM &&
-		!g_list_find((GList *)purple_get_conversations(), conv))
+		!g_list_find(purple_get_conversations(), conv))
 		return;
 
 	displayed = g_strdup(message);
@@ -1250,7 +1250,7 @@
 	return users;
 }
 
-const GList *
+GList *
 purple_conv_chat_get_users(const PurpleConvChat *chat)
 {
 	g_return_val_if_fail(chat != NULL, NULL);
@@ -1284,7 +1284,7 @@
 	if (!purple_conv_chat_is_user_ignored(chat, name))
 		return;
 
-	item = g_list_find((GList *)purple_conv_chat_get_ignored(chat),
+	item = g_list_find(purple_conv_chat_get_ignored(chat),
 					   purple_conv_chat_get_ignored_user(chat, name));
 
 	purple_conv_chat_set_ignored(chat,
@@ -1304,7 +1304,7 @@
 	return ignored;
 }
 
-const GList *
+GList *
 purple_conv_chat_get_ignored(const PurpleConvChat *chat)
 {
 	g_return_val_if_fail(chat != NULL, NULL);
@@ -1315,7 +1315,7 @@
 const char *
 purple_conv_chat_get_ignored_user(const PurpleConvChat *chat, const char *user)
 {
-	const GList *ignored;
+	GList *ignored;
 
 	g_return_val_if_fail(chat != NULL, NULL);
 	g_return_val_if_fail(user != NULL, NULL);
@@ -1810,7 +1810,7 @@
 	PurpleConversation *conv;
 	PurpleConversationUiOps *ops;
 	GList *users;
-	const GList *l;
+	GList *l;
 	GList *names = NULL;
 
 	g_return_if_fail(chat != NULL);
@@ -1919,7 +1919,7 @@
 PurpleConversation *
 purple_find_chat(const PurpleConnection *gc, int id)
 {
-	const GList *l;
+	GList *l;
 	PurpleConversation *conv;
 
 	for (l = purple_get_chats(); l != NULL; l = l->next) {
@@ -1968,7 +1968,7 @@
 PurpleConvChatBuddy *
 purple_conv_chat_cb_find(PurpleConvChat *chat, const char *name)
 {
-	const GList *l;
+	GList *l;
 	PurpleConvChatBuddy *cb = NULL;
 
 	g_return_val_if_fail(chat != NULL, NULL);
--- a/libpurple/conversation.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/conversation.h	Thu Jun 21 20:37:57 2007 +0000
@@ -502,23 +502,23 @@
  *
  * This list includes both IMs and chats.
  *
- * @return A GList of all conversations.
+ * @constreturn A GList of all conversations.
  */
-const GList *purple_get_conversations(void);
+GList *purple_get_conversations(void);
 
 /**
  * Returns a list of all IMs.
  *
- * @return A GList of all IMs.
+ * @constreturn A GList of all IMs.
  */
-const GList *purple_get_ims(void);
+GList *purple_get_ims(void);
 
 /**
  * Returns a list of all chats.
  *
- * @return A GList of all chats.
+ * @constreturn A GList of all chats.
  */
-const GList *purple_get_chats(void);
+GList *purple_get_chats(void);
 
 /**
  * Finds a conversation with the specified type, name, and Purple account.
@@ -875,9 +875,9 @@
  *
  * @param chat The chat.
  *
- * @return The list of users.
+ * @constreturn The list of users.
  */
-const GList *purple_conv_chat_get_users(const PurpleConvChat *chat);
+GList *purple_conv_chat_get_users(const PurpleConvChat *chat);
 
 /**
  * Ignores a user in a chat room.
@@ -912,7 +912,7 @@
  *
  * @return The list of ignored users.
  */
-const GList *purple_conv_chat_get_ignored(const PurpleConvChat *chat);
+GList *purple_conv_chat_get_ignored(const PurpleConvChat *chat);
 
 /**
  * Returns the actual name of the specified ignored user, if it exists in
--- a/libpurple/core.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/core.c	Thu Jun 21 20:37:57 2007 +0000
@@ -489,13 +489,33 @@
 			/* We're only going to duplicate a logs symlink. */
 			if (!strcmp(entry, "logs"))
 			{
+				char *link;
+#if GLIB_CHECK_VERSION(2,4,0)
+				GError *err = NULL;
+
+				if ((link = g_file_read_link(name, &err)) == NULL)
+				{
+					char *name_utf8 = g_filename_to_utf8(name, -1, NULL, NULL, NULL);
+					purple_debug_error("core", "Error reading symlink %s: %s. Please report this at http://developer.pidgin.im\n",
+					                   name_utf8 ? name_utf8 : name, err->message);
+					g_free(name_utf8);
+					g_error_free(err);
+					g_free(name);
+					g_dir_close(dir);
+					g_free(status_file);
+					g_free(old_user_dir);
+					return FALSE;
+				}
+#else
 				char buf[MAXPATHLEN];
 				size_t linklen;
 
 				if ((linklen = readlink(name, buf, sizeof(buf) - 1) == -1))
 				{
+					char *name_utf8 = g_filename_to_utf8(name, -1, NULL, NULL, NULL);
 					purple_debug_error("core", "Error reading symlink %s: %s. Please report this at http://developer.pidgin.im\n",
-					                   name, strerror(errno));
+					                   name_utf8, strerror(errno));
+					g_free(name_utf8);
 					g_free(name);
 					g_dir_close(dir);
 					g_free(status_file);
@@ -504,13 +524,18 @@
 				}
 				buf[linklen] = '\0';
 
-				logs_dir = g_strconcat(user_dir, G_DIR_SEPARATOR_S "logs", NULL);
+				/* This way we don't have to GLIB_VERSION_CHECK every g_free(link) below. */
+				link = g_strdup(buf);
+#endif
 
-				if (!strcmp(buf, "../.purple/logs") || !strcmp(buf, logs_dir))
+				logs_dir = g_build_filename(user_dir, "logs", NULL);
+
+				if (!strcmp(link, "../.purple/logs") || !strcmp(link, logs_dir))
 				{
 					/* If the symlink points to the new directory, we're
 					 * likely just trying again after a failed migration,
 					 * so there's no need to fail here. */
+					g_free(link);
 					g_free(logs_dir);
 					continue;
 				}
@@ -522,12 +547,13 @@
 				g_unlink(logs_dir);
 
 				/* Relative links will most likely still be
-				 * valid from ~/.purple, though not it's not
+				 * valid from ~/.purple, though it's not
 				 * guaranteed.  Oh well. */
-				if (symlink(buf, logs_dir))
+				if (symlink(link, logs_dir))
 				{
 					purple_debug_error("core", "Error symlinking %s to %s: %s. Please report this at http://developer.pidgin.im\n",
-					                   logs_dir, buf, strerror(errno));
+					                   logs_dir, link, strerror(errno));
+					g_free(link);
 					g_free(name);
 					g_free(logs_dir);
 					g_dir_close(dir);
@@ -536,6 +562,7 @@
 					return FALSE;
 				}
 
+				g_free(link);
 				g_free(logs_dir);
 				continue;
 			}
--- a/libpurple/dbus-analyze-functions.py	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/dbus-analyze-functions.py	Thu Jun 21 20:37:57 2007 +0000
@@ -3,7 +3,7 @@
 import sys
 
 # types translated into "int"
-simpletypes = ["int", "gint", "guint", "gboolean"]
+simpletypes = ["int", "gint", "guint", "gboolean", "gpointer", "size_t", "gssize", "time_t"]
 
 # List "excluded" contains functions that shouldn't be exported via
 # DBus.  If you remove a function from this list, please make sure
@@ -32,8 +32,8 @@
     "purple_log_read",
     ]
 
-# This is a list of functions that return a GList* whose elements are
-# string, not pointers to objects.
+# This is a list of functions that return a GList* or GSList * whose elements
+# are strings, not pointers to objects.
 stringlists = [
     "purple_prefs_get_path_list",
     "purple_prefs_get_string_list",
@@ -41,6 +41,32 @@
     "purple_uri_list_extract_uris",
 ]
 
+# This is a list of functions that return a GList* or GSList* that should
+# not be freed.  Ideally, this information should be obtained from the Doxygen
+# documentation at some point.
+constlists = [
+    "purple_account_get_status_types",
+    "purple_accounts_get_all",
+    "purple_account_option_get_list",
+    "purple_connections_get_all",
+    "purple_connections_get_connecting",
+    "purple_get_conversations",
+    "purple_get_ims",
+    "purple_get_chats",
+    "purple_conv_chat_get_users",
+    "purple_conv_chat_get_ignored",
+    "purple_mime_document_get_fields",
+    "purple_mime_document_get_parts",
+    "purple_mime_part_get_fields",
+    "purple_notify_user_info_get_entries",
+    "purple_request_fields_get_required",
+    "purple_request_field_list_get_selected",
+    "purple_request_field_list_get_items",
+    "purple_savedstatuses_get_all",
+    "purple_status_type_get_attrs",
+    "purple_presence_get_statuses",
+]
+
 pointer = "#pointer#"
 myexception = "My Exception"
 
@@ -93,21 +119,26 @@
 
     def processinput(self, type, name):
         const = False
+        unsigned = False
         if type[0] == "const":
             type = type[1:]
             const = True
 
+        if type[0] == "unsigned":
+            type = type[1:]
+            unsigned = True
+
         if len(type) == 1:
             # simple types (int, gboolean, etc.) and enums
             if (type[0] in simpletypes) or ((type[0].startswith("Purple") and not type[0].endswith("Callback"))):
-                return self.inputsimple(type, name)
+                return self.inputsimple(type, name, unsigned)
 
         # pointers ... 
         if (len(type) == 2) and (type[1] == pointer):
             # strings
             if type[0] in ["char", "gchar"]:
                 if const:
-                    return self.inputstring(type, name)
+                    return self.inputstring(type, name, unsigned)
                 else:
                     raise myexception
 
@@ -152,7 +183,7 @@
                 return self.outputpurplestructure(type, name)
 
             if type[0] in ["GList", "GSList"]:
-                return self.outputlist(type, name, const)
+                return self.outputlist(type, name)
 
         raise myexception
     
@@ -206,12 +237,18 @@
             print "typedef struct _%s %s;" % (type[0], type[0])
             self.knowntypes.append(type[0])
 
-    def inputsimple(self, type, name):
+    def inputsimple(self, type, name, us):
         self.paramshdr.append("%s %s" % (type[0], name))
-        self.inputparams.append(("G_TYPE_INT", name))
+        if us:
+            self.inputparams.append(("G_TYPE_UINT", name))
+        else:
+            self.inputparams.append(("G_TYPE_INT", name))
 
-    def inputstring(self, type, name):
-        self.paramshdr.append("const char *%s" % name)
+    def inputstring(self, type, name, us):
+        if us:
+            self.paramshdr.append("const unsigned char *%s" % name)
+        else:
+            self.paramshdr.append("const char *%s" % name)
         self.inputparams.append(("G_TYPE_STRING", name))
         
     def inputpurplestructure(self, type, name):
@@ -254,7 +291,7 @@
         self.returncode.append("return (%s*) GINT_TO_POINTER(%s);" % (type[0], name));
         self.definepurplestructure(type)
 
-    def outputlist(self, type, name, const):
+    def outputlist(self, type, name):
         self.functiontype = "%s*" % type[0]
         self.decls.append("GArray *%s;" % name)
         self.outputparams.append(('dbus_g_type_get_collection("GArray", G_TYPE_INT)', name))
@@ -298,7 +335,7 @@
         print "\tdbus_message_append_args(reply_DBUS,",
         for param in self.cparamsout:
             if type(param) is str:
-                print "%s," % param
+                print "%s," % param,
             else:
                 print "DBUS_TYPE_%s, &%s," % param,
         print "DBUS_TYPE_INVALID);"
@@ -322,15 +359,23 @@
 
     # input parameters
 
-    def inputsimple(self, type, name):
-        self.cdecls.append("\tdbus_int32_t %s;" % name)
-        self.cparams.append(("INT32", name))
-        self.addintype("i", name)
+    def inputsimple(self, type, name, us):
+        if us:
+            self.cdecls.append("\tdbus_int32_t %s;" % name)
+            self.cparams.append(("INT32", name))
+            self.addintype("i", name)
+        else:
+            self.cdecls.append("\tdbus_uint32_t %s;" % name)
+            self.cparams.append(("UINT32", name))
+            self.addintype("u", name)
 
-    def inputstring(self, type, name):
-        self.cdecls.append("\tconst char *%s;" % name)
+    def inputstring(self, type, name, us):
+        if us:
+            self.cdecls.append("\tconst unsigned char *%s;" % name)
+        else:
+            self.cdecls.append("\tconst char *%s;" % name)
         self.cparams.append(("STRING", name))
-        self.ccode  .append("\tNULLIFY(%s);" % name)
+        self.ccode.append("\t%s = (%s && %s[0]) ? %s : NULL;" % (name,name,name,name))
         self.addintype("s", name)
 
     def inputhash(self, type, name):
@@ -390,28 +435,20 @@
 
     # GList*, GSList*, assume that list is a list of objects
     # unless the function is in stringlists
-    def outputlist(self, type, name, const):
+    def outputlist(self, type, name):
         self.cdecls.append("\tdbus_int32_t %s_LEN;" % name)
         self.ccodeout.append("\tg_free(%s);" % name)
 
-        if const:
-            const_prefix = "const_"
-        else:
-            const_prefix = ""
-
-        if (const):
-            self.cdecls.append("\tconst %s *list;" % type[0]);
-        else:
-            self.cdecls.append("\t%s *list;" % type[0]);
+        self.cdecls.append("\t%s *list;" % type[0]);
 
         if self.function.name in stringlists:
             self.cdecls.append("\tchar **%s;" % name)
             self.ccode.append("\tlist = %s;" % self.call)
-            self.ccode.append("\t%s = (char **)purple_const_%s_to_array(list, &%s_LEN);" % \
+            self.ccode.append("\t%s = (char **)purple_%s_to_array(list, FALSE, &%s_LEN);" % \
                          (name, type[0], name))
-            self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \
+            self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &%s, %s_LEN" \
                           % (name, name))
-            if (not const):
+            if (not (self.function.name in constlists)):
                 type_name = type[0].lower()[1:]
                 self.ccodeout.append("\tg_%s_foreach(list, (GFunc)g_free, NULL);" % type_name)
                 self.ccodeout.append("\tg_%s_free(list);" % type_name)
@@ -419,11 +456,11 @@
         else:
             self.cdecls.append("\tdbus_int32_t *%s;" % name)
             self.ccode.append("\tlist = %s;" % self.call)
-            self.ccode.append("\t%s = purple_dbusify_const_%s(list, &%s_LEN);" % \
+            self.ccode.append("\t%s = purple_dbusify_%s(list, FALSE, &%s_LEN);" % \
                          (name, type[0], name))
-            if (not const):
+            if (not (self.function.name in constlists)):
                 self.ccode.append("\tg_%s_free(list);" % type[0].lower()[1:])
-            self.cparamsout.append("\tDBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \
+            self.cparamsout.append("DBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &%s, %s_LEN" \
                               % (name, name))
             self.addouttype("ai", name)
 
--- a/libpurple/dbus-bindings.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/dbus-bindings.h	Thu Jun 21 20:37:57 2007 +0000
@@ -83,52 +83,14 @@
 					int              first_arg_type,
 					va_list          var_args);
 
-/**
- * @deprecated In 3.0.0, this method will have a signature and behavior
- *             like that of purple_dbusify_const_GList().
- */
 dbus_int32_t* purple_dbusify_GList(GList *list, gboolean free_memory, 
 				 dbus_int32_t *len);
-/**
- * @deprecated In 3.0.0, this method will have a signature and behavior
- *             like that of purple_dbusify_const_GSList().
- */
 dbus_int32_t* purple_dbusify_GSList(GSList *list, gboolean free_memory,
 				  dbus_int32_t *len);
-
-/**
- * @since 2.1.0
- */
-dbus_int32_t* purple_dbusify_const_GList(const GList *list, dbus_int32_t *len);
-
-/**
- * @since 2.1.0
- */
-dbus_int32_t* purple_dbusify_const_GSList(const GSList *list, dbus_int32_t *len);
-
-/**
- * @deprecated In 3.0.0, this method will have a signature and behavior
- *             like that of purple_const_GList_to_array().
- */
 gpointer* purple_GList_to_array(GList *list, gboolean free_memory,
 			      dbus_int32_t *len);
-/**
- * @deprecated In 3.0.0, this method will have a signature and behavior
- *             like that of purple_const_GSList_to_array().
- */
 gpointer* purple_GSList_to_array(GSList *list, gboolean free_memory,
 			      dbus_int32_t *len);
-
-/**
- * @since 2.1.0
- */
-gpointer* purple_const_GList_to_array(const GList *list, dbus_int32_t *len);
-
-/**
- * @since 2.1.0
- */
-gpointer* purple_const_GSList_to_array(const GSList *list, dbus_int32_t *len);
-
 GHashTable *purple_dbus_iter_hash_table(DBusMessageIter *iter, DBusError *error);
 
 const char* empty_to_null(const char *str);
--- a/libpurple/dbus-server.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/dbus-server.c	Thu Jun 21 20:37:57 2007 +0000
@@ -120,7 +120,7 @@
 	if ((id == 0) && (node != NULL))
 	{
 		purple_debug_warning("dbus",
-				"Need to register an object with the dbus subsystem.\n");
+				"Need to register an object with the dbus subsystem. (If you are not a developer, please ignore this message.)\n");
 		return 0;
 	}
 	return id;
@@ -290,45 +290,19 @@
 }
 
 dbus_int32_t *
-purple_dbusify_const_GList(const GList *list, dbus_int32_t *len)
+purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len)
 {
 	dbus_int32_t *array;
 	int i;
-	const GList *elem;
+	GList *elem;
 
-	/* g_list_length() should really take a const GList */
-	*len = g_list_length((GList *)list);
+	*len = g_list_length(list);
 	array = g_new0(dbus_int32_t, *len);
 	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
 		array[i] = purple_dbus_pointer_to_id(elem->data);
 
-	return array;
-}
-
-dbus_int32_t *
-purple_dbusify_GList(GList *list, gboolean free_memory, dbus_int32_t *len)
-{
-	dbus_int32_t *array = purple_dbusify_const_GList(list, len);
-
-	if (!free_memory)
-		return array;
-
-	g_list_free(list);
-	return array;
-}
-
-dbus_int32_t *
-purple_dbusify_const_GSList(const GSList *list, dbus_int32_t *len)
-{
-	dbus_int32_t *array;
-	int i;
-	const GSList *elem;
-
-	/* g_slist_length should really take a const GSList */
-	*len = g_slist_length((GSList *)list);
-	array = g_new0(dbus_int32_t, *len);
-	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
-		array[i] = purple_dbus_pointer_to_id(elem->data);
+	if (free_memory)
+		g_list_free(list);
 
 	return array;
 }
@@ -336,26 +310,17 @@
 dbus_int32_t *
 purple_dbusify_GSList(GSList *list, gboolean free_memory, dbus_int32_t *len)
 {
-	dbus_int32_t *array = purple_dbusify_const_GSList(list, len);
-
-	if (!free_memory)
-		return array;
-
-	g_slist_free(list);
-	return array;
-}
+	dbus_int32_t *array;
+	int i;
+	GSList *elem;
 
-gpointer *
-purple_const_GList_to_array(const GList *list, dbus_int32_t *len)
-{
-	gpointer *array;
-	int i;
-	const GList *elem;
+	*len = g_slist_length(list);
+	array = g_new0(dbus_int32_t, *len);
+	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
+		array[i] = purple_dbus_pointer_to_id(elem->data);
 
-	*len = g_list_length((GList *)list);
-	array = g_new0(gpointer, *len);
-	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
-		array[i] = elem->data;
+	if (free_memory)
+		g_slist_free(list);
 
 	return array;
 }
@@ -363,39 +328,36 @@
 gpointer *
 purple_GList_to_array(GList *list, gboolean free_memory, dbus_int32_t *len)
 {
-	gpointer *array = purple_const_GList_to_array(list, len);
-
-	if (!free_memory)
-		return array;
-
-	g_list_free(list);
-	return array;
-}
-
-gpointer *
-purple_const_GSList_to_array(const GSList *list, dbus_int32_t *len)
-{
 	gpointer *array;
 	int i;
-	const GSList *elem;
+	GList *elem;
 
-	*len = g_slist_length((GSList *)list);
+	*len = g_list_length(list);
 	array = g_new0(gpointer, *len);
 	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
 		array[i] = elem->data;
 
+	if (free_memory)
+		g_list_free(list);
+
 	return array;
 }
 
 gpointer *
 purple_GSList_to_array(GSList *list, gboolean free_memory, dbus_int32_t *len)
 {
-	gpointer *array = purple_const_GSList_to_array(list, len);
+	gpointer *array;
+	int i;
+	GSList *elem;
 
-	if (!free_memory)
-		return array;
+	*len = g_slist_length(list);
+	array = g_new0(gpointer, *len);
+	for (i = 0, elem = list; elem != NULL; elem = elem->next, i++)
+		array[i] = elem->data;
 
-	g_slist_free(list);
+	if (free_memory)
+		g_slist_free(list);
+
 	return array;
 }
 
@@ -798,7 +760,7 @@
 	dbus_message_iter_init_append(signal, &iter);
 
 	if (purple_dbus_message_append_purple_values(&iter, num_values, values, vargs))
-		purple_debug_warning("dbus", "The signal \"%s\" caused some dbus error.\n", name);
+		purple_debug_warning("dbus", "The signal \"%s\" caused some dbus error. (If you are not a developer, please ignore this message.)\n", name);
 
 	dbus_connection_send(purple_dbus_connection, signal, NULL);
 
@@ -835,8 +797,18 @@
 void
 purple_dbus_uninit(void)
 {
-	/* Surely we must do SOME kind of uninitialization? */
+	DBusError error;
+	if (!purple_dbus_connection)
+		return;
 
+	dbus_error_init(&error);
+	dbus_connection_unregister_object_path(purple_dbus_connection, DBUS_PATH_PURPLE);
+	dbus_bus_release_name(purple_dbus_connection, DBUS_SERVICE_PURPLE, &error);
+	dbus_error_free(&error);
+	dbus_connection_unref(purple_dbus_connection);
+	purple_dbus_connection = NULL;
+	purple_signals_disconnect_by_handle(purple_dbus_get_handle());
 	g_free(init_error);
 	init_error = NULL;
 }
+
--- a/libpurple/dbus-useful.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/dbus-useful.c	Thu Jun 21 20:37:57 2007 +0000
@@ -11,7 +11,7 @@
 		       gboolean (*account_test)(const PurpleAccount *account))
 {
 	PurpleAccount *result = NULL;
-	const GList *l;
+	GList *l;
 	char *who;
 
 	if (name)
--- a/libpurple/example/nullclient.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/example/nullclient.c	Thu Jun 21 20:37:57 2007 +0000
@@ -20,6 +20,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
+
+/* XXX: we probably shouldn't include internal.h in examples */
+#include "internal.h"
+
 #include "account.h"
 #include "conversation.h"
 #include "core.h"
--- a/libpurple/idle.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/idle.c	Thu Jun 21 20:37:57 2007 +0000
@@ -199,7 +199,7 @@
 	/* Idle reporting stuff */
 	if (report_idle && (time_idle >= IDLEMARK))
 	{
-		const GList *l;
+		GList *l;
 		for (l = purple_connections_get_all(); l != NULL; l = l->next)
 		{
 			PurpleConnection *gc = l->data;
@@ -304,6 +304,14 @@
 	return &handle;
 }
 
+static gboolean _do_purple_idle_touch_cb(gpointer data)
+{
+	purple_idle_touch();
+
+	return FALSE;
+}
+
+
 void
 purple_idle_init()
 {
@@ -325,7 +333,10 @@
 	purple_prefs_connect_callback(purple_idle_get_handle(), "/purple/away/idle_reporting",
 	                              idle_reporting_cb, NULL);
 
-	purple_idle_touch();
+	/* Initialize the idleness asynchronously so it doesn't check idleness,
+	 * and potentially try to change the status before the UI is initialized */
+	g_idle_add(_do_purple_idle_touch_cb, NULL);
+
 }
 
 void
--- a/libpurple/imgstore.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/imgstore.c	Thu Jun 21 20:37:57 2007 +0000
@@ -25,6 +25,8 @@
 */
 
 #include <glib.h>
+#include "internal.h"
+
 #include "dbus-maybe.h"
 #include "debug.h"
 #include "imgstore.h"
--- a/libpurple/imgstore.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/imgstore.h	Thu Jun 21 20:37:57 2007 +0000
@@ -28,7 +28,6 @@
 
 #include <glib.h>
 
-struct _PurpleStoredImage;
 typedef struct _PurpleStoredImage PurpleStoredImage;
 
 #ifdef __cplusplus
--- a/libpurple/internal.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/internal.h	Thu Jun 21 20:37:57 2007 +0000
@@ -112,15 +112,17 @@
 #endif
 
 #ifndef MAXPATHLEN
-# define MAXPATHLEN 1024
+# ifdef PATH_MAX
+#  define MAXPATHLEN PATH_MAX
+# else
+#  define MAXPATHLEN 1024
+# endif
 #endif
 
 #ifndef HOST_NAME_MAX
 # define HOST_NAME_MAX 255
 #endif
 
-#define PATHSIZE 1024
-
 #include <glib.h>
 #if !GLIB_CHECK_VERSION(2,4,0)
 #	define G_MAXUINT32 ((guint32) 0xffffffff)
@@ -176,6 +178,14 @@
 #	endif
 #endif
 
+#ifndef G_GNUC_NULL_TERMINATED
+#	if     __GNUC__ >= 4
+#		define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+#	else
+#		define G_GNUC_NULL_TERMINATED
+#	endif
+#endif
+
 /* Safer ways to work with static buffers. When using non-static
  * buffers, either use g_strdup_* functions (preferred) or use
  * g_strlcpy/g_strlcpy directly. */
--- a/libpurple/log.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/log.c	Thu Jun 21 20:37:57 2007 +0000
@@ -406,6 +406,9 @@
 	if (g_slist_find(loggers, logger))
 		return;
 	loggers = g_slist_append(loggers, logger);
+	if (strcmp(purple_prefs_get_string("/purple/logging/format"), logger->id) == 0) {
+		purple_prefs_trigger_callback("/purple/logging/format");
+	}
 }
 
 void purple_log_logger_remove (PurpleLogLogger *logger)
@@ -982,7 +985,7 @@
 		GDir *protocol_dir;
 		const gchar *username;
 		gchar *protocol_unescaped;
-		const GList *account_iter;
+		GList *account_iter;
 		GList *accounts = NULL;
 
 		if ((protocol_dir = g_dir_open(protocol_path, 0, NULL)) == NULL) {
--- a/libpurple/mime.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/mime.c	Thu Jun 21 20:37:57 2007 +0000
@@ -29,6 +29,8 @@
 #include <glib/glist.h>
 #include <glib/gstring.h>
 
+#include "internal.h"
+
 /* this should become "util.h" if we ever get this into purple proper */
 #include "debug.h"
 #include "mime.h"
@@ -277,7 +279,7 @@
 }
 
 
-const GList *
+GList *
 purple_mime_part_get_fields(PurpleMimePart *part)
 {
 	g_return_val_if_fail(part != NULL, NULL);
@@ -513,7 +515,7 @@
 }
 
 
-const GList *
+GList *
 purple_mime_document_get_fields(PurpleMimeDocument *doc)
 {
 	g_return_val_if_fail(doc != NULL, NULL);
@@ -537,7 +539,7 @@
 }
 
 
-const GList *
+GList *
 purple_mime_document_get_parts(PurpleMimeDocument *doc)
 {
 	g_return_val_if_fail(doc != NULL, NULL);
--- a/libpurple/mime.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/mime.h	Thu Jun 21 20:37:57 2007 +0000
@@ -90,10 +90,10 @@
  *
  * @param doc The MIME document.
  *
- * @returns   A list of strings indicating the fields (but not the values of
- *            the fields) in the header of doc.
+ * @constreturn A list of strings indicating the fields (but not the values
+ *              of the fields) in the header of doc.
  */
-const GList *purple_mime_document_get_fields(PurpleMimeDocument *doc);
+GList *purple_mime_document_get_fields(PurpleMimeDocument *doc);
 
 /**
  * Get the value of a specific field in the header of a document.
@@ -125,9 +125,9 @@
  *
  * @param doc The MIME document.
  *
- * @returns   List of PurpleMimePart contained within doc.
+ * @constreturn   List of PurpleMimePart contained within doc.
  */
-const GList *purple_mime_document_get_parts(PurpleMimeDocument *doc);
+GList *purple_mime_document_get_parts(PurpleMimeDocument *doc);
 
 /**
  * Create and insert a new part into a MIME document.
@@ -142,10 +142,10 @@
  *
  * @param part The MIME document part.
  *
- * @returns    List of strings indicating the fields (but not the values
- *             of the fields) in the header of part.
+ * @constreturn List of strings indicating the fields (but not the values
+ *              of the fields) in the header of part.
  */
-const GList *purple_mime_part_get_fields(PurpleMimePart *part);
+GList *purple_mime_part_get_fields(PurpleMimePart *part);
 
 
 /**
--- a/libpurple/notify.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/notify.c	Thu Jun 21 20:37:57 2007 +0000
@@ -530,7 +530,7 @@
 	g_free(user_info);
 }
 
-const GList *
+GList *
 purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info)
 {
 	g_return_val_if_fail(user_info != NULL, NULL);
@@ -749,18 +749,16 @@
 void
 purple_notify_close_with_handle(void *handle)
 {
-	GList *l, *l_next;
+	GList *l, *prev = NULL;
 	PurpleNotifyUiOps *ops;
 
 	g_return_if_fail(handle != NULL);
 
 	ops = purple_notify_get_ui_ops();
 
-	for (l = handles; l != NULL; l = l_next) {
+	for (l = handles; l != NULL; l = prev ? prev->next : handles) {
 		PurpleNotifyInfo *info = l->data;
 
-		l_next = l->next;
-
 		if (info->handle == handle) {
 			handles = g_list_remove(handles, info);
 
@@ -771,7 +769,8 @@
 				info->cb(info->cb_user_data);
 
 			g_free(info);
-		}
+		} else
+			prev = l;
 	}
 }
 
--- a/libpurple/notify.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/notify.h	Thu Jun 21 20:37:57 2007 +0000
@@ -456,9 +456,9 @@
  *
  * @param user_info          The PurpleNotifyUserInfo
  *
- * @result                   A GList of PurpleNotifyUserInfoEntry objects
+ * @constreturn              A GList of PurpleNotifyUserInfoEntry objects
  */
-const GList *purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info);
+GList *purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info);
 
 /**
  * Create a textual representation of a PurpleNotifyUserInfo, separating entries with newline
--- a/libpurple/ntlm.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/ntlm.c	Thu Jun 21 20:37:57 2007 +0000
@@ -25,6 +25,8 @@
 
 #include <glib.h>
 #include <stdlib.h>
+#include "internal.h"
+
 #include "util.h"
 #include "ntlm.h"
 #include "cipher.h"
--- a/libpurple/plugins/Makefile.mingw	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -63,6 +63,7 @@
 		autoaccept.dll \
 		buddynote.dll \
 		idle.dll \
+		joinpart.dll \
 		log_reader.dll \
 		newline.dll \
 		offlinemsg.dll \
--- a/libpurple/plugins/buddynote.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/buddynote.c	Thu Jun 21 20:37:57 2007 +0000
@@ -58,6 +58,9 @@
 {
 	PurpleMenuAction *bna = NULL;
 
+	if (purple_blist_node_get_flags(node) & PURPLE_BLIST_NODE_FLAG_NO_SAVE)
+		return;
+
 	*m = g_list_append(*m, bna);
 	bna = purple_menu_action_new(_("Edit Notes..."), PURPLE_CALLBACK(buddynote_edit_cb), NULL, NULL);
 	*m = g_list_append(*m, bna);
--- a/libpurple/plugins/joinpart.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/joinpart.c	Thu Jun 21 20:37:57 2007 +0000
@@ -86,7 +86,7 @@
 	/* If the room is small, don't bother. */
 	chat = PURPLE_CONV_CHAT(conv);
 	threshold = purple_prefs_get_int(THRESHOLD_PREF);
-	if (g_list_length((GList *)purple_conv_chat_get_users(chat)) < threshold)
+	if (g_list_length(purple_conv_chat_get_users(chat)) < threshold)
 		return FALSE;
 
 	/* We always care about our buddies! */
--- a/libpurple/plugins/log_reader.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/log_reader.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1290,9 +1290,16 @@
 						list = g_list_delete_link(list, last);
 					}
 				}
-			} else if (line[0] && line[1] && line [3] &&
+			} else if (line[0] && line[1] && line[2] &&
 					   purple_str_has_prefix(&line[3], "sion Start ")) {
-
+				/* The conditional is to make sure we're not reading off
+				 * the end of the string.  We don't want strlen(), as that'd
+				 * have to count the whole string needlessly.
+				 * 
+				 * The odd check here is because a Session Start at the
+				 * beginning of the file can be overwritten with a UTF-8
+				 * byte order mark.  Yes, it's weird.
+				 */
 				char *their_nickname = line;
 				char *timestamp;
 
--- a/libpurple/plugins/newline.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/newline.c	Thu Jun 21 20:37:57 2007 +0000
@@ -32,7 +32,7 @@
 					 PurpleConversation *conv, int *flags, void *data)
 {
 	if (g_ascii_strncasecmp(*message, "/me ", strlen("/me "))) {
-		char *tmp = g_strdup_printf("\n%s", *message);
+		char *tmp = g_strdup_printf("<br/>%s", *message);
 		g_free(*message);
 		*message = tmp;
 	}
--- a/libpurple/plugins/perl/common/Account.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Account.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -184,7 +184,7 @@
 purple_account_get_status_types(account)
     Purple::Account account
 PREINIT:
-    const GList *l;
+    GList *l;
 PPCODE:
     for (l = purple_account_get_status_types(account); l != NULL; l = l->next) {
         XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::StatusType")));
@@ -290,7 +290,7 @@
 void
 purple_accounts_get_all()
 PREINIT:
-    const GList *l;
+    GList *l;
 PPCODE:
     for (l = purple_accounts_get_all(); l != NULL; l = l->next) {
         XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Account")));
--- a/libpurple/plugins/perl/common/AccountOpts.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/AccountOpts.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -88,7 +88,7 @@
 purple_account_option_get_list(option)
 	Purple::Account::Option option
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_account_option_get_list(option); l != NULL; l = l->next) {
 		/* XXX These are actually PurpleKeyValuePairs but we don't have a
--- a/libpurple/plugins/perl/common/Connection.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Connection.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -72,7 +72,7 @@
 void
 purple_connections_get_all()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_connections_get_all(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Connection")));
@@ -81,7 +81,7 @@
 void
 purple_connections_get_connecting()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_connections_get_connecting(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Connection")));
--- a/libpurple/plugins/perl/common/Conversation.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Conversation.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -62,6 +62,7 @@
 		const_iv(RAW),
 		const_iv(IMAGES),
 		const_iv(NOTIFY),
+		const_iv(NO_LINKIFY),
 	};
 	static const constiv cbflags_const_iv[] = {
 #undef const_iv
@@ -93,7 +94,7 @@
 void
 purple_get_ims()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_get_ims(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
@@ -102,7 +103,7 @@
 void
 purple_get_conversations()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_get_conversations(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
@@ -111,7 +112,7 @@
 void
 purple_get_chats()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_get_chats(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
@@ -354,7 +355,7 @@
 purple_conv_chat_get_users(chat)
 	Purple::Conversation::Chat chat
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_conv_chat_get_users(chat); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
@@ -394,7 +395,7 @@
 purple_conv_chat_get_ignored(chat)
 	Purple::Conversation::Chat chat
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_conv_chat_get_ignored(chat); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
--- a/libpurple/plugins/perl/common/Notify.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Notify.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -140,7 +140,7 @@
 purple_notify_user_info_get_entries(user_info)
 	Purple::NotifyUserInfo user_info
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	l = purple_notify_user_info_get_entries(user_info);
 	for (; l != NULL; l = l->next) {
--- a/libpurple/plugins/perl/common/Request.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Request.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -396,7 +396,7 @@
 purple_request_field_list_get_items(field)
 	Purple::Request::Field field
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_request_field_list_get_items(field); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(newSVpv(l->data, 0)));
@@ -410,7 +410,7 @@
 purple_request_field_list_get_selected(field)
 	Purple::Request::Field field
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_request_field_list_get_selected(field); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(newSVpv(l->data, 0)));
@@ -625,7 +625,7 @@
 purple_request_fields_get_required(fields)
 	Purple::Request::Fields fields
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_request_fields_get_required(fields); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Request::Field")));
--- a/libpurple/plugins/perl/common/SavedStatuses.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/SavedStatuses.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -130,7 +130,7 @@
 void
 purple_savedstatuses_get_all()
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_savedstatuses_get_all(); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus")));
@@ -140,7 +140,7 @@
 purple_savedstatuses_get_popular(how_many)
 	unsigned int how_many
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_savedstatuses_get_popular(how_many); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus")));
--- a/libpurple/plugins/perl/common/Status.xs	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/common/Status.xs	Thu Jun 21 20:37:57 2007 +0000
@@ -142,7 +142,7 @@
 purple_presence_get_statuses(presence)
 	Purple::Presence presence
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_presence_get_statuses(presence); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Status")));
@@ -392,7 +392,7 @@
 purple_status_type_get_attrs(status_type)
 	Purple::StatusType status_type
 PREINIT:
-	const GList *l;
+	GList *l;
 PPCODE:
 	for (l = purple_status_type_get_attrs(status_type); l != NULL; l = l->next) {
 		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::StatusAttr")));
--- a/libpurple/plugins/perl/perl-common.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/perl-common.h	Thu Jun 21 20:37:57 2007 +0000
@@ -9,6 +9,9 @@
 #include <EXTERN.h>
 #include <perl.h>
 
+/* XXX: perl defines it's own _ but I think it's safe to undef it */
+#undef _
+#include "internal.h"
 #include "plugin.h"
 #include "value.h"
 
--- a/libpurple/plugins/perl/perl-handlers.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/perl/perl-handlers.c	Thu Jun 21 20:37:57 2007 +0000
@@ -214,6 +214,7 @@
 perl_timeout_cb(gpointer data)
 {
 	PurplePerlTimeoutHandler *handler = (PurplePerlTimeoutHandler *)data;
+	gboolean ret = FALSE;
 
 	dSP;
 	ENTER;
@@ -224,16 +225,16 @@
 	call_sv(handler->callback, G_EVAL | G_SCALAR);
 	SPAGAIN;
 
+	ret = POPi;
+
 	PUTBACK;
 	FREETMPS;
 	LEAVE;
 
-	/* We're returning FALSE, so no need to manually remove the source */
-	handler->iotag = 0;
+	if (ret == FALSE)
+		destroy_timeout_handler(handler);
 
-	destroy_timeout_handler(handler);
-
-	return FALSE;
+	return ret;
 }
 
 typedef void *DATATYPE;
--- a/libpurple/plugins/startup.py	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/startup.py	Thu Jun 21 20:37:57 2007 +0000
@@ -25,6 +25,13 @@
 import dbus
 import os
 
+if len(sys.argv) == 1:
+	print "Usage:", sys.argv[0], """<purple-client> [arguments]
+
+Example:
+	""", sys.argv[0], "pidgin -d -c /my/home"
+	sys.exit(1)
+
 home = os.path.expanduser('~/.purple/')
 for arg in range(1, len(sys.argv[1:])):
 	if sys.argv[arg] == "-c":
--- a/libpurple/plugins/tcl/tcl_cmds.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/plugins/tcl/tcl_cmds.c	Thu Jun 21 20:37:57 2007 +0000
@@ -43,7 +43,7 @@
 static PurpleAccount *tcl_validate_account(Tcl_Obj *obj, Tcl_Interp *interp)
 {
 	PurpleAccount *account;
-	const GList *cur;
+	GList *cur;
 
 	account = purple_tcl_ref_get(interp, obj, PurpleTclRefAccount);
 
@@ -62,7 +62,7 @@
 static PurpleConversation *tcl_validate_conversation(Tcl_Obj *obj, Tcl_Interp *interp)
 {
 	PurpleConversation *convo;
-	const GList *cur;
+	GList *cur;
 
 	convo = purple_tcl_ref_get(interp, obj, PurpleTclRefConversation);
 
@@ -81,7 +81,7 @@
 static PurpleConnection *tcl_validate_gc(Tcl_Obj *obj, Tcl_Interp *interp)
 {
 	PurpleConnection *gc;
-	const GList *cur;
+	GList *cur;
 
 	gc = purple_tcl_ref_get(interp, obj, PurpleTclRefConnection);
 
@@ -113,7 +113,7 @@
 	const char *listopts[] = { "-all", "-online", NULL };
 	enum { CMD_ACCOUNTLIST_ALL, CMD_ACCOUNTLIST_ONLINE } listopt;
 	const char *alias;
-	const GList *cur;
+	GList *cur;
 	PurpleAccount *account;
 	PurpleStatus *status;
 	PurpleStatusType *status_type;
@@ -612,7 +612,7 @@
 	const char *cmds[] = { "account", "displayname", "handle", "list", NULL };
 	enum { CMD_CONN_ACCOUNT, CMD_CONN_DISPLAYNAME, CMD_CONN_HANDLE, CMD_CONN_LIST } cmd;
 	int error;
-	const GList *cur;
+	GList *cur;
 	PurpleConnection *gc;
 
 	if (objc < 2) {
@@ -680,7 +680,7 @@
 	PurpleConversation *convo;
 	PurpleAccount *account;
 	PurpleConversationType type;
-	const GList *cur;
+	GList *cur;
 	char *opt, *from, *what;
 	int error, argsused, flags = 0;
 
@@ -1082,7 +1082,7 @@
 	Tcl_Obj *result = Tcl_GetObjResult(interp);
 	Tcl_Obj *list, *elem;
 	PurplePresence *presence;
-	const GList *cur;
+	GList *cur;
 	int error, idle, idle_time, login_time;
 
 	if (objc < 2) {
@@ -1524,7 +1524,7 @@
 	Tcl_Obj *result = Tcl_GetObjResult(interp);
 	PurpleStatusType *status_type;
 	Tcl_Obj *list, *elem;
-	const GList *cur;
+	GList *cur;
 	int error;
 
 	if (objc < 2) {
--- a/libpurple/pounce.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/pounce.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1014,6 +1014,20 @@
 	return pounces;
 }
 
+GList *purple_pounces_get_all_for_ui(const char *ui)
+{
+	GList *list = NULL, *iter;
+	g_return_val_if_fail(ui != NULL, NULL);
+
+	for (iter = pounces; iter; iter = iter->next) {
+		PurplePounce *pounce = iter->data;
+		if (pounce->ui_type && strcmp(pounce->ui_type, ui) == 0)
+			list = g_list_prepend(list, pounce);
+	}
+	list = g_list_reverse(list);
+	return list;
+}
+
 static void
 free_pounce_handler(gpointer user_data)
 {
--- a/libpurple/pounce.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/pounce.h	Thu Jun 21 20:37:57 2007 +0000
@@ -343,6 +343,17 @@
 GList *purple_pounces_get_all(void);
 
 /**
+ * Returns a list of registered buddy pounces for the ui-type.
+ *
+ * @param ui  The ID of the UI using the core.
+ *
+ * @return The list of buddy pounces. The list should be freed by
+ *         the caller when it's no longer used.
+ * @since  2.1.0
+ */
+GList *purple_pounces_get_all_for_ui(const char *ui);
+
+/**
  * Returns the buddy pounce subsystem handle.
  *
  * @return The subsystem handle.
--- a/libpurple/prefs.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/prefs.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1355,7 +1355,6 @@
 	purple_prefs_remove("/plugins/core/autorecon/hide_reconnecting_dialog");
 	purple_prefs_remove("/plugins/core/autorecon/restore_state");
 	purple_prefs_remove("/plugins/core/autorecon");
-	purple_prefs_remove("/purple/debug/timestamps");
 
 	/* Convert old sounds while_away pref to new 3-way pref. */
 	if (purple_prefs_exists("/purple/sound/while_away") &&
--- a/libpurple/protocols/Makefile.mingw	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -8,7 +8,7 @@
 PIDGIN_TREE_TOP := ../..
 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
 
-SUBDIRS = gg irc jabber msn novell null oscar qq sametime silc simple yahoo bonjour
+SUBDIRS = gg irc jabber msn novell null oscar qq sametime silc10 simple yahoo bonjour
 
 .PHONY: all install clean
 
--- a/libpurple/protocols/bonjour/jabber.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/bonjour/jabber.c	Thu Jun 21 20:37:57 2007 +0000
@@ -736,15 +736,16 @@
 	if (bb->conversation == NULL)
 	{
 		PurpleProxyConnectData *connect_data;
+		PurpleProxyInfo *proxy_info;
 
 		/* Make sure that the account always has a proxy of "none".
 		 * This is kind of dirty, but proxy_connect_none() isn't exposed. */
-		static PurpleProxyInfo *tmp_none_proxy_info = NULL;
-		if (!tmp_none_proxy_info) {
-			tmp_none_proxy_info = purple_proxy_info_new();
-			purple_proxy_info_set_type(tmp_none_proxy_info, PURPLE_PROXY_NONE);
+		proxy_info = purple_account_get_proxy_info(data->account);
+		if (proxy_info == NULL) {
+			proxy_info = purple_proxy_info_new();
+			purple_account_set_proxy_info(data->account, proxy_info);
 		}
-		purple_account_set_proxy_info(data->account, tmp_none_proxy_info);
+		purple_proxy_info_set_type(proxy_info, PURPLE_PROXY_NONE);
 
 		connect_data =
 			purple_proxy_connect(data->account->gc, data->account, bb->ip,
--- a/libpurple/protocols/gg/gg.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/gg/gg.c	Thu Jun 21 20:37:57 2007 +0000
@@ -823,7 +823,7 @@
 {
 	GGPInfo *info = gc->proto_data;
 	PurpleRequestField *field;
-	const GList *sel;
+	GList *sel;
 
 	field = purple_request_fields_get_field(fields, "name");
 	sel = purple_request_field_list_get_selected(field);
--- a/libpurple/protocols/gg/gg.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/gg/gg.h	Thu Jun 21 20:37:57 2007 +0000
@@ -25,6 +25,7 @@
 #define _PURPLE_GG_H
 
 #include <libgadu.h>
+#include "internal.h"
 #include "search.h"
 #include "connection.h"
 
--- a/libpurple/protocols/irc/irc.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/irc/irc.c	Thu Jun 21 20:37:57 2007 +0000
@@ -592,7 +592,7 @@
 	struct irc_conn *irc = gc->proto_data;
 	int len;
 
-	if(!g_list_find((GList *)purple_connections_get_all(), gc)) {
+	if(!g_list_find(purple_connections_get_all(), gc)) {
 		purple_ssl_close(gsc);
 		return;
 	}
--- a/libpurple/protocols/jabber/buddy.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/buddy.c	Thu Jun 21 20:37:57 2007 +0000
@@ -385,6 +385,11 @@
 	xmlnode *vc_node;
 	struct tag_attr *tag_attr;
 
+	/* if we have't grabbed the remote vcard yet, we can't
+	 * assume that what we have here is correct */
+	if(!js->vcard_fetched)
+		return;
+
 	g_free(js->avatar_hash);
 	js->avatar_hash = NULL;
 
@@ -443,14 +448,9 @@
 
 void jabber_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img)
 {
-	PurplePresence *gpresence;
-	PurpleStatus *status;
-
 	jabber_set_info(gc, purple_account_get_user_info(gc->account));
 
-	gpresence = purple_account_get_presence(gc->account);
-	status = purple_presence_get_active_status(gpresence);
-	jabber_presence_send(gc->account, status);
+	jabber_presence_send(gc->account, NULL);
 }
 
 /*
@@ -739,6 +739,40 @@
 	}
 }
 
+static void jabber_vcard_save_mine(JabberStream *js, xmlnode *packet, gpointer data)
+{
+	xmlnode *vcard;
+	char *txt;
+	PurpleStoredImage *img;
+
+	if((vcard = xmlnode_get_child(packet, "vCard")) ||
+			(vcard = xmlnode_get_child_with_namespace(packet, "query", "vcard-temp")))
+	{
+		txt = xmlnode_to_str(vcard, NULL);
+		purple_account_set_user_info(purple_connection_get_account(js->gc), txt);
+
+		g_free(txt);
+	} else {
+		/* if we have no vCard, then lets not overwrite what we might have locally */
+	}
+
+	js->vcard_fetched = TRUE;
+
+	if(NULL != (img = purple_buddy_icons_find_account_icon(js->gc->account))) {
+		jabber_set_buddy_icon(js->gc, img);
+		purple_imgstore_unref(img);
+	}
+}
+
+void jabber_vcard_fetch_mine(JabberStream *js)
+{
+	JabberIq *iq = jabber_iq_new_query(js, JABBER_IQ_GET, "vcard-temp");
+
+	jabber_iq_set_callback(iq, jabber_vcard_save_mine, NULL);
+
+	jabber_iq_send(iq);
+}
+
 static void jabber_vcard_parse(JabberStream *js, xmlnode *packet, gpointer data)
 {
 	const char *id, *from;
--- a/libpurple/protocols/jabber/buddy.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/buddy.h	Thu Jun 21 20:37:57 2007 +0000
@@ -103,4 +103,6 @@
 
 void jabber_buddy_remove_all_pending_buddy_info_requests(JabberStream *js);
 
+void jabber_vcard_fetch_mine(JabberStream *js);
+
 #endif /* _PURPLE_JABBER_BUDDY_H_ */
--- a/libpurple/protocols/jabber/disco.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/disco.c	Thu Jun 21 20:37:57 2007 +0000
@@ -96,6 +96,7 @@
 			SUPPORT_FEATURE("http://jabber.org/protocol/si")
 			SUPPORT_FEATURE("http://jabber.org/protocol/si/profile/file-transfer")
 			SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im")
+			SUPPORT_FEATURE("urn:xmpp:ping")
 		} else {
 			xmlnode *error, *inf;
 
@@ -217,18 +218,15 @@
 static void
 jabber_disco_finish_server_info_result_cb(JabberStream *js)
 {
-	PurplePresence *gpresence;
-	PurpleStatus *status;
+
+	jabber_vcard_fetch_mine(js);
 
 	if (!(js->server_caps & JABBER_CAP_GOOGLE_ROSTER)) {
 		/* If the server supports JABBER_CAP_GOOGLE_ROSTER; we will have already requested it */
 		jabber_roster_request(js);
 	}
 
-	/* Send initial presence; this will trigger receipt of presence for contacts on the roster */
-	gpresence = purple_account_get_presence(js->gc->account);
-	status = purple_presence_get_active_status(gpresence);
-	jabber_presence_send(js->gc->account, status);
+	/* when we get the roster back, we'll send our initial presence */
 }
 
 static void
--- a/libpurple/protocols/jabber/google.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/google.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1,4 +1,3 @@
-
 /**
  * Purple is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
@@ -30,7 +29,7 @@
 #include "presence.h"
 #include "iq.h"
 
-static void 
+static void
 jabber_gmail_parse(JabberStream *js, xmlnode *packet, gpointer nul)
 {
 	const char *type = xmlnode_get_attrib(packet, "type");
@@ -40,57 +39,57 @@
 	const char *in_str;
 	char *to_name;
 	int i, count = 1, returned_count;
-	
+
 	const char **tos, **froms, **subjects, **urls;
-	
+
 	if (strcmp(type, "result"))
 		return;
-	
+
 	child = xmlnode_get_child(packet, "mailbox");
 	if (!child)
 		return;
 
 	in_str = xmlnode_get_attrib(child, "total-matched");
-	if (in_str && *in_str) 
+	if (in_str && *in_str)
 		count = atoi(in_str);
- 
-	if (count == 0) 
+
+	if (count == 0)
 		return;
 
 	message = xmlnode_get_child(child, "mail-thread-info");
-	
+
 	/* Loop once to see how many messages were returned so we can allocate arrays
 	 * accordingly */
-	if (!message) 
+	if (!message)
 		return;
 	for (returned_count = 0; message; returned_count++, message=xmlnode_get_next_twin(message));
-	
+
 	froms    = g_new0(const char* , returned_count);
 	tos      = g_new0(const char* , returned_count);
 	subjects = g_new0(const char* , returned_count);
 	urls     = g_new0(const char* , returned_count);
-	
+
 	to = xmlnode_get_attrib(packet, "to");
 	to_name = jabber_get_bare_jid(to);
 	url = xmlnode_get_attrib(child, "url");
 	if (!url || !*url)
 		url = "http://www.gmail.com";
-	
+
 	message= xmlnode_get_child(child, "mail-thread-info");
 	for (i=0; message; message = xmlnode_get_next_twin(message), i++) {
 		subject_node = xmlnode_get_child(message, "subject");
 		sender_node  = xmlnode_get_child(message, "senders");
 		sender_node  = xmlnode_get_child(sender_node, "sender");
 
-		while (sender_node && (!xmlnode_get_attrib(sender_node, "unread") || 
+		while (sender_node && (!xmlnode_get_attrib(sender_node, "unread") ||
 		       !strcmp(xmlnode_get_attrib(sender_node, "unread"),"0")))
 			sender_node = xmlnode_get_next_twin(sender_node);
-		
+
 		if (!sender_node) {
 			i--;
 			continue;
 		}
-			
+
 		from = xmlnode_get_attrib(sender_node, "name");
 		if (!from || !*from)
 			from = xmlnode_get_attrib(sender_node, "address");
@@ -102,18 +101,18 @@
 		froms[i] = (from != NULL ?  from : "");
 		subjects[i] = (subject != NULL ? subject : "");
 		urls[i] = (url != NULL ? url : "");
-		
+
 		tid = xmlnode_get_attrib(message, "tid");
-		if (tid && 
+		if (tid &&
 		    (js->gmail_last_tid == NULL || strcmp(tid, js->gmail_last_tid) > 0)) {
 			g_free(js->gmail_last_tid);
 			js->gmail_last_tid = g_strdup(tid);
 		}
 	}
 
-	if (i>0) 
-		purple_notify_emails(js->gc, count, count == returned_count, subjects, froms, tos, 
-				   	   urls, NULL, NULL);
+	if (i>0)
+		purple_notify_emails(js->gc, count, count == returned_count, subjects, froms, tos,
+				urls, NULL, NULL);
 
 	g_free(to_name);
 	g_free(tos);
@@ -128,19 +127,19 @@
 	}
 }
 
-void 
-jabber_gmail_poke(JabberStream *js, xmlnode *packet) 
+void
+jabber_gmail_poke(JabberStream *js, xmlnode *packet)
 {
 	const char *type;
 	xmlnode *query;
 	JabberIq *iq;
-	
+
 	/* bail if the user isn't interested */
 	if (!purple_account_get_check_mail(js->gc->account))
 		return;
 
 	type = xmlnode_get_attrib(packet, "type");
-	
+
 
 	/* Is this an initial incoming mail notification? If so, send a request for more info */
 	if (strcmp(type, "set") || !xmlnode_get_child(packet, "new-mail"))
@@ -165,7 +164,7 @@
 void jabber_gmail_init(JabberStream *js) {
 	JabberIq *iq;
 
-	if (!purple_account_get_check_mail(js->gc->account)) 
+	if (!purple_account_get_check_mail(js->gc->account))
 		return;
 
 	iq = jabber_iq_new_query(js, JABBER_IQ_GET, "google:mail:notify");
@@ -180,7 +179,7 @@
 
 	iq = jabber_iq_new_query(js, JABBER_IQ_GET, "jabber:iq:roster");
 	query = xmlnode_get_child(iq->node, "query");
-	
+
 	xmlnode_set_attrib(query, "xmlns:gr", "google:roster");
 	xmlnode_set_attrib(query, "gr:ext", "2");
 
@@ -218,14 +217,14 @@
 
 	const char *grt = xmlnode_get_attrib_with_namespace(item, "t", "google:roster");
 	const char *subscription = xmlnode_get_attrib(item, "subscription");
-	
+
 	if (!subscription || !strcmp(subscription, "none")) {
 		/* The Google Talk servers will automatically add people from your Gmail address book
 		 * with subscription=none. If we see someone with subscription=none, ignore them.
 		 */
 		return FALSE;
 	}
-	
+
 	while (list) {
 		if (!strcmp(jid_norm, (char*)list->data)) {
 			on_block_list = TRUE;
@@ -233,13 +232,13 @@
 		}
 		list = list->next;
 	}
-	
+
 	if (grt && (*grt == 'H' || *grt == 'h')) {
 		PurpleBuddy *buddy = purple_find_buddy(account, jid_norm);
 		purple_blist_remove_buddy(buddy);
 		return FALSE;
 	}
-	
+
 	if (!on_block_list && (grt && (*grt == 'B' || *grt == 'b'))) {
 		purple_debug_info("jabber", "Blocking %s\n", jid_norm);
 		purple_privacy_deny_add(account, jid_norm, TRUE);
@@ -250,7 +249,7 @@
 	return TRUE;
 }
 
-void jabber_google_roster_add_deny(PurpleConnection *gc, const char *who) 
+void jabber_google_roster_add_deny(PurpleConnection *gc, const char *who)
 {
 	JabberStream *js;
 	GSList *buddies;
@@ -262,7 +261,7 @@
 	JabberBuddy *jb;
 
 	js = (JabberStream*)(gc->proto_data);
-	
+
 	if (!js || !js->server_caps & JABBER_CAP_GOOGLE_ROSTER)
 		return;
 
@@ -271,11 +270,11 @@
 	buddies = purple_find_buddies(js->gc->account, who);
 	if(!buddies)
 		return;
-	
+
 	b = buddies->data;
 
 	iq = jabber_iq_new_query(js, JABBER_IQ_SET, "jabber:iq:roster");
-	
+
 	query = xmlnode_get_child(iq->node, "query");
 	item = xmlnode_new_child(query, "item");
 
@@ -287,7 +286,7 @@
 
 		group = xmlnode_new_child(item, "group");
 		xmlnode_insert_data(group, g->name, -1);
-		
+
 		buddies = buddies->next;
 	}
 
@@ -333,20 +332,20 @@
 
 	g_return_if_fail(gc != NULL);
 	g_return_if_fail(who != NULL);
-	
+
 	js = (JabberStream*)(gc->proto_data);
-	
+
 	if (!js || !js->server_caps & JABBER_CAP_GOOGLE_ROSTER)
 		return;
-	
+
 	buddies = purple_find_buddies(js->gc->account, who);
 	if(!buddies)
 		return;
-	
+
 	b = buddies->data;
 
 	iq = jabber_iq_new_query(js, JABBER_IQ_SET, "jabber:iq:roster");
-	
+
 	query = xmlnode_get_child(iq->node, "query");
 	item = xmlnode_new_child(query, "item");
 
@@ -358,7 +357,7 @@
 
 		group = xmlnode_new_child(item, "group");
 		xmlnode_insert_data(group, g->name, -1);
-		
+
 		buddies = buddies->next;
 	}
 
@@ -440,15 +439,15 @@
 
 	for (p = text; *p != '\0'; p = g_utf8_next_char(p)) {
 		gunichar c = g_utf8_get_char(p);
- 
+
 		if (bold_count < 2 && italic_count < 2 && !in_bold && !in_italic) {
 			g_string_append(str, p);
 			return g_string_free(str, FALSE);
 		}
 
-		
+
 		if (c == '*' && !in_tag) {
-			if (in_bold && 
+			if (in_bold &&
 			    (g_unichar_isspace(*(p+1))||*(p+1)=='<')) { /* This is safe in UTF-8 */
 				str = g_string_append(str, "</b>");
 				in_bold = FALSE;
@@ -490,6 +489,6 @@
 		} else {
 			str = g_string_append_unichar(str, c);
 		}
-	}	
+	}
 	return g_string_free(str, FALSE);
 }
--- a/libpurple/protocols/jabber/iq.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/iq.c	Thu Jun 21 20:37:57 2007 +0000
@@ -201,6 +201,29 @@
 		xmlnode_insert_data(xmlnode_new_child(query, "display"), date, -1);
 
 		jabber_iq_send(iq);
+	} else {
+		/* XXX: error */
+	}
+}
+
+static void urn_xmpp_ping_parse(JabberStream *js, xmlnode *packet)
+{
+	const char *type, *id, *from;
+	JabberIq *iq;
+
+	type = xmlnode_get_attrib(packet, "type");
+	from = xmlnode_get_attrib(packet, "from");
+	id = xmlnode_get_attrib(packet, "id");
+
+	if(type && !strcmp(type, "get")) {
+		iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "urn:xmpp:ping");
+
+		jabber_iq_set_id(iq, id);
+		xmlnode_set_attrib(iq->node, "to", from);
+
+		jabber_iq_send(iq);
+	} else {
+		/* XXX: error */
 	}
 }
 
@@ -232,7 +255,8 @@
 
 		query = xmlnode_get_child(iq->node, "query");
 
-		xmlnode_insert_data(xmlnode_new_child(query, "name"), PACKAGE, -1);
+		/* TODO: ask the core for the version of libpurple and the name and version of the UI */
+		xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1);
 		xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1);
 		if(os) {
 			xmlnode_insert_data(xmlnode_new_child(query, "os"), os, -1);
@@ -327,6 +351,7 @@
 	jabber_iq_register_handler("http://jabber.org/protocol/disco#info", jabber_disco_info_parse);
 	jabber_iq_register_handler("http://jabber.org/protocol/disco#items", jabber_disco_items_parse);
 	jabber_iq_register_handler("jabber:iq:register", jabber_register_parse);
+	jabber_iq_register_handler("urn:xmpp:ping", urn_xmpp_ping_parse);
 }
 
 void jabber_iq_uninit(void)
--- a/libpurple/protocols/jabber/jabber.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1038,8 +1038,6 @@
 
 void jabber_stream_set_state(JabberStream *js, JabberStreamState state)
 {
-	PurpleStoredImage *img;
-
 	js->state = state;
 	switch(state) {
 		case JABBER_STREAM_OFFLINE:
@@ -1071,14 +1069,6 @@
 
 			break;
 		case JABBER_STREAM_CONNECTED:
-			/* lets make sure our buddy icon is up to date
-			 * before we go letting people know we're here */
-			img = purple_buddy_icons_find_account_icon(js->gc->account);
-			if(NULL != img) {
-				jabber_set_buddy_icon(js->gc, img);
-				purple_imgstore_unref(img);
-			}
-
 			/* now we can alert the core that we're ready to send status */
 			purple_connection_set_state(js->gc, PURPLE_CONNECTED);
 			jabber_disco_items_server(js);
--- a/libpurple/protocols/jabber/jabber.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.h	Thu Jun 21 20:37:57 2007 +0000
@@ -142,11 +142,17 @@
 #ifdef HAVE_CYRUS_SASL
 	sasl_conn_t *sasl;
 	sasl_callback_t *sasl_cb;
+#else /* keep the struct the same size */
+	void *sasl;
+	void *sasl_cb;
+#endif
+
 	int sasl_state;
 	int sasl_maxbuf;
 	GString *sasl_mechs;
 	char *serverFQDN;
-#endif
+
+	gboolean vcard_fetched;
 
 } JabberStream;
 
--- a/libpurple/protocols/jabber/jutil.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/jutil.c	Thu Jun 21 20:37:57 2007 +0000
@@ -221,7 +221,7 @@
 jabber_find_unnormalized_conv(const char *name, PurpleAccount *account)
 {
 	PurpleConversation *c = NULL;
-	const GList *cnv;
+	GList *cnv;
 
 	g_return_val_if_fail(name != NULL, NULL);
 
--- a/libpurple/protocols/jabber/libxmpp.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/libxmpp.c	Thu Jun 21 20:37:57 2007 +0000
@@ -25,8 +25,9 @@
  * share code.
  */
 
+#include "internal.h"
+
 #include "accountopt.h"
-#include "internal.h"
 #include "version.h"
 
 #include "iq.h"
@@ -66,7 +67,7 @@
 	jabber_set_info,				/* set_info */
 	jabber_send_typing,				/* send_typing */
 	jabber_buddy_get_info,			/* get_info */
-	jabber_presence_send,			/* set_away */
+	jabber_presence_send,			/* set_status */
 	jabber_idle_set,				/* set_idle */
 	NULL,							/* change_passwd */
 	jabber_roster_add_buddy,		/* add_buddy */
--- a/libpurple/protocols/jabber/presence.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/presence.c	Thu Jun 21 20:37:57 2007 +0000
@@ -102,6 +102,11 @@
 	JabberBuddyState state;
 	int priority;
 
+	if(NULL == status) {
+		PurplePresence *gpresence = purple_account_get_presence(account);
+		status = purple_presence_get_active_status(gpresence);
+	}
+
 	if(!purple_status_is_active(status))
 		return;
 
@@ -115,6 +120,12 @@
 	gc = purple_account_get_connection(account);
 	js = gc->proto_data;
 
+	/* we don't want to send presence before we've gotten our roster */
+	if(!js->roster_parsed) {
+		purple_debug_info("jabber", "attempt to send presence before roster retrieved\n");
+		return;
+	}
+
 	purple_status_to_jabber(status, &state, &stripped, &priority);
 
 
@@ -379,8 +390,7 @@
 			} else if(xmlns && !strcmp(xmlns, "vcard-temp:x:update")) {
 				xmlnode *photo = xmlnode_get_child(y, "photo");
 				if(photo) {
-					if(avatar_hash)
-						g_free(avatar_hash);
+					g_free(avatar_hash);
 					avatar_hash = xmlnode_get_data(photo);
 				}
 			}
@@ -409,8 +419,7 @@
 			jabber_id_free(jid);
 			g_free(status);
 			g_free(room_jid);
-			if(avatar_hash)
-				g_free(avatar_hash);
+			g_free(avatar_hash);
 			return;
 		}
 
@@ -426,8 +435,7 @@
 				jabber_id_free(jid);
 				g_free(status);
 				g_free(room_jid);
-				if(avatar_hash)
-					g_free(avatar_hash);
+				g_free(avatar_hash);
 				return;
 			}
 
@@ -510,8 +518,7 @@
 			purple_debug_warning("jabber", "Got presence for unknown buddy %s on account %s (%x)",
 				buddy_name, purple_account_get_username(js->gc->account), js->gc->account);
 			jabber_id_free(jid);
-			if(avatar_hash)
-				g_free(avatar_hash);
+			g_free(avatar_hash);
 			g_free(buddy_name);
 			g_free(status);
 			return;
@@ -568,8 +575,7 @@
 	}
 	g_free(status);
 	jabber_id_free(jid);
-	if(avatar_hash)
-		g_free(avatar_hash);
+	g_free(avatar_hash);
 }
 
 void jabber_presence_subscription_set(JabberStream *js, const char *who, const char *type)
@@ -608,7 +614,7 @@
 				formatted_msg = NULL;
 
 			if(formatted_msg)
-				purple_markup_html_to_xhtml(formatted_msg, NULL, msg);
+				*msg = purple_markup_strip_html(formatted_msg);
 		}
 
 		if(priority)
--- a/libpurple/protocols/jabber/roster.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/roster.c	Thu Jun 21 20:37:57 2007 +0000
@@ -153,8 +153,6 @@
 	if(!query)
 		return;
 
-	js->roster_parsed = TRUE;
-
 	for(item = xmlnode_get_child(query, "item"); item; item = xmlnode_get_next_twin(item))
 	{
 		const char *jid, *name, *subscription, *ask;
@@ -232,6 +230,14 @@
 			add_purple_buddies_to_groups(js, jid, name, groups);
 		}
 	}
+
+	/* if we're just now parsing the roster for the first time,
+	 * then now would be the time to send our initial presence */
+	if(!js->roster_parsed) {
+		js->roster_parsed = TRUE;
+
+		jabber_presence_send(js->gc->account, NULL);
+	}
 }
 
 static void jabber_roster_update(JabberStream *js, const char *name,
--- a/libpurple/protocols/jabber/si.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/si.c	Thu Jun 21 20:37:57 2007 +0000
@@ -20,9 +20,9 @@
  *
  */
 
-#include "blist.h"
+#include "internal.h"
 
-#include "internal.h"
+#include "blist.h"
 #include "cipher.h"
 #include "debug.h"
 #include "ft.h"
--- a/libpurple/protocols/jabber/xdata.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/jabber/xdata.c	Thu Jun 21 20:37:57 2007 +0000
@@ -93,7 +93,7 @@
 				case JABBER_X_DATA_LIST_SINGLE:
 				case JABBER_X_DATA_LIST_MULTI:
 					{
-					const GList *selected = purple_request_field_list_get_selected(field);
+					GList *selected = purple_request_field_list_get_selected(field);
 					char *value;
 					fieldnode = xmlnode_new_child(result, "field");
 					xmlnode_set_attrib(fieldnode, "var", id);
--- a/libpurple/protocols/msn/msn.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/msn/msn.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1463,7 +1463,7 @@
 	purple_debug_info("msn", "In msn_got_info\n");
 
 	/* Make sure the connection is still valid */
-	if (g_list_find((GList *)purple_connections_get_all(), info_data->gc) == NULL)
+	if (g_list_find(purple_connections_get_all(), info_data->gc) == NULL)
 	{
 		purple_debug_warning("msn", "invalid connection. ignoring buddy info.\n");
 		g_free(info_data->name);
@@ -1883,7 +1883,7 @@
 
 	/* Make sure the connection is still valid if we got here by fetching a photo url */
 	if (url_text && (error_message != NULL ||
-					 g_list_find((GList *)purple_connections_get_all(), info_data->gc) == NULL))
+					 g_list_find(purple_connections_get_all(), info_data->gc) == NULL))
 	{
 		purple_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n");
 		g_free(stripped);
@@ -1982,7 +1982,7 @@
 		if (acct && !purple_account_is_connected(acct))
 			acct = NULL;
 	} else { /* Otherwise find an active account for the protocol */
-		const GList *l = purple_accounts_get_all();
+		GList *l = purple_accounts_get_all();
 		while (l) {
 			if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
 					&& purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/msn/notification.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/msn/notification.c	Thu Jun 21 20:37:57 2007 +0000
@@ -591,12 +591,23 @@
 static void
 qng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd)
 {
+	MsnSession *session;
 	static int count = 0;
-	MsnSession *session = cmdproc->session;
+	const char *passport;
+	PurpleAccount *account;
+
+	session = cmdproc->session;
+	account = session->account;
 
 	if (session->passport_info.file == NULL)
 		return;
 
+	passport = purple_normalize(account, purple_account_get_username(account));
+
+	if ((strstr(passport, "@hotmail.") != NULL) ||
+		(strstr(passport, "@msn.com") != NULL))
+		return;
+
 	if (count++ < 26)
 		return;
 
--- a/libpurple/protocols/msn/servconn.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/msn/servconn.c	Thu Jun 21 20:37:57 2007 +0000
@@ -352,7 +352,7 @@
 
 		if (ret < 0 && errno == EAGAIN)
 			ret = 0;
-		if (ret < len) {
+		if (ret >= 0 && ret < len) {
 			if (servconn->tx_handler == -1)
 				servconn->tx_handler = purple_input_add(
 					servconn->fd, PURPLE_INPUT_WRITE,
--- a/libpurple/protocols/msn/session.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/msn/session.c	Thu Jun 21 20:37:57 2007 +0000
@@ -386,6 +386,7 @@
 	PurpleAccount *account;
 	PurpleConnection *gc;
 	PurpleStoredImage *img;
+	const char *passport;
 
 	if (session->logged_in)
 		return;
@@ -409,5 +410,12 @@
 	 * and @msn.com accounts don't automatically get the initial email
 	 * notification so we always request it on login
 	 */
-	msn_cmdproc_send(session->notification->cmdproc, "URL", "%s", "INBOX");
+
+	passport = purple_normalize(account, purple_account_get_username(account));
+
+	if ((strstr(passport, "@hotmail.") != NULL) ||
+		(strstr(passport, "@msn.com") != NULL))
+	{
+		msn_cmdproc_send(session->notification->cmdproc, "URL", "%s", "INBOX");
+	}
 }
--- a/libpurple/protocols/msn/switchboard.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Thu Jun 21 20:37:57 2007 +0000
@@ -422,7 +422,7 @@
 					break;
 				case MSN_SB_ERROR_AUTHFAILED:
 					str_reason = _("Message could not be sent "
-								   "because we wer unable to establish a "
+								   "because we were unable to establish a "
 								   "session with the server. This is "
 								   "likely a server problem, try again in "
 								   "a few minutes:");
--- a/libpurple/protocols/oscar/oscar.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Thu Jun 21 20:37:57 2007 +0000
@@ -298,7 +298,7 @@
 }
 
 gchar *
-oscar_encoding_to_utf8(const char *encoding, const char *text, int textlen)
+oscar_encoding_to_utf8(PurpleAccount *account, const char *encoding, const char *text, int textlen)
 {
 	gchar *utf8 = NULL;
 
@@ -311,7 +311,25 @@
 	{
 		utf8 = g_convert(text, textlen, "UTF-8", "Windows-1252", NULL, NULL, NULL);
 	} else if (!g_ascii_strcasecmp(encoding, "unicode-2-0")) {
-		utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL);
+		/* Some official ICQ clients are apparently total crack,
+		 * and have been known to save a UTF-8 string converted
+		 * from the locale character set to UCS-2 (not from UTF-8
+		 * to UCS-2!) in the away message.  This hack should find
+		 * and do something (un)reasonable with that, and not
+		 * mess up too much else. */
+		const gchar *charset = purple_account_get_string(account, "encoding", NULL);
+		if (charset) {
+			gsize len;
+			utf8 = g_convert(text, textlen, charset, "UCS-2BE", &len, NULL, NULL);
+			if (!utf8 || len != textlen || !g_utf8_validate(utf8, -1, NULL)) {
+				g_free(utf8);
+				utf8 = NULL;
+			} else {
+				purple_debug_info("oscar", "Used broken ICQ fallback encoding\n");
+			}
+		}
+		if (!utf8)
+			utf8 = g_convert(text, textlen, "UTF-8", "UCS-2BE", NULL, NULL, NULL);
 	} else if (g_ascii_strcasecmp(encoding, "utf-8")) {
 		purple_debug_warning("oscar", "Unrecognized character encoding \"%s\", "
 						   "attempting to convert to UTF-8 anyway\n", encoding);
@@ -1774,7 +1792,7 @@
 	{
 		have_status_message = TRUE;
 		if (info->status[0] != '\0')
-			message = oscar_encoding_to_utf8(info->status_encoding,
+			message = oscar_encoding_to_utf8(account, info->status_encoding,
 											 info->status, info->status_len);
 	}
 
@@ -1790,7 +1808,7 @@
 		if ((status_id == OSCAR_STATUS_ID_AVAILABLE) && (info->itmsurl != NULL))
 		{
 			char *itmsurl;
-			itmsurl = oscar_encoding_to_utf8(info->itmsurl_encoding,
+			itmsurl = oscar_encoding_to_utf8(account, info->itmsurl_encoding,
 					info->itmsurl, info->itmsurl_len);
 			purple_prpl_got_user_status(account, info->sn, status_id,
 					"message", message, "itmsurl", itmsurl, NULL);
@@ -1825,9 +1843,8 @@
 		signon = time(NULL) - info->sessionlen;
 	if (!aim_sncmp(purple_account_get_username(account), info->sn)) {
 		purple_connection_set_display_name(gc, info->sn);
-		od->timeoffset = signon - purple_presence_get_login_time(presence);
-	}
-	purple_prpl_got_user_login_time(account, info->sn, signon - od->timeoffset);
+	}
+	purple_prpl_got_user_login_time(account, info->sn, signon);
 
 	/* Idle time stuff */
 	/* info->idletime is the number of minutes that this user has been idle */
@@ -2048,7 +2065,8 @@
 		{
 			char *encoding = NULL;
 			encoding = oscar_encoding_extract(args->encoding);
-			message = oscar_encoding_to_utf8(encoding, args->msg, args->msglen);
+			message = oscar_encoding_to_utf8(account, encoding, args->msg,
+			                                 args->msglen);
 			g_free(encoding);
 		} else {
 			if (g_utf8_validate(args->msg, args->msglen, NULL))
@@ -2066,7 +2084,7 @@
 			return 1;
 		}
 		encoding = args->encoding ? oscar_encoding_extract(args->encoding) : NULL;
-		utf8name = oscar_encoding_to_utf8(encoding,
+		utf8name = oscar_encoding_to_utf8(account, encoding,
 				args->info.chat.roominfo.name,
 				args->info.chat.roominfo.namelen);
 		g_free(encoding);
@@ -2809,6 +2827,7 @@
 	va_list ap;
 	guint16 reason;
 	char *destn;
+	PurpleNotifyUserInfo *user_info;
 
 	va_start(ap, fr);
 	reason = (guint16) va_arg(ap, unsigned int);
@@ -2818,12 +2837,12 @@
 	if (destn == NULL)
 		return 1;
 
+	user_info = purple_notify_user_info_new();
 	buf = g_strdup_printf(_("User information not available: %s"), (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason."));
-	if (!purple_conv_present_error(destn, purple_connection_get_account((PurpleConnection*)od->gc), buf)) {
-		g_free(buf);
-		buf = g_strdup_printf(_("User information for %s unavailable:"), destn);
-		purple_notify_error(od->gc, NULL, buf, (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason."));
-	}
+	purple_notify_user_info_add_pair(user_info, NULL, buf);
+	purple_notify_userinfo(od->gc, destn, user_info, NULL, NULL);
+	purple_notify_user_info_destroy(user_info);
+	purple_conv_present_error(destn, purple_connection_get_account(od->gc), buf);
 	g_free(buf);
 
 	return 1;
@@ -2849,12 +2868,12 @@
 	g_free(tmp);
 
 	if (userinfo->present & AIM_USERINFO_PRESENT_ONLINESINCE) {
-		time_t t = userinfo->onlinesince - od->timeoffset;
+		time_t t = userinfo->onlinesince;
 		oscar_user_info_add_pair(user_info, _("Online Since"), purple_date_format_full(localtime(&t)));
 	}
 
 	if (userinfo->present & AIM_USERINFO_PRESENT_MEMBERSINCE) {
-		time_t t = userinfo->membersince - od->timeoffset;
+		time_t t = userinfo->membersince;
 		oscar_user_info_add_pair(user_info, _("Member Since"), purple_date_format_full(localtime(&t)));
 	}
 
@@ -2876,12 +2895,12 @@
 	if ((userinfo->status != NULL) && !(userinfo->flags & AIM_FLAG_AWAY))
 	{
 		if (userinfo->status[0] != '\0')
-			tmp = oscar_encoding_to_utf8(userinfo->status_encoding,
+			tmp = oscar_encoding_to_utf8(account, userinfo->status_encoding,
 											 userinfo->status, userinfo->status_len);
 #if defined (_WIN32) || defined (__APPLE__)
 		if (userinfo->itmsurl && (userinfo->itmsurl[0] != '\0')) {
 			gchar *itmsurl, *tmp2;
-			itmsurl = oscar_encoding_to_utf8(userinfo->itmsurl_encoding,
+			itmsurl = oscar_encoding_to_utf8(account, userinfo->itmsurl_encoding,
 					userinfo->itmsurl, userinfo->itmsurl_len);
 			tmp2 = g_strdup_printf("<a href=\"%s\">%s</a>",
 					itmsurl, tmp);
@@ -2897,7 +2916,8 @@
 	/* Away message */
 	if ((userinfo->flags & AIM_FLAG_AWAY) && (userinfo->away_len > 0) && (userinfo->away != NULL) && (userinfo->away_encoding != NULL)) {
 		tmp = oscar_encoding_extract(userinfo->away_encoding);
-		away_utf8 = oscar_encoding_to_utf8(tmp, userinfo->away, userinfo->away_len);
+		away_utf8 = oscar_encoding_to_utf8(account, tmp, userinfo->away,
+		                                   userinfo->away_len);
 		g_free(tmp);
 		if (away_utf8 != NULL) {
 			tmp = purple_str_sub_away_formatters(away_utf8, purple_account_get_username(account));
@@ -2911,7 +2931,8 @@
 	/* Info */
 	if ((userinfo->info_len > 0) && (userinfo->info != NULL) && (userinfo->info_encoding != NULL)) {
 		tmp = oscar_encoding_extract(userinfo->info_encoding);
-		info_utf8 = oscar_encoding_to_utf8(tmp, userinfo->info, userinfo->info_len);
+		info_utf8 = oscar_encoding_to_utf8(account, tmp, userinfo->info,
+		                                   userinfo->info_len);
 		g_free(tmp);
 		if (info_utf8 != NULL) {
 			tmp = purple_str_sub_away_formatters(info_utf8, purple_account_get_username(account));
@@ -2931,6 +2952,7 @@
 static int purple_got_infoblock(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...)
 {
 	PurpleConnection *gc = od->gc;
+	PurpleAccount *account = purple_connection_get_account(gc);
 	PurpleBuddy *b;
 	PurplePresence *presence;
 	PurpleStatus *status;
@@ -2943,7 +2965,7 @@
 	userinfo = va_arg(ap, aim_userinfo_t *);
 	va_end(ap);
 
-	b = purple_find_buddy(purple_connection_get_account(gc), userinfo->sn);
+	b = purple_find_buddy(account, userinfo->sn);
 	if (b == NULL)
 		return 1;
 
@@ -2963,7 +2985,9 @@
 		if ((userinfo->flags & AIM_FLAG_AWAY) &&
 			(userinfo->away_len > 0) && (userinfo->away != NULL) && (userinfo->away_encoding != NULL)) {
 			gchar *charset = oscar_encoding_extract(userinfo->away_encoding);
-			message = oscar_encoding_to_utf8(charset, userinfo->away, userinfo->away_len);
+			message = oscar_encoding_to_utf8(account, charset,
+			                                 userinfo->away,
+			                                 userinfo->away_len);
 			g_free(charset);
 			purple_status_set_attr_string(status, "message", message);
 			g_free(message);
@@ -3159,6 +3183,7 @@
 
 static int purple_conv_chat_incoming_msg(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) {
 	PurpleConnection *gc = od->gc;
+	PurpleAccount *account = purple_connection_get_account(gc);
 	struct chat_connection *ccon = find_oscar_chat_by_conn(gc, conn);
 	gchar *utf8;
 	va_list ap;
@@ -3177,7 +3202,7 @@
 	charset = va_arg(ap, char *);
 	va_end(ap);
 
-	utf8 = oscar_encoding_to_utf8(charset, msg, len);
+	utf8 = oscar_encoding_to_utf8(account, charset, msg, len);
 	if (utf8 == NULL)
 		/* The conversion failed! */
 		utf8 = g_strdup(_("[Unable to display a message from this user because it contained invalid characters.]"));
@@ -4167,6 +4192,7 @@
 	PeerConnection *conn;
 	int ret;
 	char *tmp1, *tmp2;
+	gboolean is_html;
 
 	od = (OscarData *)gc->proto_data;
 	account = purple_connection_get_account(gc);
@@ -4185,7 +4211,6 @@
 	} else {
 		struct buddyinfo *bi;
 		struct aim_sendimext_args args;
-		gsize len;
 		PurpleConversation *conv;
 		PurpleStoredImage *img;
 
@@ -4276,22 +4301,43 @@
 		if (aim_sn_is_sms(name)) {
 			/* Messaging an SMS (mobile) user */
 			tmp2 = purple_markup_strip_html(tmp1);
+			is_html = FALSE;
 		} else if (aim_sn_is_icq(purple_account_get_username(account))) {
-			if (aim_sn_is_icq(name))
+			if (aim_sn_is_icq(name)) {
 				/* From ICQ to ICQ */
 				tmp2 = purple_markup_strip_html(tmp1);
-			else
+				is_html = FALSE;
+			} else {
 				/* From ICQ to AIM */
 				tmp2 = g_strdup(tmp1);
+				is_html = TRUE;
+			}
 		} else {
 			/* From AIM to AIM and AIM to ICQ */
 			tmp2 = g_strdup(tmp1);
+			is_html = TRUE;
 		}
 		g_free(tmp1);
 		tmp1 = tmp2;
-		len = strlen(tmp1);
 
 		purple_plugin_oscar_convert_to_best_encoding(gc, name, tmp1, (char **)&args.msg, &args.msglen, &args.charset, &args.charsubset);
+		if (is_html && (args.msglen > MAXMSGLEN)) {
+			/* If the length was too long, try stripping the HTML and then running it back through
+			* purple_strdup_withhtml() and the encoding process. The result may be shorter. */
+			g_free((char *)args.msg);
+			
+			tmp2 = purple_markup_strip_html(tmp1);
+			g_free(tmp1);
+			
+			tmp1 = purple_strdup_withhtml(tmp2);
+			g_free(tmp2);
+			
+			purple_plugin_oscar_convert_to_best_encoding(gc, name, tmp1, (char **)&args.msg, &args.msglen, &args.charset, &args.charsubset);
+
+			purple_debug_info("oscar", "Sending %s as %s because the original was too long.",
+								  message, (char *)args.msg);
+		}
+
 		purple_debug_info("oscar", "Sending IM, charset=0x%04hx, charsubset=0x%04hx, length=%d\n",
 						args.charset, args.charsubset, args.msglen);
 		ret = aim_im_sendch1_ext(od, &args);
@@ -5323,7 +5369,7 @@
 	OscarData *od = (OscarData *)gc->proto_data;
 	PurpleConversation *conv = NULL;
 	struct chat_connection *c = NULL;
-	char *buf, *buf2;
+	char *buf, *buf2, *buf3;
 	guint16 charset, charsubset;
 	char *charsetstr = NULL;
 	int len;
@@ -5335,7 +5381,6 @@
 		return -EINVAL;
 
 	buf = purple_strdup_withhtml(message);
-	len = strlen(buf);
 
 	if (strstr(buf, "<IMG "))
 		purple_conversation_write(conv, "",
@@ -5349,8 +5394,28 @@
 	 * visible characters" and not "number of bytes"
 	 */
 	if ((len > c->maxlen) || (len > c->maxvis)) {
+		/* If the length was too long, try stripping the HTML and then running it back through
+		 * purple_strdup_withhtml() and the encoding process. The result may be shorter. */
 		g_free(buf2);
-		return -E2BIG;
+
+		buf3 = purple_markup_strip_html(buf);
+		g_free(buf);
+
+		buf = purple_strdup_withhtml(buf3);
+		g_free(buf3);
+
+		purple_plugin_oscar_convert_to_best_encoding(gc, NULL, buf, &buf2, &len, &charset, &charsubset);
+
+		if ((len > c->maxlen) || (len > c->maxvis)) {
+			purple_debug_warning("oscar", "Could not send %s because (%i > maxlen %i) or (%i > maxvis %i)",
+					buf2, len, c->maxlen, len, c->maxvis);
+			g_free(buf);
+			g_free(buf2);
+			return -E2BIG;
+		}
+
+		purple_debug_info("oscar", "Sending %s as %s because the original was too long.",
+				message, buf2);
 	}
 
 	if (charset == AIM_CHARSET_ASCII)
@@ -5361,6 +5426,7 @@
 		charsetstr = "iso-8859-1";
 	aim_chat_send_im(od, c->conn, 0, buf2, len, charsetstr, "en");
 	g_free(buf2);
+	g_free(buf);
 
 	return 0;
 }
@@ -5507,7 +5573,7 @@
 	status = purple_presence_get_active_status(presence);
 	id = purple_status_get_id(status);
 
-	if (!purple_presence_is_online(presence))
+	if ((od != NULL) && !purple_presence_is_online(presence))
 	{
 		char *gname = aim_ssi_itemlist_findparentname(od->ssi.local, b->name);
 		if (aim_ssi_waitingforauth(od->ssi.local, gname, b->name))
@@ -6493,7 +6559,7 @@
 		if (acct && !purple_account_is_connected(acct))
 			acct = NULL;
 	} else { /* Otherwise find an active account for the protocol */
-		const GList *l = purple_accounts_get_all();
+		GList *l = purple_accounts_get_all();
 		while (l) {
 			if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
 					&& purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/oscar/oscar.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.h	Thu Jun 21 20:37:57 2007 +0000
@@ -447,7 +447,6 @@
 	guint icontimer;
 	guint getblisttimer;
 	guint getinfotimer;
-	gint timeoffset;
 
 	struct {
 		guint maxwatchers; /* max users who can watch you */
@@ -935,7 +934,7 @@
 /* 0x0014 */ int aim_im_sendmtn(OscarData *od, guint16 type1, const char *sn, guint16 type2);
 void aim_icbm_makecookie(guchar* cookie);
 gchar *oscar_encoding_extract(const char *encoding);
-gchar *oscar_encoding_to_utf8(const char *encoding, const char *text, int textlen);
+gchar *oscar_encoding_to_utf8(PurpleAccount *account, const char *encoding, const char *text, int textlen);
 gchar *purple_plugin_oscar_decode_im_part(PurpleAccount *account, const char *sourcesn, guint16 charset, guint16 charsubset, const gchar *data, gsize datalen);
 
 
--- a/libpurple/protocols/qq/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -34,8 +34,6 @@
 	group_info.h \
 	group_join.c \
 	group_join.h \
-	group_misc.c \
-	group_misc.h \
 	group_network.c \
 	group_network.h \
 	group_opt.c \
--- a/libpurple/protocols/qq/buddy_list.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/buddy_list.c	Thu Jun 21 20:37:57 2007 +0000
@@ -23,8 +23,10 @@
  */
 
 #include <string.h>
+
+#include "qq.h"
+
 #include "debug.h"
-
 #include "notify.h"
 #include "utils.h"
 #include "packet_parse.h"
@@ -35,9 +37,8 @@
 #include "char_conv.h"
 #include "crypt.h"
 #include "header_info.h"
-#include "keep_alive.h"	
+#include "keep_alive.h"
 #include "send_core.h"
-#include "qq.h"	
 #include "group.h"
 #include "group_find.h"
 #include "group_internal.h"
--- a/libpurple/protocols/qq/buddy_status.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/buddy_status.c	Thu Jun 21 20:37:57 2007 +0000
@@ -23,6 +23,7 @@
  */
 
 #include <string.h>
+#include "internal.h"
 #include "debug.h"
 #include "prefs.h"
 
--- a/libpurple/protocols/qq/file_trans.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/file_trans.c	Thu Jun 21 20:37:57 2007 +0000
@@ -26,6 +26,8 @@
 #define random rand
 #endif
 
+#include "internal.h"
+
 #include "debug.h"
 #include "ft.h"
 #include "cipher.h"
--- a/libpurple/protocols/qq/group_conv.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_conv.c	Thu Jun 21 20:37:57 2007 +0000
@@ -23,11 +23,12 @@
  */
 
 #include <glib.h>
+#include "qq.h"
+
 #include "conversation.h"
 
 #include "buddy_status.h"
 #include "group_conv.h"
-#include "qq.h"
 #include "utils.h"
 
 /* show group conversation window */
--- a/libpurple/protocols/qq/group_find.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_find.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,13 +22,14 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "qq.h"
+
 #include "conversation.h"
 #include "debug.h"
 #include "util.h"
 
 #include "group_find.h"
 #include "group_network.h"
-#include "qq.h"
 #include "utils.h"
 
 /* find the internal_group_id by the reply packet sequence
--- a/libpurple/protocols/qq/group_free.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_free.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "debug.h"
 
 #include "buddy_status.h"
--- a/libpurple/protocols/qq/group_im.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_im.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "conversation.h"
 #include "debug.h"
 #include "notify.h"
@@ -341,7 +343,7 @@
 	read_packet_dw(data, cursor, data_len, &(im_group->member_uid));
 	read_packet_w(data, cursor, data_len, &unknown);	/* 0x0001? */
 	read_packet_w(data, cursor, data_len, &(im_group->msg_seq));
-	read_packet_dw(data, cursor, data_len, (guint32 *) & (im_group->send_time));
+	read_packet_time(data, cursor, data_len, &im_group->send_time);
 	read_packet_dw(data, cursor, data_len, &unknown4);	/* versionID */
 	/*
 	 * length includes font_attr
--- a/libpurple/protocols/qq/group_info.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_info.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "conversation.h"
 #include "debug.h"
 
--- a/libpurple/protocols/qq/group_internal.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_internal.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,13 +22,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
 #include "blist.h"
 #include "debug.h"
 
 #include "buddy_opt.h"
 #include "group_free.h"
 #include "group_internal.h"
-#include "group_misc.h"
 #include "utils.h"
 
 static gchar *_qq_group_set_my_status_desc(qq_group *group)
--- a/libpurple/protocols/qq/group_join.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_join.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "debug.h"
 #include "notify.h"
 #include "request.h"
--- a/libpurple/protocols/qq/group_misc.c	Tue Jun 19 19:40:06 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/**
- * @file group_misc.c
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * 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 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include "debug.h"
-
-#include "buddy_status.h"
-#include "group_misc.h"
-#include "utils.h"
--- a/libpurple/protocols/qq/group_misc.h	Tue Jun 19 19:40:06 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/**
- * @file group_misc.h
- *
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * 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 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef _QQ_GROUP_MISC_H_
-#define _QQ_GROUP_MISC_H_
-
-#include <glib.h>
-#include "group.h"
-
-#endif
--- a/libpurple/protocols/qq/group_network.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_network.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "debug.h"
 #include "notify.h"
 
--- a/libpurple/protocols/qq/group_opt.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_opt.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "qq.h"
+
 #include "debug.h"
 #include "notify.h"
 #include "request.h"
@@ -35,7 +37,6 @@
 #include "group_network.h"
 #include "group_opt.h"
 #include "packet_parse.h"
-#include "qq.h"
 #include "utils.h"
 
 /* TODO: can't we use qsort here? */
--- a/libpurple/protocols/qq/group_search.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/group_search.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "debug.h"
 
 #include "char_conv.h"
--- a/libpurple/protocols/qq/header_info.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/header_info.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "header_info.h"
 
 #define QQ_CLIENT_062E 0x062e	/* GB QQ2000c build 0630 */
--- a/libpurple/protocols/qq/header_info.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/header_info.h	Thu Jun 21 20:37:57 2007 +0000
@@ -33,7 +33,7 @@
 #define QQ_PACKET_TAG           0x02	/* all QQ text packets starts with it */
 #define QQ_PACKET_TAIL          0x03	/* all QQ text packets end with it */
 
-#define QQ_CLIENT       0x0f15
+#define QQ_CLIENT       0x0E1B
 
 /* list of known QQ commands */
 enum {
--- a/libpurple/protocols/qq/im.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/im.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "conversation.h"
 #include "debug.h"
 #include "internal.h"
--- a/libpurple/protocols/qq/keep_alive.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/keep_alive.c	Thu Jun 21 20:37:57 2007 +0000
@@ -28,6 +28,8 @@
  * Puzzlebird, Nov-Dec 2002
  */
 
+#include "internal.h"
+
 #include "debug.h"
 #include "server.h"
 
--- a/libpurple/protocols/qq/login_logout.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/login_logout.c	Thu Jun 21 20:37:57 2007 +0000
@@ -181,7 +181,7 @@
 	/* 031-032: server listening port */
 	bytes += read_packet_w(data, &cursor, len, &lrop.server_port);
 	/* 033-036: login time for current session */
-	bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.login_time);
+	bytes += read_packet_time(data, &cursor, len, &lrop.login_time);
 	/* 037-062: 26 bytes, unknown */
 	bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown1, 26);
 	/* 063-066: unknown server1 ip address */
@@ -203,7 +203,7 @@
 	/* 123-126: login IP of last session */
 	bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.last_client_ip, 4);
 	/* 127-130: login time of last session */
-	bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.last_login_time);
+	bytes += read_packet_time(data, &cursor, len, &lrop.last_login_time);
 	/* 131-138: 8 bytes unknown */
 	bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown6, 8);
 
--- a/libpurple/protocols/qq/packet_parse.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/packet_parse.c	Thu Jun 21 20:37:57 2007 +0000
@@ -65,6 +65,19 @@
 	}
 }
 
+/* read four bytes as "time_t" from buf,
+ * return the number of bytes read if succeeds, otherwise return -1
+ * This function is a wrapper around read_packet_dw() to avoid casting. */
+gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t)
+{
+	guint32 time;
+	gint ret = read_packet_dw(buf, cursor, buflen, &time);
+	if (ret != -1 ) {
+		*t = time;
+	}
+	return ret;
+}
+
 /* read datalen bytes from buf, 
  * return the number of bytes read if succeeds, otherwise return -1 */
 gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen) {
--- a/libpurple/protocols/qq/packet_parse.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/packet_parse.h	Thu Jun 21 20:37:57 2007 +0000
@@ -26,6 +26,7 @@
 #define _QQ_PACKED_PARSE_H_
 
 #include <glib.h>
+#include <time.h>
 
 /* According to "UNIX Network Programming", all TCP/IP implementations
  * must support a minimum IP datagram size of 576 bytes, regardless of the MTU.
@@ -39,6 +40,7 @@
 gint read_packet_b(guint8 *buf, guint8 **cursor, gint buflen, guint8 *b);
 gint read_packet_w(guint8 *buf, guint8 **cursor, gint buflen, guint16 *w);
 gint read_packet_dw(guint8 *buf, guint8 **cursor, gint buflen, guint32 *dw);
+gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t);
 gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen);
 gint create_packet_b(guint8 *buf, guint8 **cursor, guint8 b);
 gint create_packet_w(guint8 *buf, guint8 **cursor, guint16 w);
--- a/libpurple/protocols/qq/qq.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/qq.h	Thu Jun 21 20:37:57 2007 +0000
@@ -26,8 +26,8 @@
 #define _QQ_QQ_H_
 
 #include <glib.h>
+#include "internal.h"
 #include "ft.h"
-#include "internal.h"
 #include "proxy.h"
 #include "roomlist.h"
 
--- a/libpurple/protocols/qq/send_file.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/send_file.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "qq.h"
+
 #include "send_file.h"
 #include "debug.h"
 #include "network.h"
@@ -34,7 +36,6 @@
 #include "im.h"
 #include "keep_alive.h"
 #include "packet_parse.h"
-#include "qq.h"
 #include "send_core.h"
 #include "utils.h"
 
--- a/libpurple/protocols/qq/sendqueue.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/qq/sendqueue.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,9 +22,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "connection.h"
 #include "debug.h"
-#include "internal.h"
 #include "notify.h"
 #include "prefs.h"
 #include "request.h"
--- a/libpurple/protocols/sametime/sametime.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/sametime/sametime.c	Thu Jun 21 20:37:57 2007 +0000
@@ -2660,7 +2660,7 @@
   GString *str;
 
   PurpleMimeDocument *doc;
-  const GList *parts;
+  GList *parts;
 
   img_by_cid = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
   images = NULL;
@@ -3401,7 +3401,7 @@
 static void conf_select_prompt_invite(PurpleBuddy *buddy,
 				      PurpleRequestFields *fields) {
   PurpleRequestField *f;
-  const GList *l;
+  GList *l;
   const char *msg;
   
   f = purple_request_fields_get_field(fields, CHAT_KEY_INVITE);
@@ -5268,7 +5268,7 @@
 				       PurpleRequestFields *fields) {
   
   PurpleRequestField *f;
-  const GList *l;
+  GList *l;
 
   f = purple_request_fields_get_field(fields, "group");
   l = purple_request_field_list_get_items(f);
@@ -5334,7 +5334,7 @@
 static void remote_group_multi_cb(struct mwPurplePluginData *pd,
 				  PurpleRequestFields *fields) {
   PurpleRequestField *f;
-  const GList *l;
+  GList *l;
 
   f = purple_request_fields_get_field(fields, "group");
   l = purple_request_field_list_get_selected(f);
--- a/libpurple/protocols/silc/buddy.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/silc/buddy.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1117,7 +1117,7 @@
 silcpurple_add_buddy_select_cb(SilcPurpleBuddyRes r, PurpleRequestFields *fields)
 {
 	PurpleRequestField *f;
-	const GList *list;
+	GList *list;
 	SilcClientEntry client_entry;
 	SilcDList clients;
 
--- a/libpurple/protocols/silc/chat.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/silc/chat.c	Thu Jun 21 20:37:57 2007 +0000
@@ -291,7 +291,7 @@
 	SilcClient client = sg->client;
 	SilcClientConnection conn = sg->conn;
 	PurpleRequestField *f;
-	const GList *list;
+	GList *list;
 	SilcPublicKey public_key;
 	SilcBuffer chpks, pk, chidp;
 	SilcUInt16 c = 0, ct;
--- a/libpurple/protocols/silc/ft.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/silc/ft.c	Thu Jun 21 20:37:57 2007 +0000
@@ -111,7 +111,7 @@
 		} else if (error == SILC_CLIENT_FILE_TIMEOUT) {
 			purple_notify_error(gc, _("Secure File Transfer"),
 					  _("Error during file transfer"),
-					  _("Connection timedout"));
+					  _("Connection timed out"));
 		} else if (error == SILC_CLIENT_FILE_CONNECT_FAILED) {
 			purple_notify_error(gc, _("Secure File Transfer"),
 					  _("Error during file transfer"),
--- a/libpurple/protocols/silc10/buddy.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/silc10/buddy.c	Thu Jun 21 20:37:57 2007 +0000
@@ -1118,7 +1118,7 @@
 silcpurple_add_buddy_select_cb(SilcPurpleBuddyRes r, PurpleRequestFields *fields)
 {
 	PurpleRequestField *f;
-	const GList *list;
+	GList *list;
 	SilcClientEntry client_entry;
 
 	f = purple_request_fields_get_field(fields, "list");
--- a/libpurple/protocols/silc10/chat.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/silc10/chat.c	Thu Jun 21 20:37:57 2007 +0000
@@ -278,7 +278,7 @@
 	SilcClient client = sg->client;
 	SilcClientConnection conn = sg->conn;
 	PurpleRequestField *f;
-	const GList *list;
+	GList *list;
 	SilcPublicKey public_key;
 	SilcBuffer chpks, pk, chidp;
 	SilcUInt16 c = 0, ct;
--- a/libpurple/protocols/yahoo/yahoo.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo.c	Thu Jun 21 20:37:57 2007 +0000
@@ -3861,7 +3861,7 @@
 		if (acct && !purple_account_is_connected(acct))
 			acct = NULL;
 	} else { /* Otherwise find an active account for the protocol */
-		const GList *l = purple_accounts_get_all();
+		GList *l = purple_accounts_get_all();
 		while (l) {
 			if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
 					&& purple_account_is_connected(l->data)) {
--- a/libpurple/protocols/yahoo/yahoo_auth.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo_auth.c	Thu Jun 21 20:37:57 2007 +0000
@@ -7,6 +7,8 @@
  *
  */
 
+#include "internal.h"
+
 #include "yahoo.h"
 #include "yahoo_auth.h"
 
--- a/libpurple/protocols/yahoo/yahoo_doodle.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo_doodle.c	Thu Jun 21 20:37:57 2007 +0000
@@ -491,7 +491,8 @@
 
 	/* g_debug_debug("yahoo", "doodle: yahoo_doodle_end()\n"); */
 
-	yahoo_doodle_command_send_shutdown(gc, wb->who);
+	if (gc)
+		yahoo_doodle_command_send_shutdown(gc, wb->who);
 
 	g_free(wb->proto_data);
 }
--- a/libpurple/protocols/yahoo/yahoo_filexfer.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo_filexfer.c	Thu Jun 21 20:37:57 2007 +0000
@@ -20,8 +20,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "prpl.h"
-#include "internal.h"
 #include "util.h"
 #include "debug.h"
 #include "notify.h"
--- a/libpurple/protocols/yahoo/yahoochat.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoochat.c	Thu Jun 21 20:37:57 2007 +0000
@@ -26,6 +26,8 @@
  *
  */
 
+#include "internal.h"
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -37,7 +39,6 @@
 #include "conversation.h"
 #include "notify.h"
 #include "util.h"
-#include "internal.h"
 
 #include "yahoo.h"
 #include "yahoo_packet.h"
@@ -633,10 +634,10 @@
  * I think conference names are always ascii.
  */
 
-void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, const GList *who)
+void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, GList *who)
 {
 	struct yahoo_packet *pkt;
-	const GList *w;
+	GList *w;
 
 	purple_debug_misc("yahoo", "leaving conference %s\n", room);
 	
@@ -653,11 +654,11 @@
 }
 
 static int yahoo_conf_send(PurpleConnection *gc, const char *dn, const char *room,
-							const GList *members, const char *what)
+							GList *members, const char *what)
 {
 	struct yahoo_data *yd = gc->proto_data;
 	struct yahoo_packet *pkt;
-	const GList *who;
+	GList *who;
 	char *msg, *msg2;
 	int utf8 = 1;
 
@@ -714,7 +715,7 @@
 {
 	struct yahoo_data *yd = gc->proto_data;
 	struct yahoo_packet *pkt;
-	const GList *members;
+	GList *members;
 	char *msg2 = NULL;
 
 	if (msg)
--- a/libpurple/protocols/yahoo/yahoochat.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoochat.h	Thu Jun 21 20:37:57 2007 +0000
@@ -50,7 +50,7 @@
 char *yahoo_get_chat_name(GHashTable *data);
 void yahoo_c_invite(PurpleConnection *gc, int id, const char *msg, const char *name);
 
-void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, const GList *who);
+void yahoo_conf_leave(struct yahoo_data *yd, const char *room, const char *dn, GList *who);
 
 void yahoo_chat_goto(PurpleConnection *gc, const char *name);
 
--- a/libpurple/protocols/zephyr/ZLocations.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/zephyr/ZLocations.c	Thu Jun 21 20:37:57 2007 +0000
@@ -36,7 +36,8 @@
     return (Z_SendLocation(LOGIN_CLASS, LOGIN_USER_FLUSH, ZAUTH, ""));
 }
 
-static char host[MAXHOSTNAMELEN], mytty[MAXPATHLEN];
+static char host[MAXHOSTNAMELEN];
+static char *mytty = NULL;
 static int reenter = 0;
 
 Code_t Z_SendLocation(class, opcode, auth, format)
@@ -87,21 +88,20 @@
 	    }
 #ifndef X_DISPLAY_MISSING
 	    if ((display = getenv("DISPLAY")) && *display) {
-		    (void) strncpy(mytty, display, sizeof(mytty));
+		    mytty = g_strdup(display);
 	    } else {
 #endif
 #ifdef WIN32
-              	    strncpy(mytty, "WinPurple", sizeof(mytty));
+		    mytty = g_strdup("WinPurple");
 #else
 		    ttyp = ttyname(0);
 		    if (ttyp && *ttyp) {
 			p = strchr(ttyp + 1, '/');
-			strcpy(mytty, (p) ? p + 1 : ttyp);
+			mytty = g_strdup((p) ? p + 1 : ttyp);
 		    } else {
-			strncpy(mytty, "unknown", sizeof(mytty));
+			mytty = g_strdup("unknown");
 		    }
 #endif
-		    mytty[sizeof(mytty)-1] = '\0';
 #ifndef X_DISPLAY_MISSING
 	    }
 #endif
@@ -114,7 +114,6 @@
     bptr[1][strlen(bptr[1])-1] = '\0';
     bptr[2] = mytty;
 
-	
     if ((retval = ZSendList(&notice, bptr, 3, auth)) != ZERR_NONE)
 	return (retval);
 
--- a/libpurple/protocols/zephyr/ZVariables.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/protocols/zephyr/ZVariables.c	Thu Jun 21 20:37:57 2007 +0000
@@ -9,6 +9,7 @@
  *	"mit-copyright.h". 
  */
 
+#include "libpurple/internal.h"
 #include "internal.h"
 #include "util.h"
 
--- a/libpurple/prpl.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/prpl.c	Thu Jun 21 20:37:57 2007 +0000
@@ -83,44 +83,50 @@
 purple_prpl_got_user_idle(PurpleAccount *account, const char *name,
 		gboolean idle, time_t idle_time)
 {
-	PurpleBuddy *buddy;
 	PurplePresence *presence;
+	GSList *list;
 
 	g_return_if_fail(account != NULL);
 	g_return_if_fail(name    != NULL);
 	g_return_if_fail(purple_account_is_connected(account));
 
-	if ((buddy = purple_find_buddy(account, name)) == NULL)
+	if ((list = purple_find_buddies(account, name)) == NULL)
 		return;
 
-	presence = purple_buddy_get_presence(buddy);
-
-	purple_presence_set_idle(presence, idle, idle_time);
+	while (list) {
+		presence = purple_buddy_get_presence(list->data);
+		list = g_slist_delete_link(list, list);
+		purple_presence_set_idle(presence, idle, idle_time);
+	}
 }
 
 void
 purple_prpl_got_user_login_time(PurpleAccount *account, const char *name,
 		time_t login_time)
 {
-	PurpleBuddy *buddy;
+	GSList *list;
 	PurplePresence *presence;
 
 	g_return_if_fail(account != NULL);
 	g_return_if_fail(name    != NULL);
 
-	if ((buddy = purple_find_buddy(account, name)) == NULL)
+	if ((list = purple_find_buddies(account, name)) == NULL)
 		return;
 
 	if (login_time == 0)
 		login_time = time(NULL);
 
-	presence = purple_buddy_get_presence(buddy);
+	while (list) {
+		PurpleBuddy *buddy = list->data;
+		presence = purple_buddy_get_presence(buddy);
+		list = g_slist_delete_link(list, list);
 
-	if (purple_presence_get_login_time(presence) != login_time)
-	{
-		purple_presence_set_login_time(presence, login_time);
+		if (purple_presence_get_login_time(presence) != login_time)
+		{
+			purple_presence_set_login_time(presence, login_time);
 
-		purple_signal_emit(purple_blist_get_handle(), "buddy-got-login-time", buddy);
+			purple_signal_emit(purple_blist_get_handle(), "buddy-got-login-time", buddy);
+		}
 	}
 }
 
@@ -259,7 +265,7 @@
 purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence)
 {
 	GList *statuses = NULL;
-	const GList *l;
+	GList *l;
 	PurpleStatus *status;
 
 	g_return_val_if_fail(account  != NULL, NULL);
--- a/libpurple/prpl.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/prpl.h	Thu Jun 21 20:37:57 2007 +0000
@@ -378,7 +378,7 @@
  *                  beginning with the value for @a attr_id.
  */
 void purple_prpl_got_account_status(PurpleAccount *account,
-								  const char *status_id, ...);
+								  const char *status_id, ...) G_GNUC_NULL_TERMINATED;
 /**
  * Notifies Purple that a user's idle state and time have changed.
  *
@@ -418,7 +418,7 @@
  *                  beginning with the value for @a attr_id.
  */
 void purple_prpl_got_user_status(PurpleAccount *account, const char *name,
-							   const char *status_id, ...);
+							   const char *status_id, ...) G_GNUC_NULL_TERMINATED;
 
 /**
  * Notifies libpurple that a user's status has been deactivated
--- a/libpurple/request.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/request.c	Thu Jun 21 20:37:57 2007 +0000
@@ -22,6 +22,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "internal.h"
+
 #include "notify.h"
 #include "request.h"
 #include "debug.h"
@@ -111,7 +113,7 @@
 	return (g_hash_table_lookup(fields->fields, id) != NULL);
 }
 
-const GList *
+GList *
 purple_request_fields_get_required(const PurpleRequestFields *fields)
 {
 	g_return_val_if_fail(fields != NULL, NULL);
@@ -872,9 +874,9 @@
 }
 
 void
-purple_request_field_list_set_selected(PurpleRequestField *field, const GList *items)
+purple_request_field_list_set_selected(PurpleRequestField *field, GList *items)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_if_fail(field != NULL);
 	g_return_if_fail(items != NULL);
@@ -883,7 +885,7 @@
 	purple_request_field_list_clear_selected(field);
 
 	if (!purple_request_field_list_get_multi_select(field) &&
-		g_list_length((GList*)items) > 1)
+		g_list_length(items) > 1)
 	{
 		purple_debug_warning("request",
 						   "More than one item added to non-multi-select "
@@ -913,7 +915,7 @@
 										item, NULL, NULL);
 }
 
-const GList *
+GList *
 purple_request_field_list_get_selected(const PurpleRequestField *field)
 {
 	g_return_val_if_fail(field != NULL, NULL);
@@ -922,7 +924,7 @@
 	return field->u.list.selected;
 }
 
-const GList *
+GList *
 purple_request_field_list_get_items(const PurpleRequestField *field)
 {
 	g_return_val_if_fail(field != NULL, NULL);
--- a/libpurple/request.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/request.h	Thu Jun 21 20:37:57 2007 +0000
@@ -285,9 +285,9 @@
  *
  * @param fields The fields list.
  *
- * @return The list of required fields.
+ * @constreturn The list of required fields.
  */
-const GList *purple_request_fields_get_required(const PurpleRequestFields *fields);
+GList *purple_request_fields_get_required(const PurpleRequestFields *fields);
 
 /**
  * Returns whether or not a field with the specified ID is required.
@@ -917,10 +917,10 @@
  * Sets a list of selected items in a list field.
  *
  * @param field The field.
- * @param items The list of selected items.
+ * @param items The list of selected items, which is not modified or freed.
  */
 void purple_request_field_list_set_selected(PurpleRequestField *field,
-										  const GList *items);
+										  GList *items);
 
 /**
  * Returns whether or not a particular item is selected in a list field.
@@ -941,9 +941,9 @@
  *
  * @param field The field.
  *
- * @return The list of selected items.
+ * @constreturn The list of selected items.
  */
-const GList *purple_request_field_list_get_selected(
+GList *purple_request_field_list_get_selected(
 	const PurpleRequestField *field);
 
 /**
@@ -951,9 +951,9 @@
  *
  * @param field The field.
  *
- * @return The list of items.
+ * @constreturn The list of items.
  */
-const GList *purple_request_field_list_get_items(const PurpleRequestField *field);
+GList *purple_request_field_list_get_items(const PurpleRequestField *field);
 
 /*@}*/
 
@@ -1228,7 +1228,7 @@
 						  const char *ok_text, GCallback ok_cb,
 						  const char *cancel_text, GCallback cancel_cb,
 						  PurpleAccount *account, const char *who, PurpleConversation *conv,
-						  void *user_data, ...);
+						  void *user_data, ...) G_GNUC_NULL_TERMINATED;
 
 /**
  * Prompts the user for multiple-choice input.
--- a/libpurple/roomlist.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/roomlist.c	Thu Jun 21 20:37:57 2007 +0000
@@ -25,6 +25,8 @@
 
 #include <glib.h>
 
+#include "internal.h"
+
 #include "account.h"
 #include "connection.h"
 #include "debug.h"
--- a/libpurple/savedstatuses.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/savedstatuses.c	Thu Jun 21 20:37:57 2007 +0000
@@ -29,6 +29,7 @@
 #include "notify.h"
 #include "savedstatuses.h"
 #include "dbus-maybe.h"
+#include "request.h"
 #include "status.h"
 #include "util.h"
 #include "xmlnode.h"
@@ -110,6 +111,7 @@
 	g_return_if_fail(substatus != NULL);
 
 	g_free(substatus->message);
+	purple_request_close_with_handle(substatus);
 	PURPLE_DBUS_UNREGISTER_POINTER(substatus);
 	g_free(substatus);
 }
@@ -128,7 +130,7 @@
 		status->substatuses = g_list_remove(status->substatuses, substatus);
 		free_saved_status_sub(substatus);
 	}
-
+	purple_request_close_with_handle(status);
 	PURPLE_DBUS_UNREGISTER_POINTER(status);
 	g_free(status);
 }
@@ -569,6 +571,9 @@
 
 	schedule_save();
 
+	purple_signal_emit(purple_savedstatuses_get_handle(), "savedstatus-added",
+		status);
+
 	return status;
 }
 
@@ -584,6 +589,9 @@
 	status->title = g_strdup(title);
 
 	schedule_save();
+
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", status);
 }
 
 void
@@ -594,6 +602,8 @@
 	status->type = type;
 
 	schedule_save();
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", status);
 }
 
 void
@@ -608,6 +618,9 @@
 		status->message = g_strdup(message);
 
 	schedule_save();
+
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", status);
 }
 
 void
@@ -637,6 +650,8 @@
 	substatus->message = g_strdup(message);
 
 	schedule_save();
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", saved_status);
 }
 
 void
@@ -660,6 +675,9 @@
 			return;
 		}
 	}
+
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", saved_status);
 }
 
 /*
@@ -683,16 +701,12 @@
 	}
 }
 
-gboolean
-purple_savedstatus_delete(const char *title)
+void
+purple_savedstatus_delete_by_status(PurpleSavedStatus *status)
 {
-	PurpleSavedStatus *status;
 	time_t creation_time, current, idleaway;
 
-	status = purple_savedstatus_find(title);
-
-	if (status == NULL)
-		return FALSE;
+	g_return_if_fail(status != NULL);
 
 	saved_statuses = g_list_remove(saved_statuses, status);
 	creation_time = purple_savedstatus_get_creation_time(status);
@@ -713,10 +727,29 @@
 	if (idleaway == creation_time)
 		purple_prefs_set_int("/purple/savedstatus/idleaway", 0);
 
+	purple_signal_emit(purple_savedstatuses_get_handle(),
+			"savedstatus-deleted", status);
+}
+
+gboolean
+purple_savedstatus_delete(const char *title)
+{
+	PurpleSavedStatus *status;
+
+	status = purple_savedstatus_find(title);
+
+	if (status == NULL)
+		return FALSE;
+
+	if (purple_savedstatus_get_current() == status)
+		return FALSE;
+
+	purple_savedstatus_delete_by_status(status);
+
 	return TRUE;
 }
 
-const GList *
+GList *
 purple_savedstatuses_get_all(void)
 {
 	return saved_statuses;
@@ -1171,6 +1204,21 @@
 					 purple_value_new(PURPLE_TYPE_SUBTYPE,
 									PURPLE_SUBTYPE_SAVEDSTATUS));
 
+	purple_signal_register(handle, "savedstatus-added",
+		purple_marshal_VOID__POINTER, NULL, 1,
+		purple_value_new(PURPLE_TYPE_SUBTYPE,
+			PURPLE_SUBTYPE_SAVEDSTATUS));
+
+	purple_signal_register(handle, "savedstatus-deleted",
+		purple_marshal_VOID__POINTER, NULL, 1,
+		purple_value_new(PURPLE_TYPE_SUBTYPE,
+			PURPLE_SUBTYPE_SAVEDSTATUS));
+
+	purple_signal_register(handle, "savedstatus-modified",
+		purple_marshal_VOID__POINTER, NULL, 1,
+		purple_value_new(PURPLE_TYPE_SUBTYPE,
+			PURPLE_SUBTYPE_SAVEDSTATUS));
+
 	purple_signal_connect(purple_accounts_get_handle(), "account-removed",
 			handle,
 			PURPLE_CALLBACK(purple_savedstatus_unset_all_substatuses),
--- a/libpurple/savedstatuses.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/savedstatuses.h	Thu Jun 21 20:37:57 2007 +0000
@@ -149,11 +149,21 @@
 gboolean purple_savedstatus_delete(const char *title);
 
 /**
+ * Delete a saved status.  This removes the saved status from the list
+ * of saved statuses, and writes the revised list to status.xml.
+ *
+ * @param saved_status the status to delete, the pointer is invalid after
+ *        the call
+ *
+ */
+void purple_savedstatus_delete_by_status(PurpleSavedStatus *saved_status);
+
+/**
  * Returns all saved statuses.
  *
- * @return A list of saved statuses.
+ * @constreturn A list of saved statuses.
  */
-const GList *purple_savedstatuses_get_all(void);
+GList *purple_savedstatuses_get_all(void);
 
 /**
  * Returns the n most popular saved statuses.  "Popularity" is
--- a/libpurple/status.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/status.c	Thu Jun 21 20:37:57 2007 +0000
@@ -451,7 +451,7 @@
 	return NULL;
 }
 
-const GList *
+GList *
 purple_status_type_get_attrs(const PurpleStatusType *status_type)
 {
 	g_return_val_if_fail(status_type != NULL, NULL);
@@ -548,7 +548,7 @@
 purple_status_new(PurpleStatusType *status_type, PurplePresence *presence)
 {
 	PurpleStatus *status;
-	const GList *l;
+	GList *l;
 
 	g_return_val_if_fail(status_type != NULL, NULL);
 	g_return_val_if_fail(presence    != NULL, NULL);
@@ -719,10 +719,10 @@
 
 void
 purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active,
-									   const GList *attrs)
+									   GList *attrs)
 {
 	gboolean changed = FALSE;
-	const GList *l;
+	GList *l;
 	GList *specified_attr_ids = NULL;
 	PurpleStatusType *status_type;
 
@@ -1168,9 +1168,9 @@
 }
 
 void
-purple_presence_add_list(PurplePresence *presence, const GList *source_list)
+purple_presence_add_list(PurplePresence *presence, GList *source_list)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_if_fail(presence    != NULL);
 	g_return_if_fail(source_list != NULL);
@@ -1396,7 +1396,7 @@
 	return presence->u.buddy.buddy;
 }
 
-const GList *
+GList *
 purple_presence_get_statuses(const PurplePresence *presence)
 {
 	g_return_val_if_fail(presence != NULL, NULL);
@@ -1408,7 +1408,7 @@
 purple_presence_get_status(const PurplePresence *presence, const char *status_id)
 {
 	PurpleStatus *status;
-	const GList *l = NULL;
+	GList *l = NULL;
 
 	g_return_val_if_fail(presence  != NULL, NULL);
 	g_return_val_if_fail(status_id != NULL, NULL);
@@ -1487,7 +1487,7 @@
 purple_presence_is_status_primitive_active(const PurplePresence *presence,
 		PurpleStatusPrimitive primitive)
 {
-	const GList *l;
+	GList *l;
 
 	g_return_val_if_fail(presence  != NULL,              FALSE);
 	g_return_val_if_fail(primitive != PURPLE_STATUS_UNSET, FALSE);
@@ -1535,7 +1535,7 @@
 	gboolean idle1, idle2;
 	time_t idle_time_1, idle_time_2;
 	int score1 = 0, score2 = 0;
-	const GList *l;
+	GList *l;
 
 	if (presence1 == presence2)
 		return 0;
--- a/libpurple/status.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/status.h	Thu Jun 21 20:37:57 2007 +0000
@@ -227,7 +227,7 @@
 												gboolean independent,
 												const char *attr_id,
 												const char *attr_name,
-												PurpleValue *attr_value, ...);
+												PurpleValue *attr_value, ...) G_GNUC_NULL_TERMINATED;
 
 /**
  * Destroys a status type.
@@ -270,7 +270,7 @@
  * @param ...         Additional attribute information.
  */
 void purple_status_type_add_attrs(PurpleStatusType *status_type, const char *id,
-								const char *name, PurpleValue *value, ...);
+								const char *name, PurpleValue *value, ...) G_GNUC_NULL_TERMINATED;
 
 /**
  * Adds multiple attributes to a status type using a va_list.
@@ -387,9 +387,9 @@
  *
  * @param status_type The status type.
  *
- * @return The list of attributes.
+ * @constreturn The list of attributes.
  */
-const GList *purple_status_type_get_attrs(const PurpleStatusType *status_type);
+GList *purple_status_type_get_attrs(const PurpleStatusType *status_type);
 
 /**
  * Find the PurpleStatusType with the given id.
@@ -515,10 +515,11 @@
  * @param active The active state.
  * @param attrs  A list of attributes to set on the status.  This list is
  *               composed of key/value pairs, where each key is a valid
- *               attribute name for this PurpleStatusType.
+ *               attribute name for this PurpleStatusType.  The list is
+ *               not modified or freed by this function.
  */
 void purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active,
-											const GList *attrs);
+											GList *attrs);
 
 /**
  * Sets the boolean value of an attribute in a status with the specified ID.
@@ -768,9 +769,10 @@
  * Adds a list of statuses to the presence.
  *
  * @param presence    The presence.
- * @param source_list The source list of statuses to add.
+ * @param source_list The source list of statuses to add, which is not
+ *                    modified or freed by this function.
  */
-void purple_presence_add_list(PurplePresence *presence, const GList *source_list);
+void purple_presence_add_list(PurplePresence *presence, GList *source_list);
 
 /**
  * Sets the active state of a status in a presence.
@@ -869,9 +871,9 @@
  *
  * @param presence The presence.
  *
- * @return The statuses.
+ * @constreturn The statuses.
  */
-const GList *purple_presence_get_statuses(const PurplePresence *presence);
+GList *purple_presence_get_statuses(const PurplePresence *presence);
 
 /**
  * Returns the status with the specified ID from a presence.
--- a/libpurple/util.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/util.c	Thu Jun 21 20:37:57 2007 +0000
@@ -66,8 +66,8 @@
 	unsigned long data_len;
 };
 
-static char custom_home_dir[MAXPATHLEN];
-static char home_dir[MAXPATHLEN] = "";
+static char *custom_user_dir = NULL;
+static char *home_dir = NULL;
 
 PurpleMenuAction *
 purple_menu_action_new(const char *label, PurpleCallback callback, gpointer data,
@@ -2396,27 +2396,22 @@
 const char *
 purple_user_dir(void)
 {
-	if (custom_home_dir != NULL && *custom_home_dir) {
-		strcpy ((char*) &home_dir, (char*) &custom_home_dir);
-	} else if (!*home_dir) {
-		const gchar *hd = purple_home_dir();
-
-		if (hd) {
-			g_strlcpy((char*) &home_dir, hd, sizeof(home_dir));
-			g_strlcat((char*) &home_dir, G_DIR_SEPARATOR_S ".purple",
-					sizeof(home_dir));
-		}
-	}
+	if (custom_user_dir != NULL)
+		return custom_user_dir;
+	else if (!home_dir)
+		home_dir = g_build_filename(purple_home_dir(), ".purple", NULL);
 
 	return home_dir;
 }
 
 void purple_util_set_user_dir(const char *dir)
 {
-	if (dir != NULL && strlen(dir) > 0) {
-		g_strlcpy((char*) &custom_home_dir, dir,
-				sizeof(custom_home_dir));
-	}
+	g_free(custom_user_dir);
+
+	if (dir != NULL && *dir)
+		custom_user_dir = g_strdup(dir);
+	else
+		custom_user_dir = NULL;
 }
 
 int purple_build_dir (const char *path, int mode)
@@ -3135,7 +3130,7 @@
 char *
 purple_str_size_to_units(size_t size)
 {
-	static const char *size_str[4] = { "bytes", "KB", "MB", "GB" };
+	static const char *size_str[4] = { "bytes", "KiB", "MiB", "GiB" };
 	float size_mag;
 	int size_index = 0;
 
--- a/libpurple/whiteboard.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/libpurple/whiteboard.c	Thu Jun 21 20:37:57 2007 +0000
@@ -23,6 +23,7 @@
 
 #include <string.h>
 
+#include "internal.h"
 #include "whiteboard.h"
 #include "prpl.h"
 
--- a/pidgin/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -197,6 +197,7 @@
 	-DLIBDIR=\"$(libdir)/pidgin/\" \
 	-DLOCALEDIR=\"$(datadir)/locale\" \
 	-DSYSCONFDIR=\"$(sysconfdir)\" \
+	-I$(top_builddir)/libpurple \
 	-I$(top_srcdir)/libpurple/ \
 	$(GLIB_CFLAGS) \
 	$(GSTREAMER_CFLAGS) \
--- a/pidgin/gtkaccount.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkaccount.c	Thu Jun 21 20:37:57 2007 +0000
@@ -697,7 +697,7 @@
 	PurpleAccountOption *option;
 	PurpleAccount *account;
 	GtkWidget *frame, *vbox, *check, *entry, *combo, *menu, *item;
-	const GList *list, *node;
+	GList *list, *node;
 	gint i, idx, int_value;
 	GtkListStore *model;
 	GtkTreeIter iter;
@@ -1586,7 +1586,7 @@
 
 	account = purple_connection_get_account(gc);
 	model = GTK_TREE_MODEL(accounts_window->model);
-	index = g_list_index((GList *)purple_accounts_get_all(), account);
+	index = g_list_index(purple_accounts_get_all(), account);
 
 	if (gtk_tree_model_iter_nth_child(model, &iter, NULL, index))
 	{
@@ -1789,13 +1789,13 @@
 				case GTK_TREE_VIEW_DROP_INTO_OR_AFTER:
 					move_account_after(dialog->model, &dialog->drag_iter,
 									   &iter);
-					dest_index = g_list_index((GList *)purple_accounts_get_all(),
+					dest_index = g_list_index(purple_accounts_get_all(),
 											  account) + 1;
 					break;
 
 				case GTK_TREE_VIEW_DROP_BEFORE:
 				case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE:
-					dest_index = g_list_index((GList *)purple_accounts_get_all(),
+					dest_index = g_list_index(purple_accounts_get_all(),
 											  account);
 
 					move_account_before(dialog->model, &dialog->drag_iter,
@@ -2094,7 +2094,7 @@
 static gboolean
 populate_accounts_list(AccountsWindow *dialog)
 {
-	const GList *l;
+	GList *l;
 	gboolean ret = FALSE;
 	GdkPixbuf *global_buddyicon = NULL;
 	const char *path;
@@ -2298,7 +2298,7 @@
 global_buddyicon_changed(const char *name, PurplePrefType type,
 			gconstpointer value, gpointer window)
 {
-	const GList *list;
+	GList *list;
 	for (list = purple_accounts_get_all(); list; list = list->next) {
 		account_modified_cb(list->data, window);
 	}
@@ -2429,7 +2429,7 @@
 {
 	PurpleConnection *gc = purple_account_get_connection(data->account);
 
-	if (g_list_find((GList *)purple_connections_get_all(), gc))
+	if (g_list_find(purple_connections_get_all(), gc))
 	{
 		purple_blist_request_add_buddy(data->account, data->username,
 									 NULL, data->alias);
@@ -2686,3 +2686,4 @@
 	purple_signals_unregister_by_instance(pidgin_account_get_handle());
 }
 
+
--- a/pidgin/gtkblist.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkblist.c	Thu Jun 21 20:37:57 2007 +0000
@@ -108,6 +108,7 @@
 
 static guint visibility_manager_count = 0;
 static gboolean gtk_blist_obscured = FALSE;
+static gboolean editing_blist = FALSE;
 
 static GList *pidgin_blist_sort_methods = NULL;
 static struct pidgin_blist_sort_method *current_sort_method = NULL;
@@ -150,11 +151,7 @@
 	if (!gtkblist)
 		return "dim grey";
 	if (!dim_grey_string[0]) {
-		GtkStyle *style = gtk_widget_get_style(gtkblist->treeview);
-		snprintf(dim_grey_string, sizeof(dim_grey_string), "#%02x%02x%02x",
-			 style->text_aa[GTK_STATE_NORMAL].red >> 8,
-			 style->text_aa[GTK_STATE_NORMAL].green >> 8,
-			 style->text_aa[GTK_STATE_NORMAL].blue >> 8);
+		snprintf(dim_grey_string, sizeof(dim_grey_string), "%s", pidgin_get_dim_grey_string(gtkblist->treeview)); 
 	}
 	return dim_grey_string;
 }
@@ -294,15 +291,30 @@
 static void gtk_blist_join_chat(PurpleChat *chat)
 {
 	PurpleConversation *conv;
-
-	conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT,
-											   purple_chat_get_name(chat),
+	PurplePluginProtocolInfo *prpl_info;
+	const char *name;
+	char *chat_name;
+
+	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl(purple_account_get_protocol_id(chat->account)));
+
+	if (prpl_info && prpl_info->get_chat_name)
+		chat_name = prpl_info->get_chat_name(chat->components);
+	else
+		chat_name = NULL;
+
+	if (chat_name)
+		name = chat_name;
+	else
+		name = purple_chat_get_name(chat);
+
+	conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, name,
 											   chat->account);
 
 	if (conv != NULL)
 		purple_conversation_present(conv);
 
 	serv_join_chat(chat->account->gc, chat->components);
+	g_free(chat_name);
 }
 
 static void gtk_blist_menu_join_cb(GtkWidget *w, PurpleChat *chat)
@@ -310,6 +322,13 @@
 	gtk_blist_join_chat(chat);
 }
 
+#if GTK_CHECK_VERSION(2,6,0)
+static void gtk_blist_renderer_editing_cancelled_cb(GtkCellRenderer *renderer, PurpleBuddyList *list)
+{
+	editing_blist = FALSE;
+	pidgin_blist_refresh(list);
+}
+
 static void gtk_blist_renderer_editing_started_cb(GtkCellRenderer *renderer,
 		GtkCellEditable *editable,
 		gchar *path_str,
@@ -346,10 +365,12 @@
 		GtkEntry *entry = GTK_ENTRY (editable);
 		gtk_entry_set_text(entry, text);
 	}
-}
+	editing_blist = TRUE;
+}
+#endif
 
 static void gtk_blist_renderer_edited_cb(GtkCellRendererText *text_rend, char *arg1,
-					 char *arg2, gpointer nada)
+					 char *arg2, PurpleBuddyList *list)
 {
 	GtkTreeIter iter;
 	GtkTreePath *path;
@@ -357,6 +378,7 @@
 	PurpleBlistNode *node;
 	PurpleGroup *dest;
 
+	editing_blist = FALSE;
 	path = gtk_tree_path_new_from_string (arg1);
 	gtk_tree_model_get_iter (GTK_TREE_MODEL(gtkblist->treemodel), &iter, path);
 	gtk_tree_path_free (path);
@@ -401,6 +423,7 @@
 		default:
 			break;
 	}
+	pidgin_blist_refresh(list);
 }
 
 static void gtk_blist_menu_alias_cb(GtkWidget *w, PurpleBlistNode *node)
@@ -481,6 +504,11 @@
 	pidgin_syslog_show();
 }
 
+static void gtk_blist_show_onlinehelp_cb()
+{
+	purple_notify_uri(NULL, PURPLE_WEBSITE "documentation");
+}
+
 static void
 do_join_chat(PidginJoinChatData *data)
 {
@@ -681,7 +709,7 @@
 gboolean
 pidgin_blist_joinchat_is_showable()
 {
-	const GList *c;
+	GList *c;
 	PurpleConnection *gc;
 
 	for (c = purple_connections_get_all(); c != NULL; c = c->next) {
@@ -1536,7 +1564,7 @@
 add_buddies_from_vcard(const char *prpl_id, PurpleGroup *group, GList *list,
 					   const char *alias)
 {
-	const GList *l;
+	GList *l;
 	PurpleAccount *account = NULL;
 	PurpleConnection *gc;
 
@@ -2077,51 +2105,6 @@
 	}
 }
 
-static void
-roundify(GdkPixbuf *pixbuf) {
-	int width, height, rowstride;
-	guchar *pixels;
-
-	if (!gdk_pixbuf_get_has_alpha(pixbuf))
-		return;
-
-	width = gdk_pixbuf_get_width(pixbuf);
-	height = gdk_pixbuf_get_height(pixbuf);
-	rowstride = gdk_pixbuf_get_rowstride(pixbuf);
-	pixels = gdk_pixbuf_get_pixels(pixbuf);
-
-	if (width < 6 || height < 6)
-		return;
-
-	/* Top left */
-	pixels[3] = 0;
-	pixels[7] = 0x80;
-	pixels[11] = 0xC0;
-	pixels[rowstride + 3] = 0x80;
-	pixels[rowstride * 2 + 3] = 0xC0;
-
-	/* Top right */
-	pixels[width * 4 - 1] = 0;
-	pixels[width * 4 - 5] = 0x80;
-	pixels[width * 4 - 9] = 0xC0;
-	pixels[rowstride + (width * 4) - 1] = 0x80;
-	pixels[(2 * rowstride) + (width * 4) - 1] = 0xC0;
-
-	/* Bottom left */
-	pixels[(height - 1) * rowstride + 3] = 0;
-	pixels[(height - 1) * rowstride + 7] = 0x80;
-	pixels[(height - 1) * rowstride + 11] = 0xC0;
-	pixels[(height - 2) * rowstride + 3] = 0x80;
-	pixels[(height - 3) * rowstride + 3] = 0xC0;
-
-	/* Bottom right */
-	pixels[height * rowstride - 1] = 0;
-	pixels[(height - 1) * rowstride - 1] = 0x80;
-	pixels[(height - 2) * rowstride - 1] = 0xC0;
-	pixels[height * rowstride - 5] = 0x80;
-	pixels[height * rowstride - 9] = 0xC0;
-}
-
 /* Altered from do_colorshift in gnome-panel */
 static void
 do_alphashift (GdkPixbuf *dest, GdkPixbuf *src, int shift)
@@ -2258,7 +2241,7 @@
 			gdk_pixbuf_fill(ret, 0x00000000);
 			gdk_pixbuf_scale(buf, ret, (32-scale_width)/2, (32-scale_height)/2, scale_width, scale_height, (32-scale_width)/2, (32-scale_height)/2, (double)scale_width/(double)orig_width, (double)scale_height/(double)orig_height, GDK_INTERP_BILINEAR);
 			if (pidgin_gdk_pixbuf_is_opaque(ret))
-				roundify(ret);
+				pidgin_gdk_pixbuf_make_round(ret);
 		} else {
 			ret = gdk_pixbuf_scale_simple(buf,scale_width,scale_height, GDK_INTERP_BILINEAR);
 		}
@@ -2845,7 +2828,6 @@
 	{ N_("/Buddies/Add C_hat..."), NULL, pidgin_blist_add_chat_cb, 0, "<StockItem>", GTK_STOCK_ADD },
 	{ N_("/Buddies/Add _Group..."), NULL, purple_blist_request_add_group, 0, "<StockItem>", GTK_STOCK_ADD },
 	{ "/Buddies/sep3", NULL, NULL, 0, "<Separator>", NULL },
-	{ N_("/Buddies/_About Pidgin"), NULL, pidgin_dialogs_about, 0,  "<Item>", NULL },
 	{ N_("/Buddies/_Quit"), "<CTL>Q", purple_core_quit, 0, "<StockItem>", GTK_STOCK_QUIT },
 
 	/* Accounts menu */
@@ -2862,9 +2844,13 @@
 	{ N_("/Tools/_File Transfers"), "<CTL>T", pidgin_xfer_dialog_show, 0, "<Item>", NULL },
 	{ N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "<Item>", NULL },
 	{ N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<Item>", NULL },
-	{ N_("/Tools/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL },
 	{ "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL },
 	{ N_("/Tools/Mute _Sounds"), "<CTL>S", pidgin_blist_mute_sounds_cb, 0, "<CheckItem>", NULL },
+	/* Help */
+	{ N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL },
+	{ N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP },
+	{ N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<Item>", NULL },
+	{ N_("/Help/_About"), NULL, pidgin_dialogs_about, 0,  "<Item>", NULL },
 };
 
 /*********************************************************
@@ -2889,7 +2875,7 @@
 		prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account));
 		prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
 
-		if (g_list_length((GList *)purple_connections_get_all()) > 1)
+		if (g_list_length(purple_connections_get_all()) > 1)
 		{
 			tmp = g_markup_escape_text(chat->account->username, -1);
 			g_string_append_printf(str, _("\n<b>Account:</b> %s"), tmp);
@@ -2954,7 +2940,7 @@
 		user_info = purple_notify_user_info_new();
 
 		/* Account */
-		if (full && g_list_length((GList *)purple_connections_get_all()) > 1)
+		if (full && g_list_length(purple_connections_get_all()) > 1)
 		{
 			tmp = g_markup_escape_text(purple_account_get_username(
 									   purple_buddy_get_account(b)), -1);
@@ -2990,7 +2976,14 @@
 		signon = purple_presence_get_login_time(presence);
 		if (full && PURPLE_BUDDY_IS_ONLINE(b) && signon > 0)
 		{
-			tmp = purple_str_seconds_to_string(time(NULL) - signon);
+			if (time(NULL) - signon > 63072000 /* 2 years */) {
+				/*
+				 * Our local clock must be wrong, show the actual
+				 * date instead of "4 days", etc.
+				 */
+				tmp = g_strdup(purple_date_format_long(localtime(&signon)));
+			} else
+				tmp = purple_str_seconds_to_string(time(NULL) - signon);
 			purple_notify_user_info_add_pair(user_info, _("Logged In"), tmp);
 			g_free(tmp);
 		}
@@ -3257,7 +3250,7 @@
 	return ret;
 }
 
-static gchar *pidgin_blist_get_name_markup(PurpleBuddy *b, gboolean selected)
+gchar *pidgin_blist_get_name_markup(PurpleBuddy *b, gboolean selected, gboolean aliased)
 {
 	const char *name;
 	char *esc, *text = NULL;
@@ -3282,15 +3275,19 @@
 	}
 
 	/* XXX Good luck cleaning up this crap */
-
-	contact = (PurpleContact*)((PurpleBlistNode*)b)->parent;
-	if(contact)
-		gtkcontactnode = ((PurpleBlistNode*)contact)->ui_data;
-
-	if(gtkcontactnode && !gtkcontactnode->contact_expanded && contact->alias)
-		name = contact->alias;
-	else
-		name = purple_buddy_get_alias(b);
+	if (aliased) {
+		contact = (PurpleContact*)((PurpleBlistNode*)b)->parent;
+		if(contact)
+			gtkcontactnode = ((PurpleBlistNode*)contact)->ui_data;
+
+		if(gtkcontactnode && !gtkcontactnode->contact_expanded && contact->alias)
+			name = contact->alias;
+		else
+			name = purple_buddy_get_alias(b);
+	} else {
+		name = b->name;
+	}
+	
 	esc = g_markup_escape_text(name, strlen(name));
 
 	presence = purple_buddy_get_presence(b);
@@ -3729,8 +3726,11 @@
 
 gboolean pidgin_blist_node_is_contact_expanded(PurpleBlistNode *node)
 {
-	if PURPLE_BLIST_NODE_IS_BUDDY(node)
+	if (PURPLE_BLIST_NODE_IS_BUDDY(node)) {
 		node = node->parent;
+		if (node == NULL)
+			return FALSE;
+	}
 
 	g_return_val_if_fail(PURPLE_BLIST_NODE_IS_CONTACT(node), FALSE);
 
@@ -4204,7 +4204,7 @@
 				{"application/x-im-contact", 0, DRAG_BUDDY},
 				{"text/x-vcard", 0, DRAG_VCARD }};
 	if (gtkblist && gtkblist->window) {
-		purple_blist_set_visible(TRUE);
+		purple_blist_set_visible(purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/list_visible"));
 		return;
 	}
 
@@ -4435,8 +4435,11 @@
 #endif
 										"markup", NAME_COLUMN,
 										NULL);
+#if GTK_CHECK_VERSION(2,6,0)
 	g_signal_connect(G_OBJECT(rend), "editing-started", G_CALLBACK(gtk_blist_renderer_editing_started_cb), NULL);
-	g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), NULL);
+	g_signal_connect(G_OBJECT(rend), "editing-canceled", G_CALLBACK(gtk_blist_renderer_editing_cancelled_cb), list);
+#endif
+	g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), list);
 	g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL);
 #if GTK_CHECK_VERSION(2,6,0)
 	g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
@@ -4778,9 +4781,10 @@
 
 	gtk_tree_path_free(newpath);
 
-	gtk_tree_store_set(gtkblist->treemodel, iter,
-			NODE_COLUMN, node,
-			-1);
+	if (!editing_blist)
+		gtk_tree_store_set(gtkblist->treemodel, iter,
+				NODE_COLUMN, node,
+				-1);
 
 	if(node->parent) {
 		GtkTreePath *expand = NULL;
@@ -4813,6 +4817,9 @@
 
 	g_return_if_fail(node != NULL);
 
+	if (editing_blist)
+		return;
+	
 	if (PURPLE_BLIST_NODE_IS_GROUP(node))
 		gnode = node;
 	else if (PURPLE_BLIST_NODE_IS_BUDDY(node))
@@ -4914,6 +4921,9 @@
 	gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons");
 	presence = purple_buddy_get_presence(buddy);
 
+	if (editing_blist)
+		return;
+	
 	status = pidgin_blist_get_status_icon((PurpleBlistNode*)buddy,
 						PIDGIN_STATUS_ICON_SMALL);
 
@@ -4931,7 +4941,7 @@
 	}
 
 	emblem = pidgin_blist_get_emblem((PurpleBlistNode*) buddy);
-	mark = pidgin_blist_get_name_markup(buddy, selected);
+	mark = pidgin_blist_get_name_markup(buddy, selected, TRUE);
 
 	if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_idle_time") &&
 		purple_presence_is_idle(presence) &&
@@ -4993,6 +5003,9 @@
 	PurpleBuddy *buddy;
 	struct _pidgin_blist_node *gtknode;
 
+	if (editing_blist)
+		return;
+
 	if (PURPLE_BLIST_NODE_IS_BUDDY(node))
 		cnode = node->parent;
 	else
@@ -5089,6 +5102,9 @@
 
 	g_return_if_fail(PURPLE_BLIST_NODE_IS_CHAT(node));
 
+	if (editing_blist)
+		return;
+
 	/* First things first, update the group */
 	pidgin_blist_update_group(list, node->parent);
 
@@ -5689,7 +5705,7 @@
 {
 	PidginAddChatData *data;
 	PidginBuddyList *gtkblist;
-	const GList *l;
+	GList *l;
 	PurpleConnection *gc;
 	GtkWidget *label;
 	GtkWidget *rowbox;
@@ -6456,8 +6472,7 @@
 {
 	GtkWidget *menuitem = NULL, *submenu = NULL;
 	GtkAccelGroup *accel_group = NULL;
-	GList *l = NULL;
-	const GList *accounts;
+	GList *l = NULL, *accounts = NULL;
 	gboolean disabled_accounts = FALSE;
 
 	if (accountmenu == NULL)
@@ -6694,3 +6709,4 @@
 	if (activeitem)
 		gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(activeitem), TRUE);
 }
+
--- a/pidgin/gtkblist.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkblist.h	Thu Jun 21 20:37:57 2007 +0000
@@ -360,4 +360,14 @@
 void pidgin_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, gpointer user_data,
 		GDestroyNotify destroy);
 
+/**
+ * Returns a buddy's Pango markup appropriate for setting in a GtkCellRenderer.
+ *
+ * @param buddy The buddy to return markup from
+ * @param selected  Whether this buddy is selected. If TRUE, the markup will not change the color.
+ * @param aliased  TRUE to return the appropriate alias of this buddy, FALSE to return its screenname
+ * @return The markup for this buddy
+ */
+gchar *pidgin_blist_get_name_markup(PurpleBuddy *buddy, gboolean selected, gboolean aliased);
+
 #endif /* _PIDGINBLIST_H_ */
--- a/pidgin/gtkconv.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkconv.c	Thu Jun 21 20:37:57 2007 +0000
@@ -49,6 +49,7 @@
 #include "prpl.h"
 #include "request.h"
 #include "util.h"
+#include "version.h"
 
 #include "gtkdnd-hints.h"
 #include "gtkblist.h"
@@ -81,6 +82,12 @@
 	PIDGIN_CONV_COLORIZE_TITLE		= 1 << 6
 }PidginConvFields;
 
+enum {
+	ICON_COLUMN,
+	TEXT_COLUMN,
+	NUM_COLUMNS
+} PidginInfopaneColumns;
+
 #define	PIDGIN_CONV_ALL	((1 << 7) - 1)
 
 #define SEND_COLOR "#204a87"
@@ -621,23 +628,10 @@
 static void chat_do_info(PidginConversation *gtkconv, const char *who)
 {
 	PurpleConversation *conv = gtkconv->active_conv;
-	PurplePluginProtocolInfo *prpl_info = NULL;
 	PurpleConnection *gc;
 
 	if ((gc = purple_conversation_get_gc(conv))) {
-		prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
-
-		/*
-		 * If there are special needs for getting info on users in
-		 * buddy chat "rooms"...
-		 */
-		if (prpl_info->get_cb_info != NULL)
-		{
-			prpl_info->get_cb_info(gc,
-				purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)), who);
-		}
-		else
-			pidgin_retrieve_user_info(gc, who);
+		pidgin_retrieve_user_info_in_chat(gc, who, purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)));
 	}
 }
 
@@ -1821,6 +1815,9 @@
 				if (!gtkconv->send_history)
 					break;
 
+				if (gtkconv->entry != entry)
+					break;
+
 				if (!gtkconv->send_history->prev) {
 					GtkTextIter start, end;
 
@@ -1869,6 +1866,9 @@
 				if (!gtkconv->send_history)
 					break;
 
+				if (gtkconv->entry != entry)
+					break;
+
 				if (gtkconv->send_history->prev && gtkconv->send_history->prev->data) {
 					GObject *object;
 					GtkTextIter iter;
@@ -1972,6 +1972,8 @@
 		switch (event->keyval)
 		{
 			case GDK_Tab:
+				if (gtkconv->entry != entry)
+					break;
 				return tab_complete(conv);
 				break;
 
@@ -2048,6 +2050,9 @@
 	return TRUE;
 }
 
+static void
+regenerate_options_items(PidginWindow *win);
+
 void
 pidgin_conv_switch_active_conversation(PurpleConversation *conv)
 {
@@ -2148,6 +2153,8 @@
 
 	gray_stuff_out(gtkconv);
 	update_typing_icon(gtkconv);
+	g_object_set_data(G_OBJECT(entry), "transient_buddy", NULL);
+	regenerate_options_items(gtkconv->win);
 
 	gtk_window_set_title(GTK_WINDOW(gtkconv->win->window),
 	                     gtk_label_get_text(GTK_LABEL(gtkconv->tab_label)));
@@ -2336,6 +2343,10 @@
 	gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->icon), status);
 	gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->menu_icon), status);
 
+	gtk_list_store_set(GTK_LIST_STORE(gtkconv->infopane_model), 
+			&(gtkconv->infopane_iter),
+			ICON_COLUMN, status, -1);
+
 	if (status != NULL)
 		g_object_unref(status);
 
@@ -2391,16 +2402,22 @@
 	gdk_pixbuf_animation_iter_advance(gtkconv->u.im->iter, NULL);
 	buf = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter);
 
-	pidgin_buddy_icon_get_scale_size(buf, &prpl_info->icon_spec,
-			PURPLE_ICON_SCALE_DISPLAY, &scale_width, &scale_height);
-
-	/* this code is ugly, and scares me */
-	scale = gdk_pixbuf_scale_simple(buf,
-		MAX(gdk_pixbuf_get_width(buf) * scale_width /
-		    gdk_pixbuf_animation_get_width(gtkconv->u.im->anim), 1),
-		MAX(gdk_pixbuf_get_height(buf) * scale_height /
-		    gdk_pixbuf_animation_get_height(gtkconv->u.im->anim), 1),
+ 	scale_width = gdk_pixbuf_get_width(buf);
+        scale_height = gdk_pixbuf_get_height(buf);
+        if (scale_width == scale_height) {
+		scale_width = scale_height = 32;
+	} else if (scale_height > scale_width) {
+                scale_width = 32 * scale_width / scale_height;
+                scale_height = 32;
+        } else {
+                scale_height = 32 * scale_height / scale_width;
+                scale_width = 32;
+        }
+
+	scale = gdk_pixbuf_scale_simple(buf, scale_width, scale_height,
 		GDK_INTERP_BILINEAR);
+	if (pidgin_gdk_pixbuf_is_opaque(scale))
+		pidgin_gdk_pixbuf_make_round(scale);
 
 	gtk_image_set_from_pixbuf(GTK_IMAGE(gtkconv->u.im->icon), scale);
 	g_object_unref(G_OBJECT(scale));
@@ -2676,7 +2693,7 @@
 										gboolean hidden_only,
 										guint max_count)
 {
-	const GList *l;
+	GList *l;
 	GList *r = NULL;
 	guint c = 0;
 
@@ -2894,11 +2911,45 @@
 
 	menu = gtk_item_factory_get_widget(win->menu.item_factory, N_("/Conversation/More"));
 
-	if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT)
+	if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) {
 		chat = purple_blist_find_chat(conv->account, conv->name);
-	else
+
+		if ((chat == NULL) && (gtkconv->imhtml != NULL)) {
+			chat = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_chat");
+		}
+
+		if ((chat == NULL) && (gtkconv->imhtml != NULL)) {
+			GHashTable *components;
+			components = g_hash_table_new_full(g_str_hash, g_str_equal,
+					g_free, g_free);
+			g_hash_table_replace(components, g_strdup("channel"),
+					g_strdup(conv->name));
+			chat = purple_chat_new(conv->account, NULL, components);
+			purple_blist_node_set_flags((PurpleBlistNode *)chat,
+					PURPLE_BLIST_NODE_FLAG_NO_SAVE);
+			g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_chat",
+					chat, (GDestroyNotify)purple_blist_remove_chat);
+		}
+	} else {
 		buddy = purple_find_buddy(conv->account, conv->name);
 
+		/* gotta remain bug-compatible :( libpurple < 2.0.2 didn't handle
+		 * removing "isolated" buddy nodes well */
+		if (purple_version_check(2, 0, 2) == NULL) {
+			if ((buddy == NULL) && (gtkconv->imhtml != NULL)) {
+				buddy = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_buddy");
+			}
+
+			if ((buddy == NULL) && (gtkconv->imhtml != NULL)) {
+				buddy = purple_buddy_new(conv->account, conv->name, NULL);
+				purple_blist_node_set_flags((PurpleBlistNode *)buddy,
+						PURPLE_BLIST_NODE_FLAG_NO_SAVE);
+				g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_buddy",
+						buddy, (GDestroyNotify)purple_blist_remove_buddy);
+			}
+		}
+	}
+
 	if (chat)
 		node = (PurpleBlistNode *)chat;
 	else if (buddy)
@@ -3802,7 +3853,7 @@
 		g_list_free(list);
 	} else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) {
 		PurpleConvChat *chat = PURPLE_CONV_CHAT(conv);
-		const GList *l = purple_conv_chat_get_users(chat);
+		GList *l = purple_conv_chat_get_users(chat);
 		GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(PIDGIN_CONVERSATION(conv)->u.chat->list));
 		GtkTreeIter iter;
 		int f;
@@ -4213,11 +4264,9 @@
 		
 		hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
 		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
-		gtk_widget_show(hbox);
 
 		label = gtk_label_new(_("Topic:"));
 		gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
-		gtk_widget_show(label);
 
 		gtkchat->topic_text = gtk_entry_new();
 
@@ -4229,7 +4278,8 @@
 		}
 
 		gtk_box_pack_start(GTK_BOX(hbox), gtkchat->topic_text, TRUE, TRUE, 0);
-		gtk_widget_show(gtkchat->topic_text);
+		g_signal_connect(G_OBJECT(gtkchat->topic_text), "key_press_event",
+			             G_CALLBACK(entry_key_press_cb), gtkconv);
 	}
 }
 
@@ -4328,6 +4378,8 @@
 setup_common_pane(PidginConversation *gtkconv)
 {
 	GtkWidget *paned, *vbox, *frame, *imhtml_sw;
+	GtkCellRenderer *rend;
+	GtkTreePath *path;
 	PurpleConversation *conv = gtkconv->active_conv;
 	gboolean chat = (conv->type == PURPLE_CONV_TYPE_CHAT);
 	GtkPolicyType imhtml_sw_hscroll;
@@ -4340,6 +4392,37 @@
 	gtk_paned_pack1(GTK_PANED(paned), vbox, TRUE, TRUE);
 	gtk_widget_show(vbox);
 
+	/* Setup the info pane */
+	gtkconv->infopane_hbox = gtk_hbox_new(FALSE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox), gtkconv->infopane_hbox, FALSE, FALSE, 0);
+	gtk_widget_show(gtkconv->infopane_hbox);
+
+	gtkconv->infopane = gtk_cell_view_new();
+	gtkconv->infopane_model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING);
+	gtk_cell_view_set_model(GTK_CELL_VIEW(gtkconv->infopane), 
+				GTK_TREE_MODEL(gtkconv->infopane_model));
+	gtk_list_store_append(gtkconv->infopane_model, &(gtkconv->infopane_iter));
+	gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), gtkconv->infopane, TRUE, TRUE, 0);
+	path = gtk_tree_path_new_from_string("0");
+	gtk_cell_view_set_displayed_row(GTK_CELL_VIEW(gtkconv->infopane), path);
+	gtk_tree_path_free(path);
+	gtk_widget_set_size_request(gtkconv->infopane, -1, 32);
+	gtk_widget_show(gtkconv->infopane);
+
+	rend = gtk_cell_renderer_pixbuf_new();
+	gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkconv->infopane), rend, FALSE);
+	gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkconv->infopane), rend, "pixbuf", ICON_COLUMN, NULL);
+	g_object_set(rend, "xalign", 0.0, "xpad", 6, "ypad", 0, NULL);
+
+	rend = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkconv->infopane), rend, TRUE);
+	gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkconv->infopane), rend, "markup", TEXT_COLUMN, NULL);
+	g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL);
+
+#if GTK_CHECK_VERSION(2, 6, 0)
+	g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+#endif
+
 	/* Setup the gtkimhtml widget */
 	frame = pidgin_create_imhtml(FALSE, &gtkconv->imhtml, NULL, &imhtml_sw);
 	if (chat) {
@@ -5396,7 +5479,7 @@
 	gtkconv = PIDGIN_CONVERSATION(conv);
 	gtkchat = gtkconv->u.chat;
 
-	num_users = g_list_length((GList *)purple_conv_chat_get_users(chat));
+	num_users = g_list_length(purple_conv_chat_get_users(chat));
 
 	g_snprintf(tmp, sizeof(tmp),
 			   ngettext("%d person in room", "%d people in room",
@@ -5490,7 +5573,7 @@
 	gtkconv = PIDGIN_CONVERSATION(conv);
 	gtkchat = gtkconv->u.chat;
 
-	num_users = g_list_length((GList *)purple_conv_chat_get_users(chat));
+	num_users = g_list_length(purple_conv_chat_get_users(chat));
 
 	for (l = users; l != NULL; l = l->next) {
 		model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list));
@@ -5931,8 +6014,10 @@
 			buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE;
 		}
 
-		if (!(prpl_info->options & OPT_PROTO_IM_IMAGE) ||
-				conv->features & PURPLE_CONNECTION_NO_IMAGES)
+		if (!(prpl_info->options & OPT_PROTO_IM_IMAGE))
+			conv->features |= PURPLE_CONNECTION_NO_IMAGES;
+
+		if(conv->features & PURPLE_CONNECTION_NO_IMAGES)
 			buttons &= ~GTK_IMHTML_IMAGE;
 
 		gtk_imhtml_set_format_functions(GTK_IMHTML(gtkconv->entry), buttons);
@@ -5945,7 +6030,7 @@
 		gtk_widget_set_sensitive(win->menu.get_info, (prpl_info->get_info != NULL));
 		gtk_widget_set_sensitive(win->menu.invite, (prpl_info->chat_invite != NULL));
 		gtk_widget_set_sensitive(win->menu.insert_link, (conv->features & PURPLE_CONNECTION_HTML));
-		gtk_widget_set_sensitive(win->menu.insert_image, (prpl_info->options & OPT_PROTO_IM_IMAGE) && !(conv->features & PURPLE_CONNECTION_NO_IMAGES));
+		gtk_widget_set_sensitive(win->menu.insert_image, !(conv->features & PURPLE_CONNECTION_NO_IMAGES));
 
 		if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM)
 		{
@@ -6065,11 +6150,13 @@
 		pidgin_themes_smiley_themeize(PIDGIN_CONVERSATION(conv)->imhtml);
 
 	if ((fields & PIDGIN_CONV_COLORIZE_TITLE) ||
-			(fields & PIDGIN_CONV_SET_TITLE))
+			(fields & PIDGIN_CONV_SET_TITLE) ||
+    			(fields & PIDGIN_CONV_TOPIC))
 	{
 		char *title;
 		PurpleConvIm *im = NULL;
 		PurpleAccount *account = purple_conversation_get_account(conv);
+		char *markup = NULL;
 		AtkObject *accessibility_obj;
 		/* I think this is a little longer than it needs to be but I'm lazy. */
 		char style[51];
@@ -6085,6 +6172,25 @@
 		else
 			title = g_strdup(purple_conversation_get_title(conv));
 
+		if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) {
+		 	PurpleBuddy *buddy = purple_find_buddy(account, conv->name);
+			if (buddy)
+				markup = pidgin_blist_get_name_markup(buddy, FALSE, FALSE);
+			else
+				markup = title;
+		} else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) {
+			PurpleConvChat *chat = PURPLE_CONV_CHAT(conv);
+			markup = g_strdup_printf("%s\n<span color='%s' size='smaller'>%s</span>",
+						purple_conversation_get_title(conv),
+						pidgin_get_dim_grey_string(gtkconv->infopane),
+						purple_conv_chat_get_topic(chat));
+		}
+		gtk_list_store_set(gtkconv->infopane_model, &(gtkconv->infopane_iter),
+				TEXT_COLUMN, markup, -1);
+	
+		if (title != markup)
+			g_free(markup);
+
 		*style = '\0';
 
 		if (!GTK_WIDGET_REALIZED(gtkconv->tab_label))
@@ -6244,7 +6350,6 @@
 	GdkPixbuf *buf;
 
 	GtkWidget *event;
-	GtkWidget *frame;
 	GdkPixbuf *scale;
 	int scale_width, scale_height;
 
@@ -6343,54 +6448,55 @@
 	}
 
 	if (gdk_pixbuf_animation_is_static_image(gtkconv->u.im->anim)) {
+		GdkPixbuf *stat;
 		gtkconv->u.im->iter = NULL;
-		buf = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim);
+		stat = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim);
+		buf = gdk_pixbuf_add_alpha(stat, FALSE, 0, 0, 0);
 	} else {
+		GdkPixbuf *stat;
 		gtkconv->u.im->iter =
 			gdk_pixbuf_animation_get_iter(gtkconv->u.im->anim, NULL); /* LEAK */
-		buf = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter);
+		stat = gdk_pixbuf_animation_iter_get_pixbuf(gtkconv->u.im->iter);
+		buf = gdk_pixbuf_add_alpha(stat, FALSE, 0, 0, 0);
 		if (gtkconv->u.im->animate)
 			start_anim(NULL, gtkconv);
 	}
 
-	pidgin_buddy_icon_get_scale_size(buf, &prpl_info->icon_spec,
-			PURPLE_ICON_SCALE_DISPLAY, &scale_width, &scale_height);
-	scale = gdk_pixbuf_scale_simple(buf,
-				MAX(gdk_pixbuf_get_width(buf) * scale_width /
-				    gdk_pixbuf_animation_get_width(gtkconv->u.im->anim), 1),
-				MAX(gdk_pixbuf_get_height(buf) * scale_height /
-				    gdk_pixbuf_animation_get_height(gtkconv->u.im->anim), 1),
+	scale_width = gdk_pixbuf_get_width(buf);
+	scale_height = gdk_pixbuf_get_height(buf);
+	if (scale_width == scale_height) {
+		scale_width = scale_height = 32;
+	} else if (scale_height > scale_width) {
+		scale_width = 32 * scale_width / scale_height;
+		scale_height = 32;
+	} else {
+		scale_height = 32 * scale_height / scale_width;
+		scale_width = 32;
+	}
+	scale = gdk_pixbuf_scale_simple(buf, scale_width, scale_height,
 				GDK_INTERP_BILINEAR);
-
+	g_object_unref(buf);
+	if (pidgin_gdk_pixbuf_is_opaque(scale))
+		pidgin_gdk_pixbuf_make_round(scale);
 	gtkconv->u.im->icon_container = gtk_vbox_new(FALSE, 0);
 
-	frame = gtk_frame_new(NULL);
-	gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
-	gtk_box_pack_start(GTK_BOX(gtkconv->u.im->icon_container), frame,
-					   FALSE, FALSE, 0);
-
 	event = gtk_event_box_new();
-	gtk_container_add(GTK_CONTAINER(frame), event);
+	gtk_container_add(GTK_CONTAINER(gtkconv->u.im->icon_container), event);
 	g_signal_connect(G_OBJECT(event), "button-press-event",
 					 G_CALLBACK(icon_menu), gtkconv);
 	gtk_widget_show(event);
 
 	gtkconv->u.im->icon = gtk_image_new_from_pixbuf(scale);
 	gtkconv->auto_resize = TRUE;
-	/* Reset the size request to allow the buddy icon to resize */
-	gtk_widget_set_size_request(gtkconv->lower_hbox, -1, -1);
-	g_idle_add(reset_auto_resize_cb, gtkconv);
-	gtk_widget_set_size_request(gtkconv->u.im->icon, scale_width, scale_height);
 	gtk_container_add(GTK_CONTAINER(event), gtkconv->u.im->icon);
 	gtk_widget_show(gtkconv->u.im->icon);
 
 	g_object_unref(G_OBJECT(scale));
 
-	gtk_box_pack_start(GTK_BOX(gtkconv->lower_hbox),
+	gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox),
 			   gtkconv->u.im->icon_container, FALSE, FALSE, 0);
 
 	gtk_widget_show(gtkconv->u.im->icon_container);
-	gtk_widget_show(frame);
 
 	/* The buddy icon code needs badly to be fixed. */
 	if(pidgin_conv_window_is_active_conversation(conv))
@@ -6487,7 +6593,7 @@
 close_on_tabs_pref_cb(const char *name, PurplePrefType type,
 					  gconstpointer value, gpointer data)
 {
-	const GList *l;
+	GList *l;
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
 
@@ -6511,7 +6617,7 @@
 				   gconstpointer value, gpointer data)
 {
 #ifdef USE_GTKSPELL
-	const GList *cl;
+	GList *cl;
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
 	GtkSpell *spell;
@@ -6558,7 +6664,7 @@
 show_timestamps_pref_cb(const char *name, PurplePrefType type,
 						gconstpointer value, gpointer data)
 {
-	const GList *l;
+	GList *l;
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
 	PidginWindow *win;
@@ -6586,7 +6692,7 @@
 show_formatting_toolbar_pref_cb(const char *name, PurplePrefType type,
 								gconstpointer value, gpointer data)
 {
-	const GList *l;
+	GList *l;
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
 	PidginWindow *win;
@@ -6616,7 +6722,7 @@
 animate_buddy_icons_pref_cb(const char *name, PurplePrefType type,
 							gconstpointer value, gpointer data)
 {
-	const GList *l;
+	GList *l;
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
 	PidginWindow *win;
@@ -6643,7 +6749,7 @@
 show_buddy_icons_pref_cb(const char *name, PurplePrefType type,
 						 gconstpointer value, gpointer data)
 {
-	const GList *l;
+	GList *l;
 
 	for (l = purple_get_conversations(); l != NULL; l = l->next) {
 		PurpleConversation *conv = l->data;
@@ -6769,7 +6875,7 @@
 static void
 account_signed_off_cb(PurpleConnection *gc, gpointer event)
 {
-	const GList *iter;
+	GList *iter;
 
 	for (iter = purple_get_conversations(); iter; iter = iter->next)
 	{
@@ -8363,7 +8469,7 @@
 	gtk_notebook_set_tab_label_packing(GTK_NOTEBOOK(win->notebook), gtkconv->tab_cont, !tabs_side && !angle, TRUE, GTK_PACK_START);
 
 	/* show the widgets */
-	gtk_widget_show(gtkconv->icon);
+/* XXX	gtk_widget_show(gtkconv->icon); */
 	gtk_widget_show(gtkconv->tab_label);
 	if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/close_on_tabs"))
 		gtk_widget_show(gtkconv->close);
--- a/pidgin/gtkconv.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkconv.h	Thu Jun 21 20:37:57 2007 +0000
@@ -158,6 +158,10 @@
 	} u;
 
 	time_t newday;
+	GtkWidget *infopane_hbox;
+	GtkWidget *infopane;
+	GtkListStore *infopane_model;
+	GtkTreeIter infopane_iter;
 };
 
 /*@}*/
--- a/pidgin/gtkdocklet-x11.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkdocklet-x11.c	Thu Jun 21 20:37:57 2007 +0000
@@ -125,8 +125,12 @@
 		int icon_size;
 		if (docklet_height < 22)
 			icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
+		else if (docklet_height < 32)
+			icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL);
+		else if (docklet_height < 48)
+			icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_MEDIUM);
 		else
-			icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL);
+			icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_LARGE);
 
 		gtk_image_set_from_stock(GTK_IMAGE(image), icon_name, icon_size);
 	}
@@ -135,9 +139,9 @@
 static void
 docklet_x11_resize_icon(GtkWidget *widget)
 {
-	if (docklet_height == widget->allocation.height)
+	if (docklet_height == MIN(widget->allocation.height, widget->allocation.width))
 		return;
-	docklet_height = widget->allocation.height;
+	docklet_height = MIN(widget->allocation.height, widget->allocation.width);
 	pidgin_docklet_update_icon();
 }
 
--- a/pidgin/gtkdocklet.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkdocklet.c	Thu Jun 21 20:37:57 2007 +0000
@@ -109,8 +109,7 @@
 static gboolean
 docklet_update_status()
 {
-	GList *convs;
-	const GList *l;
+	GList *convs, *l;
 	int count;
 	PurpleSavedStatus *saved_status;
 	PurpleStatusPrimitive newstatus = PURPLE_STATUS_OFFLINE;
@@ -214,7 +213,8 @@
 static gboolean
 online_account_supports_chat()
 {
-	const GList *c = purple_connections_get_all();
+	GList *c = NULL;
+	c = purple_connections_get_all();
 
 	while(c != NULL) {
 		PurpleConnection *gc = c->data;
--- a/pidgin/gtkft.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkft.c	Thu Jun 21 20:37:57 2007 +0000
@@ -130,7 +130,7 @@
 	kbps    = (elapsed > 0 ? (kb_sent / elapsed) : 0);
 
 	if (kbsec != NULL) {
-		*kbsec = g_strdup_printf(_("%.2f KB/s"), kbps);
+		*kbsec = g_strdup_printf(_("%.2f KiB/s"), kbps);
 	}
 
 	if (time_elapsed != NULL)
@@ -248,10 +248,10 @@
 
 	get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining);
 
-	status = g_strdup_printf("%ld%% (%ld of %ld bytes)",
-							 (unsigned long)(purple_xfer_get_progress(xfer)*100),
-							 (unsigned long)purple_xfer_get_bytes_sent(xfer),
-							 (unsigned long)purple_xfer_get_size(xfer));
+	status = g_strdup_printf("%d%% (%" G_GSIZE_FORMAT " of %" G_GSIZE_FORMAT " bytes)",
+							 (int)(purple_xfer_get_progress(xfer)*100),
+							 purple_xfer_get_bytes_sent(xfer),
+							 purple_xfer_get_size(xfer));
 
 	if (purple_xfer_is_completed(xfer)) {
 
--- a/pidgin/gtkimhtml.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkimhtml.c	Thu Jun 21 20:37:57 2007 +0000
@@ -29,6 +29,7 @@
 #endif
 
 #include "pidgin.h"
+#include "internal.h"
 
 #include "debug.h"
 #include "util.h"
@@ -53,19 +54,6 @@
 #include <windows.h>
 #endif
 
-#ifdef ENABLE_NLS
-#  include <libintl.h>
-#  define _(x) gettext(x)
-#  ifdef gettext_noop
-#    define N_(String) gettext_noop (String)
-#  else
-#    define N_(String) (String)
-#  endif
-#else
-#  define N_(String) (String)
-#  define _(x) (x)
-#endif
-
 #include <pango/pango-font.h>
 
 /* GTK+ < 2.4.x hack, see pidgin.h for details. */
@@ -3294,6 +3282,7 @@
 	char *basename = g_path_get_basename(filename);
 	char *ext = strrchr(basename, '.');
 #endif
+	char *newfilename;
 
 	gtk_widget_destroy(image->filesel);
 	image->filesel = NULL;
@@ -3308,7 +3297,7 @@
 			gchar *fmt_ext = extensions[0];
 			const gchar* file_ext = filename + strlen(filename) - strlen(fmt_ext);
 
-			if(!strcmp(fmt_ext, file_ext)){
+			if(!g_ascii_strcasecmp(fmt_ext, file_ext)){
 				type = gdk_pixbuf_format_get_name(format);
 				break;
 			}
@@ -3341,6 +3330,7 @@
 	/* If I can't find a valid type, I will just tell the user about it and then assume
 	   it's a png */
 	if (!type){
+		char *basename, *tmp;
 #if GTK_CHECK_VERSION(2,4,0)
 		GtkWidget *dialog = gtk_message_dialog_new_with_markup(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
 						_("<span size='larger' weight='bold'>Unrecognized file type</span>\n\nDefaulting to PNG."));
@@ -3351,10 +3341,26 @@
 
 		g_signal_connect_swapped(dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
 		gtk_widget_show(dialog);
+
 		type = g_strdup("png");
+		basename = g_path_get_basename(filename);
+		tmp = strrchr(basename, '.');
+		if (tmp != NULL)
+			tmp[0] = '\0';
+		newfilename = g_strdup_printf("%s.png", basename);
+		g_free(basename);
+	} else {
+		/*
+		 * We're able to save the file in it's original format, so we
+		 * can use the original file name.
+		 */
+		newfilename = g_strdup(filename);
 	}
 
-	gdk_pixbuf_save(image->pixbuf, filename, type, &error, NULL);
+	gdk_pixbuf_save(image->pixbuf, newfilename, type, &error, NULL);
+
+	g_free(newfilename);
+	g_free(type);
 
 	if (error){
 #if GTK_CHECK_VERSION(2,4,0)
@@ -3368,8 +3374,6 @@
 		gtk_widget_show(dialog);
 		g_error_free(error);
 	}
-
-	g_free(type);
 }
 
 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
@@ -5020,10 +5024,24 @@
 
 void gtk_imhtml_setup_entry(GtkIMHtml *imhtml, PurpleConnectionFlags flags)
 {
+	GtkIMHtmlButtons buttons;
+
 	if (flags & PURPLE_CONNECTION_HTML) {
 		char color[8];
 		GdkColor fg_color, bg_color;
 
+		buttons = GTK_IMHTML_ALL;
+
+		if (flags & PURPLE_CONNECTION_NO_BGCOLOR)
+			buttons &= ~GTK_IMHTML_BACKCOLOR;
+		if (flags & PURPLE_CONNECTION_NO_FONTSIZE)
+		{
+			buttons &= ~GTK_IMHTML_GROW;
+			buttons &= ~GTK_IMHTML_SHRINK;
+		}
+		if (flags & PURPLE_CONNECTION_NO_URLDESC)
+			buttons &= ~GTK_IMHTML_LINKDESC;
+
 		gtk_imhtml_set_format_functions(imhtml, GTK_IMHTML_ALL);
 		if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold") != imhtml->edit.bold)
 			gtk_imhtml_toggle_bold(imhtml);
@@ -5078,9 +5096,14 @@
 		else
 			gtk_imhtml_set_whole_buffer_formatting_only(imhtml, FALSE);
 	} else {
+		buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE;
 		imhtml_clear_formatting(imhtml);
-		gtk_imhtml_set_format_functions(imhtml, 0);
 	}
+
+	if (flags & PURPLE_CONNECTION_NO_IMAGES)
+		buttons &= ~GTK_IMHTML_IMAGE;
+
+	gtk_imhtml_set_format_functions(imhtml, buttons);
 }
 
 
--- a/pidgin/gtkimhtmltoolbar.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkimhtmltoolbar.c	Thu Jun 21 20:37:57 2007 +0000
@@ -865,41 +865,21 @@
                     gboolean          *push_in,
                     gpointer          data)
 {
+	GtkWidget *widget = GTK_WIDGET(data);
 	GtkRequisition menu_req;
-	GtkTextDirection direction;
-	GdkRectangle monitor;
-	gint monitor_num;
-	GdkScreen *screen;
-	GtkWidget *widget = GTK_WIDGET(data);
-
-	gtk_widget_size_request (GTK_WIDGET (menu), &menu_req);
-
-	direction = gtk_widget_get_direction (widget);
-
-	screen = gtk_widget_get_screen (GTK_WIDGET (menu));
-	monitor_num = gdk_screen_get_monitor_at_window (screen, widget->window);
-	if (monitor_num < 0)
-		monitor_num = 0;
-	gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+	gint ythickness = widget->style->ythickness;
+	int savy;
 
-	gdk_window_get_origin (widget->window, x, y);
+	gtk_widget_size_request(GTK_WIDGET (menu), &menu_req);
+	gdk_window_get_origin(widget->window, x, y);
 	*x += widget->allocation.x;
-	*y += widget->allocation.y;
-
-	if (direction == GTK_TEXT_DIR_LTR)
-		*x += MAX (widget->allocation.width - menu_req.width, 0);
-	else if (menu_req.width > widget->allocation.width)
-		*x -= menu_req.width - widget->allocation.width;
+	*y += widget->allocation.y + widget->allocation.height;
+	savy = *y;
 
-	if ((*y + widget->allocation.height + menu_req.height) <= monitor.y + monitor.height)
-		*y += widget->allocation.height;
-	else if ((*y - menu_req.height) >= monitor.y)
-		*y -= menu_req.height;
-	else if (monitor.y + monitor.height - (*y + widget->allocation.height) > *y)
-		*y += widget->allocation.height;
-	else
-		*y -= menu_req.height;
-	*push_in = FALSE;
+	pidgin_menu_position_func_helper(menu, x, y, push_in, data);
+
+	if (savy > *y + ythickness + 1)
+		*y -= widget->allocation.height;
 }
 
 static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu)
@@ -1055,6 +1035,7 @@
 	GtkWidget *font_button;
 	GtkWidget *font_menu;
 	GtkWidget *insert_menu;
+	GtkWidget *menuitem;
 	GtkWidget *button;
 	GtkWidget *sep;
 	int i;
@@ -1108,7 +1089,7 @@
 	
 	for (i = 0; buttons[i].label; i++) {
 		GtkWidget *old = *buttons[i].button;
-		GtkWidget *menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label);
+		menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label);
 		g_signal_connect_swapped(G_OBJECT(menuitem), "activate",
 				G_CALLBACK(gtk_button_clicked), old);
 		g_signal_connect_after(G_OBJECT(old), "toggled",
@@ -1160,17 +1141,23 @@
 
 	insert_menu = gtk_menu_new();
 
-	button = gtk_menu_item_new_with_mnemonic(_("_Smiley"));
-	g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
-	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button);
+	menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley"));
+	g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
+	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
+	g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive",
+			G_CALLBACK(button_sensitiveness_changed), menuitem);
 
-	button = gtk_menu_item_new_with_mnemonic(_("_Image"));
-	g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image);
-	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button);
+	menuitem = gtk_menu_item_new_with_mnemonic(_("_Image"));
+	g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image);
+	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
+	g_signal_connect(G_OBJECT(toolbar->image), "notify::sensitive",
+			G_CALLBACK(button_sensitiveness_changed), menuitem);
 
-	button = gtk_menu_item_new_with_mnemonic(_("_Link"));
-	g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link);
-	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button);
+	menuitem = gtk_menu_item_new_with_mnemonic(_("_Link"));
+	g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link);
+	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
+	g_signal_connect(G_OBJECT(toolbar->link), "notify::sensitive",
+			G_CALLBACK(button_sensitiveness_changed), menuitem);
 
 	g_signal_connect(G_OBJECT(insert_button), "clicked", G_CALLBACK(pidgin_menu_clicked), insert_menu);
 	g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button);
--- a/pidgin/gtklog.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtklog.c	Thu Jun 21 20:37:57 2007 +0000
@@ -757,7 +757,7 @@
 
 void pidgin_syslog_show()
 {
-	const GList *accounts;
+	GList *accounts = NULL;
 	GList *logs = NULL;
 
 	if (syslog_viewer != NULL) {
--- a/pidgin/gtkmain.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkmain.c	Thu Jun 21 20:37:57 2007 +0000
@@ -108,37 +108,32 @@
 };
 #endif
 
-static int
+static void
 dologin_named(const char *name)
 {
 	PurpleAccount *account;
 	char **names;
 	int i;
-	int ret = -1;
 
 	if (name != NULL) { /* list of names given */
 		names = g_strsplit(name, ",", 64);
 		for (i = 0; names[i] != NULL; i++) {
 			account = purple_accounts_find(names[i], NULL);
 			if (account != NULL) { /* found a user */
-				ret = 0;
-				purple_account_connect(account);
+				purple_account_set_enabled(account, PIDGIN_UI, TRUE);
 			}
 		}
 		g_strfreev(names);
 	} else { /* no name given, use the first account */
-		const GList *accounts;
+		GList *accounts;
 
 		accounts = purple_accounts_get_all();
 		if (accounts != NULL)
 		{
 			account = (PurpleAccount *)accounts->data;
-			ret = 0;
-			purple_account_connect(account);
+			purple_account_set_enabled(account, PIDGIN_UI, TRUE);
 		}
 	}
-
-	return ret;
 }
 
 #ifdef HAVE_SIGNAL_H
@@ -377,6 +372,7 @@
 		       "  -c, --config=DIR    use DIR for config files\n"
 		       "  -d, --debug         print debugging messages to stdout\n"
 		       "  -h, --help          display this help and exit\n"
+		       "  -m, --multiple      do not ensure single instance\n"
 		       "  -n, --nologin       don't automatically login\n"
 		       "  -l, --login[=NAME]  automatically login (optional argument NAME specifies\n"
 		       "                      account(s) to use, separated by commas)\n"
@@ -436,12 +432,12 @@
 	gboolean opt_login = FALSE;
 	gboolean opt_nologin = FALSE;
 	gboolean opt_version = FALSE;
+	gboolean opt_si = TRUE;     /* Check for single instance? */
 	char *opt_config_dir_arg = NULL;
 	char *opt_login_arg = NULL;
 	char *opt_session_arg = NULL;
-	int dologin_ret = -1;
 	char *search_path;
-	const GList *accounts;
+	GList *accounts;
 #ifdef HAVE_SIGNAL_H
 	int sig_indx;	/* for setting up signal catching */
 	sigset_t sigset;
@@ -463,6 +459,7 @@
 		{"debug",    no_argument,       NULL, 'd'},
 		{"help",     no_argument,       NULL, 'h'},
 		{"login",    optional_argument, NULL, 'l'},
+		{"multiple", no_argument,       NULL, 'm'},
 		{"nologin",  no_argument,       NULL, 'n'},
 		{"session",  required_argument, NULL, 's'},
 		{"version",  no_argument,       NULL, 'v'},
@@ -477,7 +474,7 @@
 
 	/* This is the first Glib function call. Make sure to initialize GThread bfeore then */
 	g_thread_init(NULL);
-	
+
 #ifdef ENABLE_NLS
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	bind_textdomain_codeset(PACKAGE, "UTF-8");
@@ -499,7 +496,7 @@
 			"no fault of your own.\n\n"
 			"If you can reproduce the crash, please notify the developers\n"
 			"by reporting a bug at:\n"
-			"%snewticket/\n\n"
+			"%ssimpleticket/\n\n"
 			"Please make sure to specify what you were doing at the time\n"
 			"and post the backtrace from the core file.  If you do not know\n"
 			"how to get the backtrace, please read the instructions at\n"
@@ -576,7 +573,7 @@
 	opterr = 1;
 	while ((opt = getopt_long(argc, argv,
 #ifndef _WIN32
-				  "c:dhnl::s:v",
+				  "c:dhmnl::s:v",
 #else
 				  "c:dhnl::v",
 #endif
@@ -608,6 +605,9 @@
 		case 'v':	/* version */
 			opt_version = TRUE;
 			break;
+		case 'm':   /* do not ensure single instance. */
+			opt_si = FALSE;
+			break;
 		case '?':	/* show terse help */
 		default:
 			show_usage(argv[0], TRUE);
@@ -734,7 +734,7 @@
 		abort();
 	}
 
-	if (!purple_core_ensure_single_instance()) {
+	if (opt_si && !purple_core_ensure_single_instance()) {
 		purple_core_quit();
 #ifdef HAVE_SIGNAL_H
 		g_free(segfault_message);
@@ -798,14 +798,23 @@
 		pidgin_debug_window_show();
 
 	if (opt_login) {
-		dologin_ret = dologin_named(opt_login_arg);
+		/* disable all accounts */
+		for (accounts = purple_accounts_get_all(); accounts != NULL; accounts = accounts->next) {
+			PurpleAccount *account = accounts->data;
+			purple_account_set_enabled(account, PIDGIN_UI, FALSE);
+		}
+		/* honor the startup status preference */
+		if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status"))
+			purple_savedstatus_activate(purple_savedstatus_get_startup());
+		/* now enable the requested ones */
+		dologin_named(opt_login_arg);
 		if (opt_login_arg != NULL) {
 			g_free(opt_login_arg);
 			opt_login_arg = NULL;
 		}
 	}
 
-	if (opt_nologin)
+	if (opt_nologin && !opt_login)
 	{
 		/* Set all accounts to "offline" */
 		PurpleSavedStatus *saved_status;
@@ -821,7 +830,7 @@
 		/* Set the status for each account */
 		purple_savedstatus_activate(saved_status);
 	}
-	else
+	else if (!opt_login)
 	{
 		/* Everything is good to go--sign on already */
 		if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status"))
@@ -846,6 +855,7 @@
 	winpidgin_post_init();
 #endif
 
+	g_set_application_name(_("Pidgin"));
 	gtk_main();
 
 #ifdef HAVE_SIGNAL_H
--- a/pidgin/gtknotify.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtknotify.c	Thu Jun 21 20:37:57 2007 +0000
@@ -40,6 +40,12 @@
 
 typedef struct
 {
+	GtkWidget *window;
+	int count;
+} PidginUserInfo;
+
+typedef struct
+{
 	PurpleAccount *account;
 	char *url;
 	GtkWidget *label;
@@ -622,7 +628,7 @@
 	gtk_widget_show(button);
 
 	g_signal_connect_swapped(G_OBJECT(button), "clicked",
-							 G_CALLBACK(formatted_close_cb), window);
+							 G_CALLBACK(gtk_widget_destroy), window);
 	g_signal_connect(G_OBJECT(window), "key_press_event",
 					 G_CALLBACK(formatted_input_cb), NULL);
 
@@ -874,6 +880,11 @@
 static void
 remove_userinfo(GtkWidget *widget, gpointer key)
 {
+	PidginUserInfo *pinfo = g_hash_table_lookup(userinfo, key);
+
+	while (pinfo->count--)
+		purple_notify_close(PURPLE_NOTIFY_USERINFO, widget);
+
 	g_hash_table_remove(userinfo, key);
 }
 
@@ -884,26 +895,33 @@
 	char *info;
 	void *ui_handle;
 	char *key = userinfo_hash(purple_connection_get_account(gc), who);
+	PidginUserInfo *pinfo = NULL;
 
 	if (!userinfo) {
-		userinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+		userinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
 	}
 
 	info = purple_notify_user_info_get_text_with_newline(user_info, "<br />");
-	ui_handle = g_hash_table_lookup(userinfo, key);
-	if (ui_handle != NULL) {
-		GtkIMHtml *imhtml = g_object_get_data(G_OBJECT(ui_handle), "info-widget");
+	pinfo = g_hash_table_lookup(userinfo, key);
+	if (pinfo != NULL) {
+		GtkIMHtml *imhtml = g_object_get_data(G_OBJECT(pinfo->window), "info-widget");
 		char *linked_text = purple_markup_linkify(info);
 		gtk_imhtml_clear(imhtml);
 		gtk_imhtml_append_text(imhtml, linked_text, notify_imhtml_options());
 		g_free(linked_text);
 		g_free(key);
+		ui_handle = pinfo->window;
+		pinfo->count++;
 	} else {
 		char *primary = g_strdup_printf(_("Info for %s"), who);
 		ui_handle = pidgin_notify_formatted(_("Buddy Information"), primary, NULL, info);
-		g_hash_table_insert(userinfo, key, ui_handle);
+		g_signal_handlers_disconnect_by_func(G_OBJECT(ui_handle), G_CALLBACK(formatted_close_cb), NULL);
 		g_signal_connect(G_OBJECT(ui_handle), "destroy", G_CALLBACK(remove_userinfo), key);
 		g_free(primary);
+		pinfo = g_new0(PidginUserInfo, 1);
+		pinfo->window = ui_handle;
+		pinfo->count = 1;
+		g_hash_table_insert(userinfo, key, pinfo);
 	}
 	g_free(info);
 	return ui_handle;
--- a/pidgin/gtkpounce.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkpounce.c	Thu Jun 21 20:37:57 2007 +0000
@@ -211,12 +211,12 @@
 static void
 populate_pounces_list(PouncesManager *dialog)
 {
-	const GList *pounces;
+	GList *pounces;
 
 	gtk_list_store_clear(dialog->model);
 
-	for (pounces = purple_pounces_get_all(); pounces != NULL;
-			pounces = g_list_next(pounces))
+	for (pounces = purple_pounces_get_all_for_ui(PIDGIN_UI); pounces != NULL;
+			pounces = g_list_delete_link(pounces, pounces))
 	{
 		add_pounce_to_treeview(dialog->model, pounces->data);
 	}
@@ -496,7 +496,7 @@
 	}
 	else
 	{
-		const GList *connections = purple_connections_get_all();
+		GList *connections = purple_connections_get_all();
 		PurpleConnection *gc;
 
 		if (connections != NULL)
--- a/pidgin/gtkprefs.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkprefs.c	Thu Jun 21 20:37:57 2007 +0000
@@ -949,7 +949,7 @@
 	label = gtk_label_new_with_mnemonic(_("Conversation _font:"));
 	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
 	font_name = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font");
-	font_button = gtk_font_button_new_with_font(purple_prefs_get_string(font_name ? font_name : NULL));
+	font_button = gtk_font_button_new_with_font(font_name ? font_name : NULL);
 	gtk_font_button_set_show_style(GTK_FONT_BUTTON(font_button), TRUE);
 	gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
@@ -977,7 +977,7 @@
 
 	gtk_imhtml_append_text(GTK_IMHTML(imhtml), _("This is how your outgoing message text will appear when you use protocols that support formatting. :)"), 0);
 
-	gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
 
 	gtk_imhtml_setup_entry(GTK_IMHTML(imhtml), PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO);
 
@@ -1214,9 +1214,10 @@
 	}
 
 	gtk_widget_show_all(ret);
-	if (proxy_info == NULL ||
+	/* Only hide table if not running gnome otherwise we hide the IP address table! */
+	if (!purple_running_gnome() && (proxy_info == NULL ||
 	    purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_NONE ||
-	    purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_USE_ENVVAR)
+	    purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_USE_ENVVAR))
 		gtk_widget_hide(table);
 	return ret;
 }
--- a/pidgin/gtkrequest.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkrequest.c	Thu Jun 21 20:37:57 2007 +0000
@@ -974,7 +974,7 @@
 	GtkTreeSelection *sel;
 	GtkTreeViewColumn *column;
 	GtkTreeIter iter;
-	const GList *l;
+	GList *l;
 
 	/* Create the scrolled window */
 	sw = gtk_scrolled_window_new(NULL, NULL);
--- a/pidgin/gtkroomlist.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkroomlist.c	Thu Jun 21 20:37:57 2007 +0000
@@ -343,7 +343,7 @@
 gboolean
 pidgin_roomlist_is_showable()
 {
-	const GList *c;
+	GList *c;
 	PurpleConnection *gc;
 
 	for (c = purple_connections_get_all(); c != NULL; c = c->next) {
--- a/pidgin/gtksavedstatuses.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtksavedstatuses.c	Thu Jun 21 20:37:57 2007 +0000
@@ -23,8 +23,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#include "internal.h"
+
 #include "account.h"
-#include "internal.h"
 #include "notify.h"
 #include "request.h"
 #include "savedstatuses.h"
@@ -285,9 +286,11 @@
 
 	for (l = sel_titles; l != NULL; l = l->next) {
 		title = l->data;
-		if (status_window_find_savedstatus(&iter, title))
-			gtk_list_store_remove(status_window->model, &iter);
-		purple_savedstatus_delete(title);
+		if (purple_savedstatus_find(title) != purple_savedstatus_get_current()) {
+			if (status_window_find_savedstatus(&iter, title))
+				gtk_list_store_remove(status_window->model, &iter);
+			purple_savedstatus_delete(title);
+		}
 		g_free(title);
 	}
 	g_list_free(sel_titles);
@@ -302,6 +305,7 @@
 	GList *sel_paths, *l, *sel_titles = NULL;
 	GtkTreeModel *model = GTK_TREE_MODEL(dialog->model);
 	char *title;
+	gpointer handle;
 
 	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
 #if GTK_CHECK_VERSION(2,2,0)
@@ -324,13 +328,16 @@
 	}
 	g_list_free(sel_paths);
 
-	if (g_list_length(sel_titles) == 1)
+	if (g_list_length(sel_titles) == 1) {
 		title = g_strdup_printf(_("Are you sure you want to delete %s?"),
 				(const gchar *)sel_titles->data);
-	else
+		handle = purple_savedstatus_find(sel_titles->data);
+	} else {
 		title = g_strdup(_("Are you sure you want to delete the selected saved statuses?"));
+		handle = dialog;
+	}
 
-	purple_request_action(dialog, NULL, title, NULL, 0,
+	purple_request_action(handle, NULL, title, NULL, 0,
 		 NULL, NULL, NULL,
 		 sel_titles, 2,
 		_("Delete"), status_window_delete_confirm_cb,
@@ -349,17 +356,39 @@
 status_selected_cb(GtkTreeSelection *sel, gpointer user_data)
 {
 	StatusWindow *dialog = user_data;
-	int num_selected = 0;
+	GList *sel_paths, *tmp;
+	gboolean can_use = TRUE, can_delete = TRUE;
+	int num_selected;
+	GtkTreeModel *model = GTK_TREE_MODEL(dialog->model);
 
 #if GTK_CHECK_VERSION(2,2,0)
-	num_selected = gtk_tree_selection_count_selected_rows(sel);
+	sel_paths = gtk_tree_selection_get_selected_rows(sel, NULL);
 #else
-	gtk_tree_selection_selected_foreach(sel, count_selected_helper, &num_selected);
+	gtk_tree_selection_selected_foreach(sel, list_selected_helper, &sel_paths);
 #endif
 
-	gtk_widget_set_sensitive(dialog->use_button, (num_selected == 1));
+	for (tmp = sel_paths, num_selected = 0; tmp; tmp = tmp->next, num_selected++) {
+		GtkTreeIter iter;
+		char *title;
+
+		if (gtk_tree_model_get_iter(model, &iter, tmp->data)) {
+			gtk_tree_model_get(model, &iter,
+					STATUS_WINDOW_COLUMN_TITLE, &title, -1);
+			if (purple_savedstatus_find(title) == purple_savedstatus_get_current()) {
+				can_use = can_delete = FALSE;
+			}
+
+			g_free(title);
+		}
+
+		gtk_tree_path_free(tmp->data);
+	}
+
+	gtk_widget_set_sensitive(dialog->use_button, (num_selected == 1) && can_use);
 	gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0));
-	gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0));
+	gtk_widget_set_sensitive(dialog->delete_button, can_delete);
+
+    g_list_free(sel_paths);
 }
 
 static void
@@ -389,7 +418,7 @@
 static void
 populate_saved_status_list(StatusWindow *dialog)
 {
-	const GList *saved_statuses;
+	GList *saved_statuses;
 
 	gtk_list_store_clear(dialog->model);
 
@@ -421,6 +450,12 @@
 	status_window_modify_cb(NULL, dialog);
 }
 
+static void
+saved_status_updated_cb(PurpleSavedStatus *status, StatusWindow *sw)
+{
+	populate_saved_status_list(sw);
+}
+
 static GtkWidget *
 create_saved_status_list(StatusWindow *dialog)
 {
@@ -529,6 +564,13 @@
 	return FALSE;
 }
 
+static void
+current_status_changed(PurpleSavedStatus *old, PurpleSavedStatus *new_status,
+		StatusWindow *dialog)
+{
+	status_selected_cb(gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview)), dialog);
+}
+
 void
 pidgin_status_window_show(void)
 {
@@ -615,6 +657,20 @@
 	g_signal_connect(G_OBJECT(button), "clicked",
 					 G_CALLBACK(status_window_close_cb), dialog);
 
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-changed", dialog,
+			PURPLE_CALLBACK(current_status_changed), dialog);
+
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-added", dialog,
+			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-deleted", dialog,
+			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", dialog,
+			PURPLE_CALLBACK(saved_status_updated_cb), dialog);
+
 	gtk_widget_show_all(win);
 }
 
@@ -804,8 +860,10 @@
 	gtk_widget_destroy(dialog->window);
 	g_free(dialog->original_title);
 
+/*
 	if (status_window != NULL)
 	  add_status_to_saved_status_list(status_window->model, saved_status);
+*/
 
 	/* If they clicked on "Save & Use" or "Use," then activate the status */
 	if (button != dialog->save_button)
@@ -1012,7 +1070,7 @@
 static void
 status_editor_populate_list(StatusEditor *dialog, PurpleSavedStatus *saved_status)
 {
-	const GList *iter;
+	GList *iter;
 	PurpleSavedStatusSub *substatus;
 
 	gtk_list_store_clear(dialog->model);
@@ -1393,7 +1451,7 @@
 	GtkTreeIter iter;
 	GtkCellRenderer *rend;
 	const char *status_id = NULL;
-	const GList *list;
+	GList *list;
 	gboolean select = FALSE;
 
 	g_return_if_fail(status_editor != NULL);
--- a/pidgin/gtksound.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtksound.c	Thu Jun 21 20:37:57 2007 +0000
@@ -370,12 +370,12 @@
 		break;
 	case GST_MESSAGE_ERROR:
 		gst_message_parse_error(msg, &err, NULL);
-		purple_debug_error("gstreamer", err->message);
+		purple_debug_error("gstreamer", "%s\n", err->message);
 		g_error_free(err);
 		break;
 	case GST_MESSAGE_WARNING:
 		gst_message_parse_warning(msg, &err, NULL);
-		purple_debug_warning("gstreamer", err->message);
+		purple_debug_warning("gstreamer", "%s\n", err->message);
 		g_error_free(err);
 		break;
 	default:
--- a/pidgin/gtkstatusbox.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkstatusbox.c	Thu Jun 21 20:37:57 2007 +0000
@@ -41,12 +41,14 @@
 
 #include <gdk/gdkkeysyms.h>
 
+#include "internal.h"
+
 #include "account.h"
 #include "buddyicon.h"
 #include "core.h"
-#include "internal.h"
 #include "imgstore.h"
 #include "network.h"
+#include "request.h"
 #include "savedstatuses.h"
 #include "status.h"
 #include "debug.h"
@@ -191,7 +193,7 @@
 static void
 update_to_reflect_account_status(PidginStatusBox *status_box, PurpleAccount *account, PurpleStatus *newstatus)
 {
-	const GList *l;
+	GList *l;
 	int status_no = -1;
 	const PurpleStatusType *statustype = NULL;
 	const char *message;
@@ -732,7 +734,7 @@
 static PurpleStatusType *
 find_status_type_by_index(const PurpleAccount *account, gint active)
 {
-	const GList *l = purple_account_get_status_types(account);
+	GList *l = purple_account_get_status_types(account);
 	gint i;
 
 	for (i = 0; l; l = l->next) {
@@ -941,7 +943,7 @@
 {
 	PurpleAccount *acct = NULL, *acct2;
 	GList *tmp, *tmp2, *active_accts = purple_accounts_get_all_active();
-	const GList *s, *s1, *s2;
+	GList *s, *s1, *s2;
 
 	for (tmp = active_accts; tmp; tmp = tmp->next) {
 		acct = tmp->data;
@@ -989,7 +991,7 @@
 add_account_statuses(PidginStatusBox *status_box, PurpleAccount *account)
 {
 	/* Per-account */
-	const GList *l;
+	GList *l;
 	GdkPixbuf *pixbuf;
 
 	for (l = purple_account_get_status_types(account); l != NULL; l = l->next)
@@ -1223,6 +1225,12 @@
 }
 
 static void
+saved_status_updated_cb(PurpleSavedStatus *status, PidginStatusBox *status_box)
+{
+	pidgin_status_box_regenerate(status_box);
+}
+
+static void
 spellcheck_prefs_cb(const char *name, PurplePrefType type,
 					gconstpointer value, gpointer data)
 {
@@ -1434,7 +1442,7 @@
 			}
 		}
 	} else {
-		const GList *accounts;
+		GList *accounts;
 		for (accounts = purple_accounts_get_all(); accounts != NULL; accounts = accounts->next) {
 			PurpleAccount *account = accounts->data;
 			PurplePlugin *plug = purple_find_prpl(purple_account_get_protocol_id(account));
@@ -1514,6 +1522,56 @@
 	pidgin_status_box_changed(status_box);
 }
 
+static void tree_view_delete_current_selection_cb(gpointer data)
+{
+	PurpleSavedStatus *saved;
+
+	saved = purple_savedstatus_find_by_creation_time(GPOINTER_TO_INT(data));
+	g_return_if_fail(saved != NULL);
+
+	if (purple_savedstatus_get_current() != saved)
+		purple_savedstatus_delete_by_status(saved);
+}
+
+static void
+tree_view_delete_current_selection(PidginStatusBox *status_box, GtkTreePath *path)
+{
+	GtkTreeIter iter;
+	gpointer data;
+	PurpleSavedStatus *saved;
+	gchar *msg;
+
+	if (status_box->active_row) {
+		/* don't delete active status */
+		if (gtk_tree_path_compare(path, gtk_tree_row_reference_get_path(status_box->active_row)) == 0)
+			return;
+	}
+
+	if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path))
+		return;
+
+	gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter,
+			   DATA_COLUMN, &data,
+			   -1);
+
+	saved = purple_savedstatus_find_by_creation_time(GPOINTER_TO_INT(data));
+	g_return_if_fail(saved != NULL);
+	if (saved == purple_savedstatus_get_current())
+		return;
+
+	msg = g_strdup_printf(_("Are you sure you want to delete %s?"), purple_savedstatus_get_title(saved));
+
+	purple_request_action(saved, NULL, msg, NULL, 0,
+		NULL, NULL, NULL,
+		data, 2,
+		_("Delete"), tree_view_delete_current_selection_cb,
+		_("Cancel"), NULL);
+
+	g_free(msg);
+
+	pidgin_status_box_popdown(status_box);
+}
+
 static gboolean
 treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box)
 {
@@ -1561,18 +1619,25 @@
 		if (event->keyval == GDK_Escape) {
 			pidgin_status_box_popdown(box);
 			return TRUE;
-		} else if (event->keyval == GDK_Return) {
+		} else {
 			GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(box->tree_view));
 			GtkTreeIter iter;
 			GtkTreePath *path;
 
 			if (gtk_tree_selection_get_selected(sel, NULL, &iter)) {
+				gboolean ret = TRUE;
 				path = gtk_tree_model_get_path(GTK_TREE_MODEL(box->dropdown_store), &iter);
-				treeview_activate_current_selection(box, path);
+				if (event->keyval == GDK_Return) {
+					treeview_activate_current_selection(box, path);
+				} else if (event->keyval == GDK_Delete) {
+					tree_view_delete_current_selection(box, path);
+				} else
+					ret = FALSE;
+
 				gtk_tree_path_free (path);
-				return TRUE;
+				return ret;
 			}
-		}
+		} 
 	}
 	return FALSE;
 }
@@ -1742,6 +1807,15 @@
 						status_box,
 						PURPLE_CALLBACK(current_savedstatus_changed_cb),
 						status_box);
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-added", status_box,
+			PURPLE_CALLBACK(saved_status_updated_cb), status_box);
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-deleted", status_box,
+			PURPLE_CALLBACK(saved_status_updated_cb), status_box);
+	purple_signal_connect(purple_savedstatuses_get_handle(),
+			"savedstatus-modified", status_box,
+			PURPLE_CALLBACK(saved_status_updated_cb), status_box);
 	purple_signal_connect(purple_accounts_get_handle(), "account-enabled", status_box,
 						PURPLE_CALLBACK(account_enabled_cb),
 						status_box);
@@ -2223,7 +2297,7 @@
 		{
 			/* Manually find the appropriate transient acct */
 			if (status_box->token_status_account) {
-				const GList *iter = purple_savedstatuses_get_all();
+				GList *iter = purple_savedstatuses_get_all();
 				GList *tmp, *active_accts = purple_accounts_get_all_active();
 
 				for (; iter != NULL; iter = iter->next) {
--- a/pidgin/gtkthemes.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkthemes.c	Thu Jun 21 20:37:57 2007 +0000
@@ -237,7 +237,7 @@
 	}
 
 	if (load) {
-		const GList *cnv;
+		GList *cnv;
 
 		if (current_smiley_theme)
 			pidgin_themes_destroy_smiley_theme(current_smiley_theme);
--- a/pidgin/gtkutils.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkutils.c	Thu Jun 21 20:37:57 2007 +0000
@@ -525,7 +525,7 @@
 {
 	PurplePluginProtocolInfo *prpl_info;
 	const char *protoname = NULL;
-	char buf[MAXPATHLEN];
+	char *tmp;
 	char *filename = NULL;
 	GdkPixbuf *pixbuf;
 
@@ -541,12 +541,14 @@
 	 * Status icons will be themeable too, and then it will look up
 	 * protoname from the theme
 	 */
-	g_snprintf(buf, sizeof(buf), "%s.png", protoname);
+	tmp = g_strconcat(protoname, ".png", NULL);
 
 	filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols",
 				    size == PIDGIN_PRPL_ICON_SMALL ? "16" :
 				    size == PIDGIN_PRPL_ICON_MEDIUM ? "22" : "48",
-				    buf, NULL);
+				    tmp, NULL);
+	g_free(tmp);
+
 	pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
 	g_free(filename);
 
@@ -687,8 +689,8 @@
 	AopMenu *aop_menu = NULL;
 	PurpleAccount *account;
 	GdkPixbuf *pixbuf = NULL;
-	const GList *list;
-	const GList *p;
+	GList *list;
+	GList *p;
 	GtkSizeGroup *sg;
 	int i;
 	char buf[256];
@@ -911,15 +913,44 @@
 	g_free(filename);
 }
 
-void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name)
+static void
+show_retrieveing_info(PurpleConnection *conn, const char *name)
 {
 	PurpleNotifyUserInfo *info = purple_notify_user_info_new();
 	purple_notify_user_info_add_pair(info, _("Information"), _("Retrieving..."));
 	purple_notify_userinfo(conn, name, info, NULL, NULL);
 	purple_notify_user_info_destroy(info);
+}
+
+void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name)
+{
+	show_retrieveing_info(conn, name);
 	serv_get_info(conn, name);
 }
 
+void pidgin_retrieve_user_info_in_chat(PurpleConnection *conn, const char *name, int chat)
+{
+	char *who = NULL;
+	PurplePluginProtocolInfo *prpl_info = NULL;
+
+	if (chat < 0) {
+		pidgin_retrieve_user_info(conn, name);
+		return;
+	}
+
+	prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(conn->prpl);
+	if (prpl_info == NULL || prpl_info->get_cb_info == NULL) {
+		pidgin_retrieve_user_info(conn, name);
+		return;
+	}
+
+	if (prpl_info->get_cb_real_name)
+		who = prpl_info->get_cb_real_name(conn, chat, name);
+	show_retrieveing_info(conn, who ? who : name);
+	prpl_info->get_cb_info(conn, chat, name);
+	g_free(who);
+}
+
 gboolean
 pidgin_parse_x_im_contact(const char *msg, gboolean all_accounts,
 							PurpleAccount **ret_account, char **ret_protocol,
@@ -995,9 +1026,9 @@
 		/* Check for a compatible account. */
 		if (ret_account != NULL)
 		{
-			const GList *list;
+			GList *list;
 			PurpleAccount *account = NULL;
-			const GList *l;
+			GList *l;
 			const char *protoname;
 
 			if (all_accounts)
@@ -1139,14 +1170,14 @@
 	g_object_unref (relation);
 }
 
-#if GTK_CHECK_VERSION(2,2,0)
-static void
-pidgin_menu_position_func(GtkMenu *menu,
+void
+pidgin_menu_position_func_helper(GtkMenu *menu,
 							gint *x,
 							gint *y,
 							gboolean *push_in,
 							gpointer data)
 {
+#if GTK_CHECK_VERSION(2,2,0)
 	GtkWidget *widget;
 	GtkRequisition requisition;
 	GdkScreen *screen;
@@ -1287,9 +1318,9 @@
 	{
 		*y = monitor.y;
 	}
+#endif
 }
 
-#endif
 
 void
 pidgin_treeview_popup_menu_position_func(GtkMenu *menu,
@@ -1311,9 +1342,7 @@
 
 	*x += rect.x+rect.width;
 	*y += rect.y+rect.height+ythickness;
-#if GTK_CHECK_VERSION(2,2,0)
-	pidgin_menu_position_func (menu, x, y, push_in, data);
-#endif
+	pidgin_menu_position_func_helper(menu, x, y, push_in, data);
 }
 
 enum {
@@ -2049,6 +2078,7 @@
 static void
 screenname_autocomplete_destroyed_cb(GtkWidget *widget, gpointer data)
 {
+	g_free(data);
 	purple_signals_disconnect_by_handle(widget);
 }
 
@@ -2130,7 +2160,7 @@
 	purple_signal_connect(purple_accounts_get_handle(), "account-removed", entry,
 						PURPLE_CALLBACK(repopulate_autocomplete), cb_data);
 
-	g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), NULL);
+	g_signal_connect(G_OBJECT(entry), "destroy", G_CALLBACK(screenname_autocomplete_destroyed_cb), data);
 }
 
 void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type)
@@ -3065,6 +3095,65 @@
         return TRUE;
 }
 
+void pidgin_gdk_pixbuf_make_round(GdkPixbuf *pixbuf) {
+	int width, height, rowstride;
+        guchar *pixels;
+        if (!gdk_pixbuf_get_has_alpha(pixbuf))
+                return;
+        width = gdk_pixbuf_get_width(pixbuf);
+        height = gdk_pixbuf_get_height(pixbuf);
+        rowstride = gdk_pixbuf_get_rowstride(pixbuf);
+        pixels = gdk_pixbuf_get_pixels(pixbuf);
+
+        if (width < 6 || height < 6)
+                return;
+        /* Top left */
+        pixels[3] = 0;
+        pixels[7] = 0x80;
+        pixels[11] = 0xC0;
+        pixels[rowstride + 3] = 0x80;
+        pixels[rowstride * 2 + 3] = 0xC0;
+
+        /* Top right */
+        pixels[width * 4 - 1] = 0;
+        pixels[width * 4 - 5] = 0x80;
+        pixels[width * 4 - 9] = 0xC0;
+        pixels[rowstride + (width * 4) - 1] = 0x80;
+        pixels[(2 * rowstride) + (width * 4) - 1] = 0xC0;
+
+        /* Bottom left */
+        pixels[(height - 1) * rowstride + 3] = 0;
+        pixels[(height - 1) * rowstride + 7] = 0x80;
+        pixels[(height - 1) * rowstride + 11] = 0xC0;
+        pixels[(height - 2) * rowstride + 3] = 0x80;
+        pixels[(height - 3) * rowstride + 3] = 0xC0;
+
+        /* Bottom right */
+        pixels[height * rowstride - 1] = 0;
+        pixels[(height - 1) * rowstride - 1] = 0x80;
+        pixels[(height - 2) * rowstride - 1] = 0xC0;
+        pixels[height * rowstride - 5] = 0x80;
+        pixels[height * rowstride - 9] = 0xC0;
+}
+
+const char *pidgin_get_dim_grey_string(GtkWidget *widget) {
+	static char dim_grey_string[8] = "";
+	GtkStyle *style;
+
+	if (!widget)
+		return "dim grey";
+
+ 	style = gtk_widget_get_style(widget);
+	if (!style)
+		return "dim grey";
+	
+	snprintf(dim_grey_string, sizeof(dim_grey_string), "#%02x%02x%02x",
+	style->text_aa[GTK_STATE_NORMAL].red >> 8,
+	style->text_aa[GTK_STATE_NORMAL].green >> 8,
+	style->text_aa[GTK_STATE_NORMAL].blue >> 8);
+	return dim_grey_string;
+}
+
 #if !GTK_CHECK_VERSION(2,2,0)
 GtkTreePath *
 gtk_tree_path_new_from_indices (gint first_index, ...)
@@ -3089,3 +3178,4 @@
 	return path;
 }
 #endif
+
--- a/pidgin/gtkutils.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/gtkutils.h	Thu Jun 21 20:37:57 2007 +0000
@@ -329,6 +329,15 @@
 void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name);
 
 /**
+ * Get information about a user in a chat. Show immediate feedback.
+ *
+ * @param conn   The connection to get information from.
+ * @param name   The user to get information about.
+ * @param chatid The chat id.
+ */
+void pidgin_retrieve_user_info_in_chat(PurpleConnection *conn, const char *name, int chatid);
+
+/**
  * Parses an application/x-im-contact MIME message and returns the
  * data inside.
  *
@@ -359,6 +368,21 @@
 void pidgin_set_accessible_label(GtkWidget *w, GtkWidget *l);
 
 /**
+ * A helper function for GtkMenuPositionFuncs. This ensures the menu will
+ * be kept on screen if possible.
+ *
+ * @param menu The menu we are positioning.
+ * @param x Address of the gint representing the horizontal position
+ *        where the menu shall be drawn. This is an output parameter.
+ * @param y Address of the gint representing the vertical position
+ *        where the menu shall be drawn. This is an output parameter.
+ * @param push_in This is an output parameter?
+ * @param user_data Not used by this particular position function.
+ */
+void pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y,
+										gboolean *push_in, gpointer data);
+
+/**
  * A valid GtkMenuPositionFunc.  This is used to determine where 
  * to draw context menu's when the menu is activated with the 
  * keyboard (shift+F10).  If the menu is activated with the mouse, 
@@ -550,6 +574,22 @@
  */
 gboolean pidgin_gdk_pixbuf_is_opaque(GdkPixbuf *pixbuf);
 
+/**
+ * Rounds the corners of a 32x32 GdkPixbuf in place
+ *
+ * @param pixbuf  The buddy icon to transform
+ */
+void pidgin_gdk_pixbuf_make_round(GdkPixbuf *pixbuf);
+
+/**
+ * Returns an HTML-style color string for use as a dim grey
+ * string
+ *
+ * @param widget  The widget to return dim grey for
+ * @return The dim grey string
+ */
+const char *pidgin_get_dim_grey_string(GtkWidget *widget);
+
 #if !GTK_CHECK_VERSION(2,2,0)
 /**
  * This is copied from Gtk to support Gtk 2.0
--- a/pidgin/pidginstock.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pidginstock.c	Thu Jun 21 20:37:57 2007 +0000
@@ -105,7 +105,7 @@
 	{ PIDGIN_STOCK_STATUS_AWAY, 	   "status", "away.png",	TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I },
 	{ PIDGIN_STOCK_STATUS_BUSY, 	"status", "busy.png", 		TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I },
 	{ PIDGIN_STOCK_STATUS_CHAT, 	"status", "chat.png",		TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
-	{ PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png",	TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
+	{ PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png",	TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
 	{ PIDGIN_STOCK_STATUS_XA, 	"status", "extended-away.png",	TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I },
 	{ PIDGIN_STOCK_STATUS_LOGIN, 	"status", "log-in.png",		TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
 	{ PIDGIN_STOCK_STATUS_LOGOUT, 	"status", "log-out.png",	TRUE, TRUE, TRUE, TRUE, FALSE, FALSE , NULL },
@@ -162,14 +162,17 @@
 	{ PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
 	{ PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL  },
 
-	{ PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  },
-	{ PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-message.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL  }
+	{ PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  },
+	{ PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  }
+/* Uncomment me after 2.0.2!
+ *	{ PIDGIN_STOCK_TRAY_EMAIL, "tray", "tray-message.png", TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL  }
+ */
 };
 
 static gchar *
--- a/pidgin/pidginstock.h	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pidginstock.h	Thu Jun 21 20:37:57 2007 +0000
@@ -137,6 +137,9 @@
 #define PIDGIN_STOCK_TRAY_OFFLINE         "pidgin-tray-offline"
 #define PIDGIN_STOCK_TRAY_CONNECT         "pidgin-tray-connect"
 #define PIDGIN_STOCK_TRAY_PENDING         "pidgin-tray-pending"
+/* Uncomment me after 2.0.2! 
+ * #define PIDGIN_STOCK_TRAY_EMAIL		  "pidgin-tray-email"
+ */
 
 
 /*@}*/
Binary file pidgin/pixmaps/icons/16/pidgin.png has changed
--- a/pidgin/pixmaps/icons/16/scalable/pidgin.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/icons/16/scalable/pidgin.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,7 +14,7 @@
    id="svg4345"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop/icons/16/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/16/scalable"
    sodipodi:docname="pidgin.svg"
    inkscape:export-filename="/home/hbons/Desktop/pidgin16.png"
    inkscape:export-xdpi="90"
@@ -24,6 +24,54 @@
      id="defs4347">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient3157">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3159" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3161" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3149">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop3151" />
+      <stop
+         style="stop-color:#3b1941;stop-opacity:0;"
+         offset="1"
+         id="stop3153" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3141">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop3143" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop3145" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3128">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3130" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3132" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient5438">
       <stop
          style="stop-color:white;stop-opacity:1;"
@@ -72,18 +120,6 @@
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient5304">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop5306" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop5308" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
        id="linearGradient5280">
       <stop
          style="stop-color:#82508e;stop-opacity:1;"
@@ -178,24 +214,6 @@
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient5304"
-       id="linearGradient5310"
-       x1="12.606371"
-       y1="15.069461"
-       x2="12.606371"
-       y2="21.152372"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6506"
-       id="linearGradient6512"
-       x1="15.645709"
-       y1="39.743458"
-       x2="15.645709"
-       y2="53.502155"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#linearGradient6537"
        id="linearGradient6543"
        x1="30.5"
@@ -211,7 +229,8 @@
        y1="38.950283"
        x2="5.7089725"
        y2="42.982571"
-       gradientUnits="userSpaceOnUse" />
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.63556,0,0,0.371995,11.16667,-5.489292)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient5438"
@@ -221,6 +240,421 @@
        x2="30.152058"
        y2="23.011967"
        gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3976">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop3978" />
+      <stop
+         style="stop-color:#3b1941;stop-opacity:0;"
+         offset="1"
+         id="stop3980" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3968">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop3970" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop3972" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3958">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3960" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3962" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2850">
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:1;"
+         offset="0"
+         id="stop2852" />
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:0;"
+         offset="1"
+         id="stop2854" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6563">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop6565" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop6567" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2110">
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="0"
+         id="stop2112" />
+      <stop
+         id="stop2114"
+         offset="0.5"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop2067" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient25546"
+       id="radialGradient2069"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       cx="7.8836637"
+       cy="1.5104795"
+       fx="7.8836637"
+       fy="1.5104795"
+       r="8.4883642" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient25546"
+       id="radialGradient2071"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       cx="7.8836741"
+       cy="0.14505707"
+       fx="7.8836741"
+       fy="0.14505707"
+       r="8.4883642" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient25546"
+       id="radialGradient2079"
+       cx="7.8836637"
+       cy="2.6242435"
+       fx="7.8836637"
+       fy="2.6242435"
+       r="8.4883642"
+       gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2081">
+      <stop
+         style="stop-color:#f4d9b1;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop2104" />
+      <stop
+         style="stop-color:#df9725;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop2085" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6506"
+       id="linearGradient2101"
+       x1="15.645709"
+       y1="39.743458"
+       x2="14.943421"
+       y2="50.079575"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6537"
+       id="linearGradient2089"
+       x1="30.5"
+       y1="0.033532728"
+       x2="30.5"
+       y2="23.559282"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6563"
+       id="linearGradient6569"
+       x1="-1.6841649"
+       y1="39.902092"
+       x2="5.5366187"
+       y2="44.272076"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="23.011967"
+       x2="30.152058"
+       y1="-0.86487341"
+       x1="30.152058"
+       id="linearGradient2097"
+       xlink:href="#linearGradient5438"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="42.982571"
+       x2="5.7089725"
+       y1="38.950283"
+       x1="0.23931108"
+       id="linearGradient2095"
+       xlink:href="#linearGradient6817"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="50.726673"
+       x2="15.645709"
+       y1="40.434063"
+       x1="15.645709"
+       id="linearGradient2093"
+       xlink:href="#linearGradient6506"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2087">
+      <stop
+         id="stop2089"
+         offset="0.0000000"
+         style="stop-color:#f4d9b1;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2091"
+         offset="1.0000000"
+         style="stop-color:#df9725;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)"
+       r="8.4883642"
+       fy="2.6242435"
+       fx="7.8836637"
+       cy="2.6242435"
+       cx="7.8836637"
+       id="radialGradient2085"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.4883642"
+       fy="0.14505707"
+       fx="7.8836741"
+       cy="0.14505707"
+       cx="7.8836741"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2077"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.4883642"
+       fy="1.5104795"
+       fx="7.8836637"
+       cy="1.5104795"
+       cx="7.8836637"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2075"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2067">
+      <stop
+         id="stop2069"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3108"
+       inkscape:collect="always">
+      <stop
+         id="stop3110"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3112"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3116"
+       inkscape:collect="always">
+      <stop
+         id="stop3118"
+         offset="0"
+         style="stop-color:#82508e;stop-opacity:1;" />
+      <stop
+         id="stop3120"
+         offset="1"
+         style="stop-color:#82508e;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3124"
+       inkscape:collect="always">
+      <stop
+         id="stop3126"
+         offset="0"
+         style="stop-color:#3b1941;stop-opacity:1;" />
+      <stop
+         id="stop3128"
+         offset="1"
+         style="stop-color:#3b1941;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient2187"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.769231,0,0,0.714287,47.76924,-9.285729)"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient2195"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.769231,0,0,0.714287,13.76923,-8.28573)"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3958"
+       id="radialGradient2209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.116159,0,0,1.076653,14.60502,-22.28695)"
+       cx="9.0640488"
+       cy="21.511742"
+       fx="9.0640488"
+       fy="21.511742"
+       r="16.663956" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6506"
+       id="linearGradient2211"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.660903,0,0,0.627207,18.73149,-12.3201)"
+       x1="15.645709"
+       y1="39.743458"
+       x2="15.645709"
+       y2="53.502155" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3968"
+       id="linearGradient2214"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67692,0,0,0.646801,18.46433,-12.90841)"
+       x1="16.13257"
+       y1="40.781811"
+       x2="16.13257"
+       y2="48.068741" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3976"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67692,0,0,0.646801,18.46433,-12.90841)"
+       x1="12.095973"
+       y1="40.907658"
+       x2="12.095973"
+       y2="46.463146" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6537"
+       id="linearGradient2219"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.668893,0,0,0.668627,18.08624,-12.19246)"
+       x1="30.5"
+       y1="0.033532728"
+       x2="30.5"
+       y2="23.559282" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3108"
+       id="linearGradient2229"
+       gradientUnits="userSpaceOnUse"
+       x1="10.18327"
+       y1="16.618088"
+       x2="27.598003"
+       y2="36.64465"
+       gradientTransform="matrix(0.660903,0,0,0.627207,49.74106,-7.361383)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6506"
+       id="linearGradient2231"
+       gradientUnits="userSpaceOnUse"
+       x1="15.645709"
+       y1="39.743458"
+       x2="15.645709"
+       y2="53.502155"
+       gradientTransform="matrix(0.660903,0,0,0.627207,49.74106,-7.361383)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3116"
+       id="linearGradient2234"
+       gradientUnits="userSpaceOnUse"
+       x1="15.722902"
+       y1="39.585075"
+       x2="15.722902"
+       y2="45.76453"
+       gradientTransform="matrix(0.67692,0,0,0.646801,49.4739,-7.949693)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3124"
+       id="linearGradient2236"
+       gradientUnits="userSpaceOnUse"
+       x1="13.150809"
+       y1="39.39394"
+       x2="13.150809"
+       y2="45.551888"
+       gradientTransform="matrix(0.67692,0,0,0.646801,49.4739,-7.949693)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3128"
+       id="linearGradient3134"
+       x1="8.0725698"
+       y1="17.765934"
+       x2="24.284664"
+       y2="37.578945"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3141"
+       id="linearGradient3147"
+       x1="12.353984"
+       y1="38.611191"
+       x2="12.353984"
+       y2="45.595356"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient3155"
+       x1="10.166225"
+       y1="38.766953"
+       x2="10.166225"
+       y2="45.595673"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3157"
+       id="linearGradient3163"
+       x1="11.982447"
+       y1="39.088425"
+       x2="11.982447"
+       y2="45.778931"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -229,17 +663,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="42.440064"
-     inkscape:cx="13.087113"
-     inkscape:cy="8.5298663"
+     inkscape:zoom="30.009658"
+     inkscape:cx="12.410351"
+     inkscape:cy="9.6914614"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1274"
-     inkscape:window-height="966"
-     inkscape:window-x="3"
-     inkscape:window-y="25"
+     inkscape:window-width="1434"
+     inkscape:window-height="840"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
      showguides="true"
      inkscape:guide-bbox="true"
      inkscape:grid-points="false"
@@ -268,7 +702,7 @@
        transform="matrix(1.148904,0,0,0.920169,-34.28919,-3.241212)"
        sodipodi:nodetypes="csccccc" />
     <path
-       style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:2.30209565;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:1;fill:url(#linearGradient3147);fill-opacity:1.0;stroke:url(#linearGradient3155);stroke-width:2.30209565;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 3,31.153143 2.9750563,38.402618 2.9750563,45.572826 C 4.1625449,45.572826 27.946366,45.600605 30.637365,45.600605 C 32.751492,45.600605 32.586331,43.541005 32.586331,43.541005 C 32.586331,40.875594 27.597902,38.639057 25.813453,36.682531 C 23.985035,34.68151 26,30.884078 26,30.884078 C 26.641306,29.354278 28.01889,26.891006 28.01889,25.115922 C 28.01889,18.215923 21.624002,13 15,13 z "
        id="path5176"
        sodipodi:nodetypes="ccccszcsc"
@@ -284,34 +718,17 @@
        ry="0.32910046"
        transform="matrix(1.147027,0,0,0.866113,-0.324314,2.386999)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5273"
-       sodipodi:cx="15.004828"
-       sodipodi:cy="39.80859"
-       sodipodi:rx="9.7225161"
-       sodipodi:ry="7.119638"
-       d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1  5.2823124,39.80859 A 9.7225161 7.119638 0 1 1  24.727345 39.80859 z"
-       transform="matrix(0.434788,0,0,0.500648,-1.130366,-6.547801)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -42.833794,49.038847 C -42.833794,49.038847 -42.815855,44.709724 -42.815855,37.951005 C -42.815855,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -41.348464,49.038847 -42.833794,49.038847 z "
-       id="rect5312"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(0.446908,0,0,0.358425,20.14277,-2.602607)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -49.441852,47.4154 C -47.112614,42.001764 -42.19329,43.469796 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z "
-       id="path5317"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(-0.376289,0,0,0.381853,-5.604413,-3.491724)" />
-    <path
        transform="matrix(0.399589,0,0,0.393554,-5.973603e-2,-3.038964)"
-       style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:2.5216887;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:0.5;fill:url(#linearGradient3134);fill-opacity:1.0;stroke:url(#linearGradient3163);stroke-width:2.5216887;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0617033,25.489349 4.0625,25.5 C 4.0625,32.787473 3.9033639,38.26012 3.9033639,44.499878 C 5.8399452,44.499878 24.86993,44.470084 30.695903,44.470084 C 29.746978,42.549359 26.273076,40.711023 23.972608,38.78763 C 23.362603,37.973536 23.023697,35.459892 22.969233,34.418473 C 23.611113,31.359155 25.129532,28.401757 26.527172,25.440129 C 26.527172,19.094533 21.022436,14.0625 15,14.0625 z "
        id="path5241"
        sodipodi:nodetypes="csccccccc" />
     <path
+       style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 6,7.2175674 C 6,8.8735678 4.5070272,10 3.4999996,10 C 2.1199999,10 1,8.6559998 1,6.9999995 C 1,5.5609093 1.7677476,4 3.1477475,4 C 4.5277481,4 6,5.9092686 6,7.2175674 z "
+       id="path3137"
+       sodipodi:nodetypes="csssc" />
+    <path
        transform="matrix(0.626764,0,0,0.689441,-3.309086,-9.833164)"
        style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
        d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
@@ -326,7 +743,12 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805756,0,0,0.772414,-5.19425,-11.77932)" />
+       transform="matrix(1.208634,0,0,1.158623,-8.791372,-20.66902)" />
+    <path
+       style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 11.387086,4.6790601 C 10.509745,3.6558267 9.0824486,3.9284339 8.5222543,4.5817815 C 7.7545814,5.4771092 7.8435868,7.0342022 8.7209273,8.0574357 C 9.4833498,8.9466415 10.737398,9.413013 11.505071,8.5176851 C 12.272744,7.6223568 12.080215,5.4874505 11.387086,4.6790601 z "
+       id="path3139"
+       sodipodi:nodetypes="csssc" />
     <path
        transform="matrix(0.29055,-0.412361,-0.273947,-0.388798,13.58792,20.45445)"
        style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
@@ -342,30 +764,21 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805755,0,0,0.772417,0.805755,-11.77938)" />
+       transform="matrix(1.208633,0,0,1.158626,-2.791363,-20.66909)" />
     <path
-       transform="matrix(0.63556,0,0,0.371992,4.635114,-6.489142)"
-       style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="rect5187"
-       sodipodi:nodetypes="ccczc" />
-    <path
-       transform="matrix(0.743268,0,0,0.267357,-7.659906,-1.671861)"
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 11.651119,11.193815 C 13.577759,8.2509126 16.249277,11.481501 17.614226,12.804399 L 14.761306,13.747613 L 11.651119,11.193815 z "
+       d="M -3.174544e-16,1.7837407 C 0.49897694,0.43045085 3.4176637,1.3941391 4.4321866,1.7478251 L 2.7448964,2 L -3.174544e-16,1.7837407 z "
        id="path5192"
        sodipodi:nodetypes="cccc" />
     <path
-       transform="matrix(0.686065,0,0,0.46633,-5.019573,-4.365629)"
-       style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 11.689238,9.8218679 C 13.591296,8.0161941 17.174576,11.994261 17.519594,13.650486 L 14.543472,12.891665 L 11.689238,9.8218679 z "
-       id="rect5189"
-       sodipodi:nodetypes="cccc" />
+       style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 4,8.9694498 C 6.5363255,9.6796143 7.1434322,8 7.6676187,8 C 8.1845929,8 8.1150542,9.7216455 10.752536,9.1373864 C 10.257681,9.8617678 8.7366795,11 8.0954601,11 C 7.4470215,11 4.8041406,10.039472 4,8.9694498 z "
+       id="path3987"
+       sodipodi:nodetypes="czczc" />
     <path
-       transform="matrix(0.63556,0,0,0.371995,4.635112,-6.489295)"
-       style="fill:url(#linearGradient6823);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="path6815"
-       sodipodi:nodetypes="ccczc" />
+       style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 2.5678134,0.78213791 C 3.0667903,-0.57115198 7,-0.11652293 7,1.7459005 L 5.3127098,0.99839721 L 2.5678134,0.78213791 z "
+       id="path1991"
+       sodipodi:nodetypes="cccc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/icons/24/pidgin.png has changed
--- a/pidgin/pixmaps/icons/24/scalable/pidgin.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/icons/24/scalable/pidgin.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,9 +14,9 @@
    id="svg4345"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop/icons/24/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/24/scalable"
    sodipodi:docname="pidgin.svg"
-   inkscape:export-filename="/home/hbons/Desktop/pidgin24-2.png"
+   inkscape:export-filename="/home/hbons/Desktop/pidgin24.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
    version="1.0">
@@ -24,6 +24,42 @@
      id="defs4347">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient3124">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop3126" />
+      <stop
+         style="stop-color:#3b1941;stop-opacity:0;"
+         offset="1"
+         id="stop3128" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3116">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop3118" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop3120" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3108">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3110" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3112" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient5438">
       <stop
          style="stop-color:white;stop-opacity:1;"
@@ -71,30 +107,6 @@
          id="stop6510" />
     </linearGradient>
     <linearGradient
-       inkscape:collect="always"
-       id="linearGradient5304">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop5306" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop5308" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient5280">
-      <stop
-         style="stop-color:#82508e;stop-opacity:1;"
-         offset="0"
-         id="stop5282" />
-      <stop
-         style="stop-color:#82508e;stop-opacity:0;"
-         offset="1"
-         id="stop5284" />
-    </linearGradient>
-    <linearGradient
        id="linearGradient2804">
       <stop
          style="stop-color:black;stop-opacity:0;"
@@ -165,43 +177,14 @@
          offset="1.0000000"
          id="stop3804" />
     </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5280"
-       id="radialGradient5286"
-       cx="15.004828"
-       cy="39.80859"
-       fx="15.004828"
-       fy="39.80859"
-       r="9.7225161"
-       gradientTransform="matrix(1,0,0,0.732283,0,10.65742)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5304"
-       id="linearGradient5310"
-       x1="12.606371"
-       y1="15.069461"
-       x2="12.606371"
-       y2="21.152372"
-       gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient6506"
        id="linearGradient6512"
        x1="15.645709"
-       y1="39.743458"
+       y1="40.434063"
        x2="15.645709"
-       y2="53.502155"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6537"
-       id="linearGradient6543"
-       x1="30.5"
-       y1="0.033532728"
-       x2="30.5"
-       y2="23.559282"
+       y2="43.693668"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
@@ -221,6 +204,250 @@
        x2="30.152058"
        y2="23.011967"
        gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="44.272076"
+       x2="5.5366187"
+       y1="39.902092"
+       x1="-1.6841649"
+       id="linearGradient6569"
+       xlink:href="#linearGradient6563"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="23.559282"
+       x2="30.5"
+       y1="0.033532728"
+       x1="30.5"
+       id="linearGradient2089"
+       xlink:href="#linearGradient6537"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="50.079575"
+       x2="14.943421"
+       y1="39.743458"
+       x1="15.645709"
+       id="linearGradient2087"
+       xlink:href="#linearGradient6506"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2081">
+      <stop
+         id="stop2083"
+         offset="0.0000000"
+         style="stop-color:#f4d9b1;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2085"
+         offset="1.0000000"
+         style="stop-color:#df9725;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)"
+       r="8.4883642"
+       fy="2.6242435"
+       fx="7.8836637"
+       cy="2.6242435"
+       cx="7.8836637"
+       id="radialGradient2079"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.4883642"
+       fy="0.14505707"
+       fx="7.8836741"
+       cy="0.14505707"
+       cx="7.8836741"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2071"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.4883642"
+       fy="1.5104795"
+       fx="7.8836637"
+       cy="1.5104795"
+       cx="7.8836637"
+       gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2069"
+       xlink:href="#linearGradient25546"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2061">
+      <stop
+         id="stop2063"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop2065" />
+      <stop
+         id="stop2067"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6563"
+       inkscape:collect="always">
+      <stop
+         id="stop6565"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop6567"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2850"
+       inkscape:collect="always">
+      <stop
+         id="stop2852"
+         offset="0"
+         style="stop-color:#ce5c00;stop-opacity:1;" />
+      <stop
+         id="stop2854"
+         offset="1"
+         style="stop-color:#ce5c00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3958"
+       inkscape:collect="always">
+      <stop
+         id="stop3960"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3962"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3968"
+       inkscape:collect="always">
+      <stop
+         id="stop3970"
+         offset="0"
+         style="stop-color:#82508e;stop-opacity:1;" />
+      <stop
+         id="stop3972"
+         offset="1"
+         style="stop-color:#82508e;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3976"
+       inkscape:collect="always">
+      <stop
+         id="stop3978"
+         offset="0"
+         style="stop-color:#3b1941;stop-opacity:1;" />
+      <stop
+         id="stop3980"
+         offset="1"
+         style="stop-color:#3b1941;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient2149"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.769231,0,0,0.714287,-34.23081,-12.28573)"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3958"
+       id="radialGradient2191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.116159,0,0,1.076653,-36.39499,-20.28695)"
+       cx="9.0640488"
+       cy="21.511742"
+       fx="9.0640488"
+       fy="21.511742"
+       r="16.663956" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6506"
+       id="linearGradient2193"
+       gradientUnits="userSpaceOnUse"
+       x1="15.645709"
+       y1="39.743458"
+       x2="15.645709"
+       y2="53.502155"
+       gradientTransform="matrix(0.660903,0,0,0.627207,-32.26852,-10.3201)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3968"
+       id="linearGradient2196"
+       gradientUnits="userSpaceOnUse"
+       x1="16.13257"
+       y1="40.781811"
+       x2="16.13257"
+       y2="48.068741"
+       gradientTransform="matrix(0.67692,0,0,0.646801,-32.53568,-10.90841)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3976"
+       id="linearGradient2198"
+       gradientUnits="userSpaceOnUse"
+       x1="12.095973"
+       y1="40.907658"
+       x2="12.095973"
+       y2="46.463146"
+       gradientTransform="matrix(0.67692,0,0,0.646801,-32.53568,-10.90841)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6537"
+       id="linearGradient2201"
+       gradientUnits="userSpaceOnUse"
+       x1="30.5"
+       y1="0.033532728"
+       x2="30.5"
+       y2="23.559282"
+       gradientTransform="matrix(0.668893,0,0,0.668627,-32.91377,-10.19246)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3108"
+       id="linearGradient3114"
+       x1="10.18327"
+       y1="16.618088"
+       x2="27.598003"
+       y2="36.64465"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3116"
+       id="linearGradient3122"
+       x1="15.722902"
+       y1="39.585075"
+       x2="15.722902"
+       y2="45.76453"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3124"
+       id="linearGradient3130"
+       x1="13.150809"
+       y1="39.39394"
+       x2="13.150809"
+       y2="45.551888"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient3146"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.769231,0,0,0.714287,-3.230767,-7.285729)"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -229,17 +456,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="26.124924"
-     inkscape:cx="19.621039"
-     inkscape:cy="12.735051"
+     inkscape:zoom="16.081777"
+     inkscape:cx="21.855503"
+     inkscape:cy="14.873812"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1274"
-     inkscape:window-height="966"
-     inkscape:window-x="3"
-     inkscape:window-y="25"
+     inkscape:window-width="1434"
+     inkscape:window-height="840"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
      showguides="true"
      inkscape:guide-bbox="true"
      inkscape:grid-points="false"
@@ -282,44 +509,21 @@
        transform="matrix(1.747787,0,0,1.397993,-52.41719,-5.183942)"
        sodipodi:nodetypes="csccccc" />
     <path
-       style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:1;fill:url(#linearGradient3122);fill-opacity:1.0;stroke:url(#linearGradient3130);stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 3,31.153143 2.9750563,38.402618 2.9750563,45.572826 C 4.1625449,45.572826 27.946366,45.600605 30.637365,45.600605 C 32.751492,45.600605 32.586331,43.541005 32.586331,43.541005 C 32.586331,40.875594 27.597902,38.639057 25.813453,36.682531 C 23.985035,34.68151 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z "
        id="path5176"
        sodipodi:nodetypes="ccccszcsc"
        transform="matrix(0.67692,0,0,0.646801,-1.52611,-5.949693)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5273"
-       sodipodi:cx="15.004828"
-       sodipodi:cy="39.80859"
-       sodipodi:rx="9.7225161"
-       sodipodi:ry="7.119638"
-       d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1  5.2823124,39.80859 A 9.7225161 7.119638 0 1 1  24.727345 39.80859 z"
-       transform="matrix(0.661428,0,0,0.760624,-1.973841,-10.20757)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -42.833794,49.038847 C -42.833794,49.038847 -42.815855,44.709724 -42.815855,37.951005 C -42.815855,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -41.348464,49.038847 -42.833794,49.038847 z "
-       id="rect5312"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(0.799568,0,0,0.627241,35.24855,-7.804428)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z "
-       id="path5317"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(-0.602064,0,0,0.572779,-9.767144,-4.737575)" />
-    <path
        transform="matrix(0.660903,0,0,0.627207,-1.258953,-5.361383)"
-       style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.55319395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="opacity:0.5;fill:url(#linearGradient3114);fill-opacity:1.0;stroke:url(#linearGradient6512);stroke-width:1.55319395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
        d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0617033,25.489349 4.0625,25.5 C 4.0625,32.787473 3.9033639,38.26012 3.9033639,44.499878 C 5.8399452,44.499878 22.452275,44.470084 28.278248,44.470084 C 29.445455,44.470084 31.431654,44.974157 31.431654,43.509594 C 31.431654,43.287851 31.231903,42.870917 30.681654,42.353344 C 30.131405,41.835771 29.308414,41.280003 28.400404,40.728344 C 26.665321,39.858723 25.411769,39.090553 24.621247,37.290844 C 24.011242,36.47675 23.731303,35.519763 23.676839,34.478344 C 23.622375,33.436925 24.107721,32.319635 24.224561,31.259594 C 24.458241,29.139511 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z "
        id="path5241"
        sodipodi:nodetypes="cscccssccsscssc" />
     <path
-       transform="matrix(-0.861857,-0.809791,0.812609,-0.76352,-5.667036,37.33378)"
-       style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
-       id="path5160"
+       style="fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.072604,7.0864988 C 4.607952,5.4493238 7.105721,5.8854918 8.086061,6.9308478 C 9.4294869,8.3633698 9.273726,10.85472 7.738379,12.491894 C 6.404137,13.914624 4.209552,14.660821 2.866124,13.228299 C 1.522696,11.795776 1.859625,8.3799248 3.072604,7.0864988 z "
+       id="path3138"
        sodipodi:nodetypes="csssc" />
     <path
        transform="matrix(1.010846,0,0,1.029732,-5.552971,-15.17001)"
@@ -336,45 +540,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805757,0,0,0.772415,-3.184731,-8.820615)" />
-    <path
-       transform="matrix(0.596326,-0.813274,-0.562251,-0.766804,22.42583,37.43862)"
-       style="opacity:1;fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
-       id="path5167"
-       sodipodi:nodetypes="csssc" />
-    <path
-       transform="matrix(0.447398,-0.672135,-0.421833,-0.633728,21.07418,32.19024)"
-       style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
-       id="path5169"
-       sodipodi:nodetypes="csssc" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5171"
-       sodipodi:cx="10.169642"
-       sodipodi:cy="24.3125"
-       sodipodi:rx="1.2410715"
-       sodipodi:ry="1.2946428"
-       d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805756,0,0,0.784291,6.815275,-9.124735)" />
-    <rect
-       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect5215"
-       width="5.6071429"
-       height="2.1785715"
-       x="16"
-       y="27"
-       transform="matrix(0.724348,0,0,0.459012,-2.641559,0.565398)"
-       rx="0.87366539"
-       ry="1.0892857" />
-    <path
-       transform="matrix(0.798987,0,0,0.495994,7.007995,-6.360384)"
-       style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="rect5187"
-       sodipodi:nodetypes="ccczc" />
+       transform="matrix(1.208633,0,0,1.158621,-6.791366,-17.66897)" />
     <path
        transform="matrix(0.670792,0,0,0.486348,-3.805943,-3.90166)"
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
@@ -387,11 +553,53 @@
        d="M 11.689238,9.8218679 C 13.591296,8.0161941 17.174576,11.994261 17.519594,13.650486 L 14.543472,12.891665 L 11.689238,9.8218679 z "
        id="rect5189"
        sodipodi:nodetypes="cccc" />
+    <rect
+       style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3034"
+       width="36.000004"
+       height="2.9999979"
+       x="-84.444725"
+       y="32.42485"
+       rx="2.0412357"
+       ry="1.4999989" />
     <path
-       transform="matrix(0.798987,0,0,0.495994,7.007995,-6.360384)"
-       style="fill:url(#linearGradient6823);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="path6815"
-       sodipodi:nodetypes="ccczc" />
+       style="fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 16.371022,7.8148748 C 15.47069,6.586993 14.005993,6.9141191 13.43112,7.6981356 C 12.643332,8.7725276 12.734671,10.64104 13.635002,11.868921 C 14.417404,12.93597 15.704314,13.495617 16.492103,12.421225 C 17.279892,11.346833 17.082315,8.7849447 16.371022,7.8148748 z "
+       id="path3132"
+       sodipodi:nodetypes="csssc" />
+    <path
+       style="fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 16.502957,8.5432477 C 15.827476,7.7246593 14.728576,7.9427464 14.297274,8.4654263 C 13.706229,9.1816906 13.774757,10.427368 14.450238,11.245957 C 15.037241,11.957323 16.002754,12.33042 16.593798,11.614156 C 17.184843,10.897891 17.03661,9.1899614 16.502957,8.5432477 z "
+       id="path3134"
+       sodipodi:nodetypes="csssc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3136"
+       sodipodi:cx="10.169642"
+       sodipodi:cy="24.3125"
+       sodipodi:rx="1.2410715"
+       sodipodi:ry="1.2946428"
+       d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
+       transform="matrix(1.153827,0,0,1.158621,3.593156,-17.66895)" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3140"
+       width="4.4400907"
+       height="1"
+       x="8.5358553"
+       y="13"
+       rx="0.69182354"
+       ry="0.5" />
+    <path
+       style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 6,13.893438 C 11.088512,17.243015 10.655188,12 11.431469,12 C 12.197069,12 11.699301,17.201991 16,13.895644 C 15.267157,15.102946 13.014668,17 12.06507,17 C 11.104781,17 7.190872,15.676807 6,13.893438 z "
+       id="path3142"
+       sodipodi:nodetypes="czczc" />
+    <path
+       style="fill:url(#linearGradient3146);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 6,13.893439 C 10.740404,18.171305 10.655188,12 11.431469,12 C 12.197069,12 11.641283,17.027939 16,13.895646 C 15.267157,15.102947 13.014668,17 12.06507,17 C 11.104781,17 7.190873,15.676809 6,13.893439 z "
+       id="path3144"
+       sodipodi:nodetypes="czczc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/icons/32/pidgin.png has changed
--- a/pidgin/pixmaps/icons/32/scalable/pidgin.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/icons/32/scalable/pidgin.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,9 +14,9 @@
    id="svg4345"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/icons/32/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/32/scalable"
    sodipodi:docname="pidgin.svg"
-   inkscape:export-filename="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/icons/32/pidgin.png"
+   inkscape:export-filename="/home/hbons/Desktop/pidgin32.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
    version="1.0">
@@ -24,18 +24,131 @@
      id="defs4347">
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient6817">
+       id="linearGradient3976">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop3978" />
+      <stop
+         style="stop-color:#3b1941;stop-opacity:0;"
+         offset="1"
+         id="stop3980" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3968">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop3970" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop3972" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3958">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3960" />
       <stop
-         style="stop-color:white;stop-opacity:1;"
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3962" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2850">
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:1;"
+         offset="0"
+         id="stop2852" />
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:0;"
+         offset="1"
+         id="stop2854" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient2856"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-47,-15.99998)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2816">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
          offset="0"
-         id="stop6819" />
+         id="stop2818" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2820" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2816"
+       id="radialGradient2824"
+       cx="9.4288578"
+       cy="19.283415"
+       fx="9.4288578"
+       fy="19.283415"
+       r="16.390338"
+       gradientTransform="matrix(1.556432,0,0,1.618148,-52.04294,-30.39321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2826">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop2828" />
       <stop
-         style="stop-color:white;stop-opacity:0;"
+         style="stop-color:#3b1941;stop-opacity:0;"
          offset="1"
-         id="stop6821" />
+         id="stop2830" />
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
+       xlink:href="#linearGradient2826"
+       id="linearGradient2832"
+       x1="13.191773"
+       y1="41.606163"
+       x2="13.191773"
+       y2="47.843258"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.988192,-46.55265,-16.48621)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2834">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop2836" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop2838" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2834"
+       id="linearGradient2840"
+       x1="11.373499"
+       y1="41.566242"
+       x2="11.373499"
+       y2="47.746658"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.988192,-46.55265,-16.48621)" />
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient6563">
       <stop
          style="stop-color:white;stop-opacity:1;"
@@ -71,30 +184,6 @@
          id="stop6510" />
     </linearGradient>
     <linearGradient
-       inkscape:collect="always"
-       id="linearGradient5304">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop5306" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop5308" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient5280">
-      <stop
-         style="stop-color:#82508e;stop-opacity:1;"
-         offset="0"
-         id="stop5282" />
-      <stop
-         style="stop-color:#82508e;stop-opacity:0;"
-         offset="1"
-         id="stop5284" />
-    </linearGradient>
-    <linearGradient
        id="linearGradient2804">
       <stop
          style="stop-color:black;stop-opacity:0;"
@@ -165,34 +254,14 @@
          offset="1.0000000"
          id="stop3804" />
     </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5280"
-       id="radialGradient5286"
-       cx="15.004828"
-       cy="39.80859"
-       fx="15.004828"
-       fy="39.80859"
-       r="9.7225161"
-       gradientTransform="matrix(1,0,0,0.732283,0,10.65742)"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5304"
-       id="linearGradient5310"
-       x1="12.606371"
-       y1="15.069461"
-       x2="12.606371"
-       y2="21.152372"
-       gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient6506"
        id="linearGradient6512"
        x1="15.645709"
        y1="39.743458"
-       x2="15.645709"
-       y2="53.502155"
+       x2="14.943421"
+       y2="50.079575"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
@@ -214,13 +283,62 @@
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient6817"
-       id="linearGradient6823"
-       x1="0.23931108"
-       y1="38.950283"
-       x2="5.7089725"
-       y2="42.982571"
+       xlink:href="#linearGradient6537"
+       id="linearGradient3069"
+       gradientUnits="userSpaceOnUse"
+       x1="30.5"
+       y1="0.033532728"
+       x2="30.5"
+       y2="23.559282" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6506"
+       id="linearGradient3071"
+       gradientUnits="userSpaceOnUse"
+       x1="15.645709"
+       y1="39.743458"
+       x2="15.645709"
+       y2="53.502155"
+       gradientTransform="translate(-47,-15)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3958"
+       id="radialGradient3966"
+       cx="9.0640488"
+       cy="21.511742"
+       fx="9.0640488"
+       fy="21.511742"
+       r="16.663956"
+       gradientTransform="matrix(1.68884,0,0,1.716583,-6.243689,-15.89085)"
        gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3968"
+       id="linearGradient3974"
+       x1="16.13257"
+       y1="40.781811"
+       x2="16.13257"
+       y2="48.068741"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3976"
+       id="linearGradient3982"
+       x1="12.095973"
+       y1="40.907658"
+       x2="12.095973"
+       y2="46.463146"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient3991"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.769231,0,0,0.714287,-1.230773,-2.285726)"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -229,17 +347,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="21.220032"
-     inkscape:cx="25.558911"
-     inkscape:cy="16.91503"
+     inkscape:zoom="17.236022"
+     inkscape:cx="21.944662"
+     inkscape:cy="16.287609"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1274"
-     inkscape:window-height="966"
-     inkscape:window-x="3"
-     inkscape:window-y="25"
+     inkscape:window-width="1434"
+     inkscape:window-height="840"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
      showguides="true"
      inkscape:guide-bbox="true"
      inkscape:grid-points="false"
@@ -261,16 +379,6 @@
      id="layer1"
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
-    <rect
-       style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect6514"
-       width="5.0217423"
-       height="5.2252574"
-       x="42.978256"
-       y="44"
-       rx="0.28473777"
-       ry="2.6126287"
-       transform="matrix(4.779203,0,0,0.382753,-205.4017,13.15888)" />
     <path
        sodipodi:type="inkscape:offset"
        inkscape:radius="-1.0057179"
@@ -292,51 +400,28 @@
        id="path6535"
        sodipodi:nodetypes="cccccccccccccc" />
     <path
-       style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:1;fill:url(#linearGradient3974);fill-opacity:1.0;stroke:url(#linearGradient3982);stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 4.8460021,40.483064 0.49299658,38.484005 0.052646307,45.33795 C 0.052646307,47.422072 1.0380664,48.413461 3.1446965,48.413461 C 4.3321851,48.413461 29.360035,48.5596 32.051034,48.5596 C 34.165161,48.5596 34,46.5 34,46.5 C 34,43.834589 27.597902,41.598052 25.813453,39.641526 C 23.985035,37.640505 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z "
        id="path5176"
        sodipodi:nodetypes="cccccszcsc"
        transform="matrix(0.67692,0,0,0.646801,0.464358,-0.908413)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5273"
-       sodipodi:cx="15.004828"
-       sodipodi:cy="39.80859"
-       sodipodi:rx="9.7225161"
-       sodipodi:ry="7.119638"
-       d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1  5.2823124,39.80859 A 9.7225161 7.119638 0 1 1  24.727345 39.80859 z"
-       transform="matrix(0.661428,0,0,0.760624,1.662895e-2,-5.166292)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -42.833794,47.629347 C -42.833794,47.629347 -43.26687,44.687985 -40.223294,37.951005 C -40.223294,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -42.597127,49.864236 -42.833794,47.629347 z "
-       id="rect5312"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(0.797045,0,0,0.733236,35.01127,-5.421684)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z "
-       id="path5317"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(-0.724368,0,0,0.660383,-12.52413,-1.979892)" />
-    <path
-       transform="matrix(0.660903,0,0,0.627207,0.731515,-0.320103)"
-       style="opacity:0.31004363;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.55319357;stroke-miterlimit:4;stroke-opacity:1"
+       style="opacity:0.5;fill:url(#radialGradient3966);fill-opacity:1.0;stroke:url(#linearGradient6512);stroke-width:1.55319357;stroke-miterlimit:4;stroke-opacity:1"
        d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0625,25.489316 4.0625,25.5 C 4.9744187,33.020507 4.3062656,37.469969 2.59375,40.59375 C -0.19778709,46.24536 1.5610206,47.490284 3.9033639,47.490284 C 5.8399452,47.490284 23.958121,47.46049 29.784094,47.46049 C 30.951301,47.46049 32.9375,47.964563 32.9375,46.5 C 32.9375,46.278257 32.737749,45.861323 32.1875,45.34375 C 31.637251,44.826177 30.81426,44.270409 29.90625,43.71875 C 28.99824,43.167091 28.02821,42.609033 27.15625,42.0625 C 26.28429,41.515967 25.511654,41.005793 24.96875,40.28125 C 24.358745,39.467156 24.078806,38.510169 24.024342,37.46875 C 23.969878,36.427331 24.107721,35.310041 24.224561,34.25 C 24.458241,32.129917 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z "
        id="path5241"
-       sodipodi:nodetypes="csscccssssssscssc" />
+       sodipodi:nodetypes="csscccssssssscssc"
+       transform="matrix(0.660903,0,0,0.627207,0.731515,-0.320103)" />
     <path
-       transform="matrix(-0.861857,-0.809791,0.812609,-0.76352,-3.676568,42.37505)"
        style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
+       d="M 5.0726004,12.086499 C 6.6079483,10.449324 9.1057173,10.885492 10.086057,11.930848 C 11.429483,13.36337 11.273722,15.85472 9.7383746,17.491894 C 8.4041332,18.914624 6.2095475,19.660821 4.8661202,18.228299 C 3.5226923,16.795776 3.8596213,13.379925 5.0726004,12.086499 z "
        id="path5160"
        sodipodi:nodetypes="csssc" />
     <path
-       transform="matrix(1.010846,0,0,1.029732,-3.562503,-10.12874)"
        style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
        d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
        id="path5157"
-       sodipodi:nodetypes="csssc" />
+       sodipodi:nodetypes="csssc"
+       transform="matrix(1.010846,0,0,1.029732,-3.562503,-10.12874)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -346,7 +431,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805757,0,0,0.772415,-1.194263,-3.779337)" />
+       transform="matrix(1.208633,0,0,1.158621,-4.791365,-12.66897)" />
     <path
        transform="matrix(0.596326,-0.813274,-0.562251,-0.766804,24.4163,42.47989)"
        style="opacity:1;fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
@@ -354,11 +439,11 @@
        id="path5167"
        sodipodi:nodetypes="csssc" />
     <path
-       transform="matrix(0.447398,-0.542185,-0.421833,-0.511203,23.06465,33.31996)"
        style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
        d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
        id="path5169"
-       sodipodi:nodetypes="csssc" />
+       sodipodi:nodetypes="csssc"
+       transform="matrix(0.447398,-0.542185,-0.421833,-0.511203,23.06465,33.31996)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -368,23 +453,16 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.805756,0,0,0.784291,8.805745,-4.083452)" />
+       transform="matrix(1.208633,0,0,1.158621,5.208632,-12.66896)" />
     <rect
        style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="rect5215"
-       width="5.6071429"
-       height="2.1785715"
-       x="16"
-       y="27"
-       transform="matrix(0.724348,0,0,0.459012,-0.651091,5.606678)"
-       rx="0.87366539"
-       ry="1.0892857" />
-    <path
-       transform="matrix(0.798987,0,0,0.495994,8.99846,-1.319104)"
-       style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="rect5187"
-       sodipodi:nodetypes="ccczc" />
+       width="4.4400907"
+       height="1"
+       x="10.535856"
+       y="18"
+       rx="0.69182354"
+       ry="0.5" />
     <path
        transform="matrix(0.670792,0,0,0.486348,-1.815475,1.13962)"
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
@@ -398,10 +476,14 @@
        id="rect5189"
        sodipodi:nodetypes="cccc" />
     <path
-       transform="matrix(0.798987,0,0,0.495994,8.99846,-1.319104)"
-       style="fill:url(#linearGradient6823);fill-opacity:1.0;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 2.9290204,42.117701 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 7.1161651,42.240122 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
-       id="path6815"
-       sodipodi:nodetypes="ccczc" />
+       style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8,18.893438 C 13.088512,22.243015 12.655188,17 13.431469,17 C 14.197069,17 13.699301,22.201991 18,18.895644 C 17.267157,20.102946 15.014668,22 14.06507,22 C 13.104781,22 9.1908718,20.676807 8,18.893438 z "
+       id="path3987"
+       sodipodi:nodetypes="czczc" />
+    <path
+       style="fill:url(#linearGradient3991);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8,18.893439 C 12.740404,23.171305 12.655188,17 13.431469,17 C 14.197069,17 13.641283,22.027939 18,18.895646 C 17.267157,20.102947 15.014668,22 14.06507,22 C 13.104781,22 9.1908731,20.676809 8,18.893439 z "
+       id="path3989"
+       sodipodi:nodetypes="czczc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/icons/48/pidgin.png has changed
--- a/pidgin/pixmaps/icons/48/scalable/pidgin.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/icons/48/scalable/pidgin.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,15 +14,63 @@
    id="svg4345"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop/icons/48/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/48/scalable"
    sodipodi:docname="pidgin.svg"
-   inkscape:export-filename="/home/hbons/Desktop/pidgin.png"
+   inkscape:export-filename="/home/hbons/Desktop/pidgin48.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
      id="defs4347">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2850">
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:1;"
+         offset="0"
+         id="stop2852" />
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:0;"
+         offset="1"
+         id="stop2854" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2834">
+      <stop
+         style="stop-color:#82508e;stop-opacity:1;"
+         offset="0"
+         id="stop2836" />
+      <stop
+         style="stop-color:#82508e;stop-opacity:0;"
+         offset="1"
+         id="stop2838" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2826">
+      <stop
+         style="stop-color:#3b1941;stop-opacity:1;"
+         offset="0"
+         id="stop2828" />
+      <stop
+         style="stop-color:#3b1941;stop-opacity:0;"
+         offset="1"
+         id="stop2830" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2816">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2818" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2820" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient6563">
       <stop
          style="stop-color:white;stop-opacity:1;"
@@ -71,18 +119,6 @@
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient5304">
-      <stop
-         style="stop-color:#2e3436;stop-opacity:1;"
-         offset="0"
-         id="stop5306" />
-      <stop
-         style="stop-color:#2e3436;stop-opacity:0;"
-         offset="1"
-         id="stop5308" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
        id="linearGradient5280">
       <stop
          style="stop-color:#82508e;stop-opacity:1;"
@@ -177,15 +213,6 @@
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient5304"
-       id="linearGradient5310"
-       x1="12.606371"
-       y1="15.069461"
-       x2="12.606371"
-       y2="23.043955"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#linearGradient6493"
        id="linearGradient6499"
        x1="3.3105288"
@@ -198,27 +225,19 @@
        xlink:href="#linearGradient6506"
        id="linearGradient6512"
        x1="15.645709"
-       y1="39.743458"
+       y1="41.751736"
        x2="15.645709"
-       y2="53.502155"
-       gradientUnits="userSpaceOnUse" />
+       y2="47.370037"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.988192,0.5625,-1.39645)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient6537"
        id="linearGradient6543"
        x1="30.5"
-       y1="0.033532728"
+       y1="5.7732024"
        x2="30.5"
-       y2="23.559282"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient6563"
-       id="linearGradient6569"
-       x1="-1.6841649"
-       y1="39.902092"
-       x2="5.5366187"
-       y2="44.272076"
+       y2="19.518673"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
@@ -229,6 +248,45 @@
        y1="38.950283"
        x2="5.5366187"
        y2="44.272076" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2816"
+       id="radialGradient2824"
+       cx="9.4288578"
+       cy="19.283415"
+       fx="9.4288578"
+       fy="19.283415"
+       r="16.390338"
+       gradientTransform="matrix(1.556432,0,0,1.618148,-5.04294,-15.39321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2826"
+       id="linearGradient2832"
+       x1="13.191773"
+       y1="41.606163"
+       x2="13.191773"
+       y2="47.843258"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2834"
+       id="linearGradient2840"
+       x1="11.373499"
+       y1="41.566242"
+       x2="11.373499"
+       y2="47.746658"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2850"
+       id="linearGradient2856"
+       x1="21.785719"
+       y1="28.142857"
+       x2="17.785713"
+       y2="30.07143"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-0.999982)" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -237,17 +295,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="1.1545694"
-     inkscape:cx="31.681369"
-     inkscape:cy="18.601404"
+     inkscape:zoom="14"
+     inkscape:cx="34.459692"
+     inkscape:cy="22.220728"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1274"
-     inkscape:window-height="966"
-     inkscape:window-x="3"
-     inkscape:window-y="25"
+     inkscape:window-width="1434"
+     inkscape:window-height="840"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
      showguides="true"
      inkscape:guide-bbox="true"
      inkscape:grid-points="true" />
@@ -267,15 +325,14 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <rect
-       style="opacity:0.23144105;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="rect6514"
-       width="5.0217423"
-       height="5.2252574"
-       x="42.978256"
-       y="44"
-       rx="0.28473777"
-       ry="2.6126287"
-       transform="matrix(7.168827,0,0,0.574134,-308.1037,19.73808)" />
+       width="36.000004"
+       height="2.9999979"
+       x="-4.4446878"
+       y="57.424854"
+       rx="2.0412357"
+       ry="1.4999989" />
     <path
        sodipodi:type="inkscape:offset"
        inkscape:radius="-1.0057179"
@@ -296,43 +353,19 @@
        id="path6535"
        d="M 20.53125,2.53125 C 17.841732,2.53125 15.53125,5.0973912 15.53125,8.46875 L 15.53125,20.53125 C 15.53125,23.902609 17.841732,26.46875 20.53125,26.46875 L 34.53125,26.46875 C 35.097743,26.476048 35.555202,26.933507 35.5625,27.5 L 35.5625,29 L 38.71875,26.65625 C 38.901723,26.528628 39.120742,26.462922 39.34375,26.46875 L 41.5,26.46875 C 43.235888,26.46875 44.009537,25.921608 44.59375,24.9375 C 45.177963,23.953392 45.46875,22.367968 45.46875,20.53125 L 45.46875,8.46875 C 45.46875,5.0973915 43.158268,2.53125 40.46875,2.53125 L 20.53125,2.53125 z " />
     <path
-       style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.00595677;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:1;fill:url(#linearGradient2840);fill-opacity:1.0;stroke:url(#linearGradient2832);stroke-width:1.00595677;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 4.8460021,40.483064 0.49299658,38.484005 0.052646307,45.33795 C 0.052646307,47.422072 1.0380664,48.413461 3.1446965,48.413461 C 4.3321851,48.413461 29.360035,48.5596 32.051034,48.5596 C 34.165161,48.5596 34,46.5 34,46.5 C 34,43.834589 27.597902,41.598052 25.813453,39.641526 C 23.985035,37.640505 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z "
        id="path5176"
        sodipodi:nodetypes="cccccszcsc"
        transform="matrix(1,0,0,0.988192,0.447354,-1.486208)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5273"
-       sodipodi:cx="15.004828"
-       sodipodi:cy="39.80859"
-       sodipodi:rx="9.7225161"
-       sodipodi:ry="7.119638"
-       d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1  5.2823124,39.80859 A 9.7225161 7.119638 0 1 1  24.727345 39.80859 z"
-       transform="matrix(0.977113,0,0,1.123653,-0.214066,-6.870732)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -42.833794,47.629347 C -42.833794,47.629347 -43.26687,44.687985 -40.223294,37.951005 C -40.223294,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -42.597127,49.864236 -42.833794,47.629347 z "
-       id="rect5312"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(1.177457,0,0,1.083194,51.48278,-7.248017)" />
-    <path
-       style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z "
-       id="path5317"
-       sodipodi:nodetypes="cccccccc"
-       transform="matrix(-1.070093,0,0,1.114946,-18.74027,-7.453016)" />
-    <path
-       transform="matrix(1,0,0,0.988192,0.40625,-1.486208)"
-       style="opacity:0.31004367;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.00595677;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0625,25.489316 4.0625,25.5 C 4.9744187,33.020507 4.3062656,37.469969 2.59375,40.59375 C -0.19778709,46.24536 1.5610206,47.490284 3.9033639,47.490284 C 5.8399452,47.490284 23.958121,47.46049 29.784094,47.46049 C 30.951301,47.46049 32.9375,47.964563 32.9375,46.5 C 32.9375,46.278257 32.737749,45.861323 32.1875,45.34375 C 31.637251,44.826177 30.81426,44.270409 29.90625,43.71875 C 28.99824,43.167091 28.02821,42.609033 27.15625,42.0625 C 26.28429,41.515967 25.511654,41.005793 24.96875,40.28125 C 24.358745,39.467156 24.078806,38.510169 24.024342,37.46875 C 23.969878,36.427331 24.107721,35.310041 24.224561,34.25 C 24.458241,32.129917 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z "
+       style="opacity:0.5;fill:url(#radialGradient2824);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 15.5625,12.5 C 9.550204,12.5 4.641496,17.515648 4.625,23.771565 C 4.624972,23.782116 4.625,23.791888 4.625,23.802446 C 5.536919,31.234151 4.868766,35.631074 3.15625,38.717969 C 0.36471303,44.302845 2.123521,45.533069 4.465864,45.533069 C 6.402445,45.533069 24.520621,45.503627 30.346594,45.503627 C 31.513801,45.503627 33.5,46.001748 33.5,44.554478 C 33.5,44.335354 33.300249,43.923343 32.75,43.411881 C 32.199751,42.90042 31.37676,42.351214 30.46875,41.806069 C 29.56074,41.260924 28.59071,40.709456 27.71875,40.169376 C 26.84679,39.629297 26.074154,39.125147 25.53125,38.409159 C 24.921245,37.604678 24.641306,36.658991 24.586842,35.629869 C 24.532378,34.600747 24.670221,33.49665 24.787061,32.449126 C 25.020741,30.354077 25.53125,28.527239 25.53125,28.527239 C 25.54624,28.4637 25.567163,28.401673 25.59375,28.341953 C 26.181231,26.957097 26.5,25.414481 26.5,23.802446 C 26.5,17.531779 21.584936,12.5 15.5625,12.5 z "
        id="path5241"
        sodipodi:nodetypes="csscccssssssscssc" />
     <path
-       transform="matrix(-1.162197,-1.219912,1.095788,-1.150206,-4.404363,64.58016)"
        style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
+       d="M 7.269301,19.503118 C 9.2717505,17.238166 12.529418,17.841584 13.808008,19.287784 C 15.560146,21.269611 15.356996,24.71627 13.354547,26.981222 C 11.614386,28.949501 8.7521391,29.981828 7,28 C 5.2478601,26.018172 5.6872953,21.292511 7.269301,19.503118 z "
        id="path5160"
        sodipodi:nodetypes="csssc" />
     <path
@@ -350,7 +383,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.208632,0,0,1.158617,-1.844007,-4.808565)" />
+       transform="matrix(1.208632,0,0,1.544828,-1.738701,-14.41893)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -360,11 +393,10 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.402878,0,0,0.386209,6.350228,13.9706)" />
+       transform="matrix(0.402878,0,0,0.514947,6.455534,10.62004)" />
     <path
-       transform="matrix(0.871648,-1.084366,-0.821841,-1.022405,36.71113,59.50016)"
        style="opacity:1;fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
+       d="M 27.88281,19.946791 C 26.359012,18.309616 23.880032,18.745786 22.907068,19.791141 C 21.573747,21.223665 21.728337,23.715015 23.252136,25.35219 C 24.576341,26.77492 26.754418,27.521117 28.087739,26.088593 C 29.42106,24.656068 29.086665,21.240217 27.88281,19.946791 z "
        id="path5167"
        sodipodi:nodetypes="csssc" />
     <path
@@ -382,7 +414,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.208632,0,0,1.158617,13.15599,-4.808572)" />
+       transform="matrix(1.208632,0,0,1.598777,13.20865,-15.80042)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -392,21 +424,19 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(0.402878,0,0,0.386209,21.35023,13.9706)" />
+       transform="matrix(0.402878,0,0,0.53293,21.40289,10.11299)" />
     <rect
        style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="rect5215"
-       width="5.6071429"
-       height="2.1785715"
-       x="16"
-       y="27"
-       transform="matrix(1.070064,0,0,0.918028,-1.173674,3.073548)"
-       rx="1.0892857"
-       ry="1.0892857" />
+       width="7"
+       height="1.8602936"
+       x="15"
+       y="27.000017"
+       rx="0.81387848"
+       ry="0.93014681" />
     <path
-       transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)"
-       style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
+       style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 12.000005,28.650812 C 17.33287,31.553263 18.051747,26 19.060912,26 C 20.056192,26 20.46502,31.577054 25,28.653901 C 24.047304,30.344123 21.119071,32.999996 19.884593,32.999996 C 18.636217,32.999996 13.548138,31.147528 12.000005,28.650812 z "
        id="rect5187"
        sodipodi:nodetypes="czczc" />
     <path
@@ -422,9 +452,8 @@
        id="rect5189"
        sodipodi:nodetypes="cccc" />
     <path
-       transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)"
-       style="fill:url(#linearGradient6569);fill-opacity:1.0;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
+       style="fill:url(#linearGradient2856);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 12.000005,28.650834 C 17.332871,31.553285 18.051747,26.000022 19.060912,26.000022 C 20.056192,26.000022 20.46502,31.577076 25,28.653923 C 24.047304,30.344145 21.119071,33.000018 19.884593,33.000018 C 18.636217,33.000018 13.548139,31.14755 12.000005,28.650834 z "
        id="path6561"
        sodipodi:nodetypes="czczc" />
   </g>
Binary file pidgin/pixmaps/status/16/available.png has changed
Binary file pidgin/pixmaps/status/16/away.png has changed
Binary file pidgin/pixmaps/status/16/busy.png has changed
Binary file pidgin/pixmaps/status/16/invisible.png has changed
Binary file pidgin/pixmaps/status/16/offline.png has changed
--- a/pidgin/pixmaps/status/16/scalable/available.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/16/scalable/available.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,23 +7,53 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="16"
    height="16"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png"
+   inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/available.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable"
-   sodipodi:docname="available16.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable"
+   sodipodi:docname="available.svg">
   <defs
      id="defs4">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2898">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2900" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2902" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient4738"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient4740"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
        xlink:href="#linearGradient3149"
        id="linearGradient2269"
        gradientUnits="userSpaceOnUse"
@@ -86,6 +116,118 @@
        x2="12.233074"
        y2="27.77807"
        gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2904"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2963"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         id="stop2953"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2955"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2949"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2804"
+       inkscape:collect="always">
+      <stop
+         id="stop2806"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2808"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3005"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient3007"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3025"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -95,16 +237,16 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="25.992076"
-     inkscape:cx="16.806787"
-     inkscape:cy="8.1662141"
+     inkscape:cx="4.1907826"
+     inkscape:cy="8.6773979"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
-     inkscape:window-width="1268"
-     inkscape:window-height="968"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1274"
+     inkscape:window-height="844"
+     inkscape:window-x="3"
+     inkscape:window-y="0" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -126,37 +268,19 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" />
-    <path
+       id="path2969"
+       style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:1.85686159;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2245"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(0.538543,0,0,0.538542,-1.633369,-1.462358)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
+       transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:0.5;fill:url(#linearGradient2269);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.14505577;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3145"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(0.466166,0,0,0.466212,-0.33531,-0.188412)" />
+       transform="matrix(0.538297,0,0,0.538297,-1.630177,-1.459246)"
+       style="fill:url(#linearGradient4738);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:1.85770929;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z "
+       id="path4331" />
+    <path
+       transform="matrix(0.466524,0,0,0.466525,-0.346154,-0.198015)"
+       style="opacity:0.6;fill:url(#linearGradient4740);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z "
+       id="path4333" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/16/scalable/away.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/16/scalable/away.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,43 +7,45 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="16"
    height="16"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
    inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable"
-   sodipodi:docname="away16.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable"
+   sodipodi:docname="away.svg">
   <defs
      id="defs4">
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient2239">
+       id="linearGradient2812">
       <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
+         style="stop-color:#2e3436;stop-opacity:1;"
          offset="0"
-         id="stop2241" />
+         id="stop2814" />
       <stop
-         style="stop-color:#ffffff;stop-opacity:0;"
+         style="stop-color:#2e3436;stop-opacity:0;"
          offset="1"
-         id="stop2243" />
+         id="stop2816" />
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2239"
-       id="linearGradient2245"
-       x1="15.602553"
-       y1="1.5657365"
-       x2="15.522223"
-       y2="33.483475"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" />
+       id="linearGradient2804">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2806" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2808" />
+    </linearGradient>
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient3149"
@@ -78,29 +80,6 @@
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient3816">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3818" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3820" />
-    </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#linearGradient2851"
        id="linearGradient2857"
        x1="6.878005"
@@ -108,6 +87,25 @@
        x2="12.233074"
        y2="27.77807"
        gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2810"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2818"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -117,16 +115,20 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="25.992076"
-     inkscape:cx="16.806787"
-     inkscape:cy="8.1662141"
+     inkscape:cx="14.729231"
+     inkscape:cy="2.7799575"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
-     inkscape:window-width="1268"
-     inkscape:window-height="968"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:object-paths="false"
+     inkscape:grid-bbox="true"
+     inkscape:guide-bbox="false"
+     inkscape:grid-points="true" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -149,20 +151,12 @@
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
        id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       style="opacity:1;color:black;fill:url(#radialGradient2818);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
+       transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.91314828px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.91314828px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        id="path1339"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
@@ -172,47 +166,113 @@
        transform="matrix(0.522697,0,0,0.522697,-0.148088,-0.661348)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:2.59300995px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       style="opacity:1;fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2788"
+       sodipodi:cx="-3.8088531"
+       sodipodi:cy="3.303823"
+       sodipodi:rx="3.1932809"
+       sodipodi:ry="3.3471739"
+       d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1  -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1  -0.61557221 3.303823 z"
+       transform="matrix(2.192102,0,0,2.091316,16.34939,1.090661)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:2.60821199px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        id="path1341"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.385634,0,0,0.38567,1.998372,1.598697)" />
+       transform="matrix(0.383404,0,0,0.383404,2.022641,1.646167)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2796"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1  4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1  7.6561793 7.5551186 z"
+       transform="matrix(3.094296,0,0,3.766968,-10.69048,-20.45989)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:9.63841057px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path2216"
-       sodipodi:cx="15.590227"
-       sodipodi:cy="16.57217"
-       sodipodi:rx="14.345175"
-       sodipodi:ry="14.345175"
-       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.103753,0,0,0.103753,6.37887,6.27699)" />
-    <path
-       style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999881px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 14.509853,7.9958041 C 14.509853,11.591436 11.591612,14.50963 7.9959211,14.50963 C 4.4002314,14.50963 1.4819904,11.591436 1.4819904,7.9958041 C 1.4819904,4.4001725 4.4002314,1.4819783 7.9959211,1.4819783 C 11.591612,1.4819783 14.509853,4.4001725 14.509853,7.9958041 z "
-       id="path2220" />
+       style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient2810);stroke-width:0.80677563;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2802"
+       sodipodi:cx="7.5"
+       sodipodi:cy="7"
+       sodipodi:rx="5.5"
+       sodipodi:ry="5"
+       d="M 13 7 A 5.5 5 0 1 1  2,7 A 5.5 5 0 1 1  13 7 z"
+       transform="matrix(1.18182,0,0,1.3,-0.86365,-1.1)" />
+    <rect
+       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2820"
+       width="1"
+       height="1"
+       x="5"
+       y="-11"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2832"
+       width="1"
+       height="1"
+       x="7"
+       y="-9"
+       transform="matrix(0,1,-1,0,0,0)" />
     <path
        sodipodi:type="arc"
+       style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2852"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z"
+       transform="matrix(2.475436,0,0,3.013575,-6.952382,-14.76791)"
+       sodipodi:start="2.4124729"
+       sodipodi:end="4.735525" />
+    <rect
        style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1588"
-       sodipodi:cx="20.264311"
-       sodipodi:cy="14.476474"
-       sodipodi:rx="2.9448855"
-       sodipodi:ry="0.78724658"
-       d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1  17.319425,14.476474 A 2.9448855 0.78724658 0 1 1  23.209196 14.476474 z"
-       transform="matrix(-1.244057e-16,-0.509358,1.270255,5.747542e-7,-10.38882,15.82177)" />
-    <path
-       sodipodi:type="arc"
+       id="rect2838"
+       width="2"
+       height="2"
+       x="7"
+       y="-9"
+       rx="1"
+       ry="1"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2840"
+       width="1"
+       height="1"
+       x="6"
+       y="-10"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
        style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1314"
-       sodipodi:cx="20.264311"
-       sodipodi:cy="14.476474"
-       sodipodi:rx="2.9448855"
-       sodipodi:ry="0.78724658"
-       d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1  17.319425,14.476474 A 2.9448855 0.78724658 0 1 1  23.209196 14.476474 z"
-       transform="matrix(0.509355,-4.991037e-16,-5.747516e-7,1.270255,0.178284,-10.38882)" />
+       id="rect2846"
+       width="1"
+       height="1"
+       x="-11"
+       y="-11"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2848"
+       width="1"
+       height="1"
+       x="-9"
+       y="-9"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2850"
+       width="1"
+       height="1"
+       x="-10"
+       y="-10"
+       transform="matrix(0,-1,-1,0,0,0)" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/16/scalable/busy.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/16/scalable/busy.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,23 +7,68 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="16"
    height="16"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
    inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/available16.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable"
-   sodipodi:docname="busy16.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable"
+   sodipodi:docname="busy.svg">
   <defs
      id="defs4">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2898">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2900" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2902" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2904"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3025"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient2186">
       <stop
          style="stop-color:#ffffff;stop-opacity:1;"
@@ -38,8 +83,8 @@
        inkscape:collect="always"
        xlink:href="#linearGradient2186"
        id="linearGradient2194"
-       x1="11.226587"
-       y1="-5.4832759"
+       x1="9.2594385"
+       y1="-1.5641226"
        x2="11.226587"
        y2="17.697369"
        gradientUnits="userSpaceOnUse"
@@ -60,10 +105,10 @@
        inkscape:collect="always"
        xlink:href="#linearGradient2239"
        id="linearGradient2245"
-       x1="15.602553"
-       y1="1.5657365"
-       x2="15.522223"
-       y2="33.483475"
+       x1="8.7505674"
+       y1="4.5934086"
+       x2="31.18539"
+       y2="39.834526"
        gradientUnits="userSpaceOnUse"
        gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" />
     <linearGradient
@@ -139,16 +184,16 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="25.992076"
-     inkscape:cx="16.806787"
-     inkscape:cy="8.1662141"
+     inkscape:cx="8.3811422"
+     inkscape:cy="5.1075896"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
      inkscape:window-width="1268"
-     inkscape:window-height="968"
+     inkscape:window-height="844"
      inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-y="0" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -170,18 +215,10 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2969"
+       style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
+       transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
@@ -194,7 +231,7 @@
        transform="matrix(0.468971,0,0,0.468971,0.730372,0.26987)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.91298747px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       style="opacity:1;color:#000000;fill:#f24747;fill-opacity:1;fill-rule:evenodd;stroke:#820000;stroke-width:1.91298747px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        id="path1339"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
@@ -206,10 +243,14 @@
        style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        d="M 14.525974,7.9894993 C 14.525974,11.598577 11.608166,14.527685 8.0130095,14.527685 C 4.4178543,14.527685 1.500047,11.598577 1.500047,7.9894993 C 1.500047,4.3804219 4.4178543,1.4513155 8.0130095,1.4513155 C 11.608166,1.4513155 14.525974,4.3804219 14.525974,7.9894993 z "
        id="path2220" />
-    <path
-       style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.99999833px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 13.49379,7.9436678 C 13.49379,9.8082522 12.846021,9.4786261 7.9525684,9.4786261 C 3.1055026,9.4786261 2.5041877,9.7778545 2.5041877,8.0257093 C 2.5041877,6.2462172 3.8951545,6.5604085 7.9989886,6.5604085 C 12.072197,6.5604085 13.49379,6.0517387 13.49379,7.9436678 z "
-       id="path1341"
-       sodipodi:nodetypes="czzzz" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#a40000;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3207"
+       width="11.000004"
+       height="2.9999959"
+       x="2.500001"
+       y="6.5000038"
+       rx="0.96183157"
+       ry="0.96183157" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/16/scalable/offline.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/16/scalable/offline.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -15,10 +15,10 @@
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
    version="1.0"
-   inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/offline.png"
+   inkscape:export-filename="/home/hbons/Desktop/offline.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/16/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/16/scalable"
    sodipodi:docname="offline.svg">
   <defs
      id="defs4">
@@ -160,16 +160,16 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="25.992076"
-     inkscape:cx="16.806787"
-     inkscape:cy="8.1469775"
+     inkscape:cx="26.27121"
+     inkscape:cy="5.5692688"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
-     inkscape:window-width="1268"
-     inkscape:window-height="968"
-     inkscape:window-x="6"
-     inkscape:window-y="23" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -195,14 +195,6 @@
        style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
        transform="matrix(0.923568,0,0,0.288615,-20.73469,8.013827)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
     <path
        style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999827;stroke-miterlimit:4;stroke-opacity:1"
        d="M 13.307074,13.307079 C 10.376958,16.237198 5.6213214,16.237693 2.6918157,13.308187 C -0.23769028,10.378679 -0.23719421,5.623042 2.692923,2.6929237 C 5.62304,-0.23719442 10.378675,-0.23769056 13.308181,2.6918165 C 16.237687,5.6213234 16.237192,10.376962 13.307074,13.307079 z "
@@ -218,9 +210,9 @@
        d="M 8,1.5 C 6.3326173,1.5001739 4.674966,2.1375335 3.40625,3.40625 C 0.86479124,5.9477097 0.86538373,10.052882 3.40625,12.59375 C 5.9471154,15.134616 10.052293,15.135209 12.59375,12.59375 C 15.135209,10.052292 15.134616,5.9471167 12.59375,3.40625 C 11.325315,2.1378146 9.6669929,1.4998261 8,1.5 z "
        transform="matrix(1.000056,0,0,1.000028,-4.353349e-4,-2.926381e-5)" />
     <path
-       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#555753;stroke-width:0.99999946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 10.018233,3.7131793 L 8,5.8786797 L 5.9817663,3.727906 L 3.7131793,5.9817663 L 5.8786797,8 L 3.7131793,10.03296 L 5.9964929,12.316274 L 8,10.12132 L 10.018233,12.301548 L 12.301548,10.018233 L 10.12132,8 L 12.286821,5.9964929 L 10.018233,3.7131793 z "
-       id="rect1322"
-       sodipodi:nodetypes="ccccccccccccc" />
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 11.54182,4.2658182 C 10.931116,3.6551131 10.447965,3.347327 9.8372602,3.9580321 L 8.0000001,5.7952921 L 6.1627401,3.9580321 C 5.5520351,3.3473271 4.9919392,3.7705329 4.381234,4.381238 C 3.770529,4.991943 3.347323,5.5520393 3.9580281,6.1627441 L 5.7952881,8.0000041 L 3.9580281,9.8372641 C 3.3473229,10.447969 3.6935827,10.969592 4.3042875,11.580298 C 4.9149927,12.191002 5.5520349,12.652681 6.1627401,12.041977 L 8.0000001,10.204716 L 9.8372602,12.041977 C 10.447965,12.652681 11.046535,12.306422 11.657239,11.695718 C 12.267944,11.085012 12.652677,10.447969 12.041972,9.8372641 L 10.204713,8.0000041 L 12.041972,6.1627441 C 12.652677,5.552039 12.152526,4.8765236 11.54182,4.2658182 z "
+       id="rect2920"
+       sodipodi:nodetypes="ccccscccscccscccc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/status/22/available.png has changed
Binary file pidgin/pixmaps/status/22/away.png has changed
Binary file pidgin/pixmaps/status/22/invisible.png has changed
Binary file pidgin/pixmaps/status/22/offline.png has changed
--- a/pidgin/pixmaps/status/22/scalable/available.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/22/scalable/available.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,19 +7,19 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/22/available22.png"
+   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/available32.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22"
-   sodipodi:docname="available22.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/22/scalable"
+   sodipodi:docname="available.svg">
   <defs
      id="defs4">
     <linearGradient
@@ -72,14 +72,316 @@
        xlink:href="#linearGradient3149"
        id="linearGradient3155"
        x1="17.890068"
-       y1="2.197206"
+       y1="8.3091545"
        x2="17.890068"
-       y2="18.507565"
+       y2="36.574547"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3025"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3007"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3005"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2812">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop2814" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop2816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2804">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2806" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2808" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2949"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2953" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2955" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2963"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2810"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2818"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2904"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient1955"
        xlink:href="#linearGradient2851"
-       id="linearGradient2857"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1953"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1935">
+      <stop
+         id="stop1937"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop1939"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4740"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4738"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2898"
+       inkscape:collect="always">
+      <stop
+         id="stop2900"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2902"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient1983"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient1986"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient1990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1992"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2073"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2057"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2032"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2040"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1985"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2100"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2086"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2080">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2082" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2084" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2072"
        x1="6.878005"
        y1="11.789385"
        x2="12.233074"
@@ -87,13 +389,386 @@
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2070"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2068"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       r="5.7619157"
+       fy="5.3375292"
+       fx="10.99079"
+       cy="5.3375292"
+       cx="10.99079"
+       id="radialGradient5135"
+       xlink:href="#linearGradient5129"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2239"
+       inkscape:collect="always">
+      <stop
+         id="stop2241"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2243"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient3156"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3150"
+       inkscape:collect="always">
+      <stop
+         id="stop3152"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop3154"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5129"
+       inkscape:collect="always">
+      <stop
+         id="stop5131"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop5133"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        xlink:href="#linearGradient3149"
-       id="linearGradient2269"
+       id="linearGradient2126"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2132"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2146"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2148"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       y2="34.774117"
+       x2="17.890068"
+       y1="0.6668244"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1999"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2857"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.507565"
+       x2="17.890068"
+       y1="2.197206"
+       x1="17.890068"
+       id="linearGradient1996"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1994"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1976">
+      <stop
+         id="stop1978"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop1980"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2011"
        gradientUnits="userSpaceOnUse"
        x1="17.890068"
-       y1="0.6668244"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2013"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2015"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2059"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2147"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2145"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2143"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2141"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2139"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2124"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
        x2="17.890068"
-       y2="34.774117" />
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2118">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2120" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2122" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2110"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2108"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2106"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       r="5.7619157"
+       fy="5.3375292"
+       fx="10.99079"
+       cy="5.3375292"
+       cx="10.99079"
+       id="radialGradient2104"
+       xlink:href="#linearGradient5129"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)"
+       gradientUnits="userSpaceOnUse"
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient2245"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient2095"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2087"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2167"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2184"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2189"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.789503,0,0,0.789503,-2.624255,-2.373563)"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.717731,0,0,0.71773,-1.34025,-1.112314)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -102,17 +777,19 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="25.992076"
-     inkscape:cx="20.3848"
-     inkscape:cy="9.8287529"
+     inkscape:zoom="14.928527"
+     inkscape:cx="26.286595"
+     inkscape:cy="13.181001"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
-     inkscape:window-width="1268"
-     inkscape:window-height="968"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     height="24px"
+     width="24px" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -134,37 +811,17 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
-    <path
+       id="path1948"
+       style="color:black;fill:url(#radialGradient2184);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:1.32699585;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2245"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(0.75357,0,0,0.753592,-1.481423,-1.2422)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
+       transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:0.5;fill:url(#linearGradient2269);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.46676958;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3145"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(0.681795,0,0,0.681747,-0.197796,2.041858e-2)" />
+       style="fill:url(#linearGradient2189);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999911;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 22.500011,11.499997 C 22.500011,17.571995 17.57201,22.499994 11.500011,22.499994 C 5.428011,22.499994 0.50001162,17.571995 0.50001162,11.499997 C 0.50001162,5.4279975 5.428011,0.4999987 11.500011,0.4999987 C 17.57201,0.4999987 22.500011,5.4279975 22.500011,11.499997 z "
+       id="path4331" />
+    <path
+       style="opacity:0.6;fill:url(#linearGradient2191);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 21.500009,11.499995 C 21.500009,17.019992 17.020007,21.499992 11.500005,21.499992 C 5.9800027,21.499992 1.4999988,17.019992 1.4999988,11.499995 C 1.4999988,5.9799971 5.9800027,1.4999992 11.500005,1.4999992 C 17.020007,1.4999992 21.500009,5.9799971 21.500009,11.499995 z "
+       id="path4333" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/22/scalable/away.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/22/scalable/away.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,23 +7,47 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
    id="svg1331"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/away.png"
+   inkscape:export-filename="/home/hbons/Desktop/away.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
-   sodipodi:docname="away22.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/22/scalable"
+   sodipodi:docname="away.svg">
   <defs
      id="defs1333">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2811">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2813" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2815" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5129">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop5131" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop5133" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient3816">
       <stop
          style="stop-color:#000000;stop-opacity:1;"
@@ -85,10 +109,175 @@
        id="linearGradient2245"
        x1="15.602553"
        y1="1.5657365"
-       x2="15.522223"
+       x2="15.602553"
+       y2="21.045444"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5129"
+       id="radialGradient5135"
+       cx="10.99079"
+       cy="5.3375292"
+       fx="10.99079"
+       fy="5.3375292"
+       r="5.7619157"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2857"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3149"
+       inkscape:collect="always">
+      <stop
+         id="stop3151"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3153"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         id="stop2853"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2855"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2804"
+       inkscape:collect="always">
+      <stop
+         id="stop2806"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2808"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient1983"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1985"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)"
+       gradientUnits="userSpaceOnUse"
        y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient2040"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.705322,0,0,0.705327,0.719621,0.710083)" />
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2032"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2057"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2059"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2811"
+       id="radialGradient2817"
+       cx="5.2511673"
+       cy="7.3335675"
+       fx="5.2511673"
+       fy="7.3335675"
+       r="0.82651663"
+       gradientTransform="matrix(1,0,0,1.337946,0,-2.478349)"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -97,18 +286,18 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="19.69831"
-     inkscape:cx="17.254293"
-     inkscape:cy="10.464226"
+     inkscape:zoom="13.928809"
+     inkscape:cx="38.913091"
+     inkscape:cy="9.6136547"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
      fill="#729fcf"
-     inkscape:window-width="1268"
-     inkscape:window-height="972"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
   <metadata
      id="metadata1336">
     <rdf:RDF>
@@ -130,63 +319,162 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1948"
+       style="color:black;fill:url(#radialGradient1985);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
+       transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1339"
+       style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.3043046px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1951"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.732268,0,0,0.732268,0.582335,-0.13671)" />
+       transform="matrix(0.766665,0,0,0.766715,-0.450429,-1.204777)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.68800032px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1341"
+       style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2788"
+       sodipodi:cx="-3.8088531"
+       sodipodi:cy="3.303823"
+       sodipodi:rx="3.1932809"
+       sodipodi:ry="3.3471739"
+       d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1  -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1  -0.61557221 3.303823 z"
+       transform="matrix(3.246937,0,0,3.097864,23.99872,1.396119)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.59390604px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1954"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.592417,0,0,0.592416,2.763254,2.183203)" />
+       transform="matrix(0.627389,0,0,0.627389,1.718859,1.102807)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:7.84294748px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path2216"
-       sodipodi:cx="15.590227"
-       sodipodi:cy="16.57217"
-       sodipodi:rx="14.345175"
-       sodipodi:ry="14.345175"
-       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.127505,0,0,0.127505,10.01337,9.888169)" />
+       style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2796"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1  4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1  7.6561793 7.5551186 z"
+       transform="matrix(5.2603,0,0,6.403843,-20.2738,-36.88179)" />
     <path
-       style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 21.51933,11.9953 C 21.51933,17.24738 17.256803,21.509937 12.004759,21.509937 C 6.7527164,21.509937 2.4901888,17.24738 2.4901888,11.9953 C 2.4901888,6.7432209 6.7527164,2.4806637 12.004759,2.4806637 C 17.256803,2.4806637 21.51933,6.7432209 21.51933,11.9953 z "
-       id="path2220" />
+       sodipodi:type="arc"
+       style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient1983);stroke-width:0.52440464;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2802"
+       sodipodi:cx="7.5"
+       sodipodi:cy="7"
+       sodipodi:rx="5.5"
+       sodipodi:ry="5"
+       d="M 13 7 A 5.5 5 0 1 1  2,7 A 5.5 5 0 1 1  13 7 z"
+       transform="matrix(1.818182,0,0,2,-2.136362,-2.499999)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1588"
-       sodipodi:cx="20.264311"
-       sodipodi:cy="14.476474"
-       sodipodi:rx="2.9448855"
-       sodipodi:ry="0.78724658"
-       d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1  17.319425,14.476474 A 2.9448855 0.78724658 0 1 1  23.209196 14.476474 z"
-       transform="matrix(0.624124,-0.624126,1.00058,1.000585,-12.1323,7.162558)" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2476"
-       sodipodi:cx="20.264311"
-       sodipodi:cy="14.476474"
-       sodipodi:rx="2.9448855"
-       sodipodi:ry="0.78724658"
-       d="M 23.209196 14.476474 A 2.9448855 0.78724658 0 1 1  17.319425,14.476474 A 2.9448855 0.78724658 0 1 1  23.209196 14.476474 z"
-       transform="matrix(0.624125,0.624124,1.000581,-1.00058,-12.13234,16.83743)" />
+       style="fill:url(#radialGradient2817);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2852"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z"
+       transform="matrix(3.941577,0,0,4.521472,-12.44011,-23.15852)"
+       sodipodi:start="2.4124729"
+       sodipodi:end="4.735525" />
+    <rect
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1926"
+       width="1"
+       height="1"
+       x="10"
+       y="-13"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1928"
+       width="1"
+       height="1"
+       x="12"
+       y="-13"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2838"
+       width="3"
+       height="3"
+       x="10"
+       y="-13"
+       rx="1.5"
+       ry="1.5"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1987"
+       width="1"
+       height="1"
+       x="11"
+       y="-12"
+       rx="0.5"
+       ry="0.5"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1991"
+       width="1"
+       height="1"
+       x="9"
+       y="-14"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1993"
+       width="1"
+       height="1"
+       x="8"
+       y="-15"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1995"
+       width="1"
+       height="1"
+       x="7"
+       y="-16"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1999"
+       width="1"
+       height="1"
+       x="-13.953762"
+       y="-14"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2001"
+       width="1"
+       height="1"
+       x="-14.953762"
+       y="-15"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2003"
+       width="1"
+       height="1"
+       x="-15.953762"
+       y="-16"
+       transform="matrix(0,-1,-1,0,0,0)" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1932"
+       width="1"
+       height="1.0102224"
+       x="11"
+       y="10.989778" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/22/scalable/offline.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/22/scalable/offline.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,16 +7,16 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/22/scalable"
-   sodipodi:docname="offline22.svg"
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/22/scalable"
+   sodipodi:docname="offline.svg"
    inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/offline.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
@@ -24,6 +24,30 @@
      id="defs4">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient3034">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="0"
+         id="stop3036" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop3038" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2784">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="0"
+         id="stop2786" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:0;"
+         offset="1"
+         id="stop2788" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient3816">
       <stop
          style="stop-color:#000000;stop-opacity:1;"
@@ -108,7 +132,1189 @@
        x1="12.00096"
        y1="18.000015"
        x2="12.00096"
-       y2="12.421011" />
+       y2="12.421011"
+       gradientTransform="translate(-14.51828,-0.483273)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2784"
+       id="linearGradient2790"
+       x1="11.999999"
+       y1="17.358862"
+       x2="11.999999"
+       y2="11.173834"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3286"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3002"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3150"
+       id="radialGradient3201"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2245"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5129"
+       id="radialGradient3210"
+       cx="10.99079"
+       cy="5.3375292"
+       fx="10.99079"
+       fy="5.3375292"
+       r="5.7619157"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3212"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient3214"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient3216"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3224">
+      <stop
+         id="stop3226"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop3228"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3230"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient1983"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3245"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)"
+       gradientUnits="userSpaceOnUse"
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient3247"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3249"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3251"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2059"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-24.28038,0.710083)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <linearGradient
+       y2="32.896225"
+       x2="11.507221"
+       y1="4.5275822"
+       x1="6.6158633"
+       gradientTransform="matrix(1.535977,0,0,1.528473,-0.804927,-0.69647)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2210"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.792614"
+       x2="9.0812168"
+       y1="-0.76356995"
+       x1="3.3119085"
+       gradientTransform="matrix(2.177693,0,0,2.167044,-2.372032,-2.235246)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2208"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2141"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2149"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2186"
+       id="linearGradient2157"
+       x1="9.2594385"
+       y1="-1.5641226"
+       x2="11.226587"
+       y2="17.697369"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2165"
+       x1="8.7505674"
+       y1="4.5934086"
+       x2="31.18539"
+       y2="39.834526"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2167"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2169">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2171" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2173" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2187"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2857"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2853" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2855" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3149">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3151" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3153" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient1988"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient3155"
+       x1="17.890068"
+       y1="8.3091545"
+       x2="17.890068"
+       y2="36.574547"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3007"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3005"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2812">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop2814" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop2816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2804">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2806" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2808" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2949"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2953" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2955" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2963"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2810"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2818"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient1955"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,0,0,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1953"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1935">
+      <stop
+         id="stop1937"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop1939"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4740"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4738"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient1990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2073"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2057"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2032"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2040"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2100"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2086"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2080">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2082" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2084" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2072"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2070"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2068"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       r="5.7619157"
+       fy="5.3375292"
+       fx="10.99079"
+       cy="5.3375292"
+       cx="10.99079"
+       id="radialGradient5135"
+       xlink:href="#linearGradient5129"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient2921"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5129"
+       inkscape:collect="always">
+      <stop
+         id="stop5131"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop5133"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2126"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2132"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <linearGradient
+       id="linearGradient2239"
+       inkscape:collect="always">
+      <stop
+         id="stop2241"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2243"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2186"
+       inkscape:collect="always">
+      <stop
+         id="stop2188"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2190"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2898"
+       inkscape:collect="always">
+      <stop
+         id="stop2900"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2902"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2186"
+       id="linearGradient3014"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.177693,0,0,2.167044,21.62797,-2.235244)"
+       x1="3.3119085"
+       y1="-0.76356995"
+       x2="9.0812168"
+       y2="10.792614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient3016"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.535977,0,0,1.528473,23.19507,-0.696468)"
+       x1="6.6158633"
+       y1="4.5275822"
+       x2="11.507221"
+       y2="32.896225" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3021"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3034"
+       id="linearGradient3040"
+       x1="11.500003"
+       y1="19.000008"
+       x2="11.500003"
+       y2="9.3821249"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3034"
+       id="linearGradient3044"
+       gradientUnits="userSpaceOnUse"
+       x1="11.500003"
+       y1="19.000008"
+       x2="11.500003"
+       y2="9.3821249"
+       gradientTransform="matrix(0.857143,0,0,0.857143,1.642855,1.64286)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3034"
+       id="linearGradient3048"
+       gradientUnits="userSpaceOnUse"
+       x1="11.500003"
+       y1="19.000008"
+       x2="11.500003"
+       y2="9.3821249" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2062"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-34.76035,-3.418494)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2253"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-33.47635,-2.157242)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2056"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2246">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2248" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2250" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient1983"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2236"
+       x1="17.890068"
+       y1="8.3091545"
+       x2="17.890068"
+       y2="36.574547"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3025"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2232"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2230"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2215"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2209">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2211" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2213" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2206"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2204"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2202"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2904"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2199"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2197"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2191">
+      <stop
+         id="stop2193"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2195"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2189"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2187"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2184"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2176"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient1986"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2173"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1992"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2170"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2167"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2165"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2163"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1985"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2160"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2158"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2151">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2153" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2155" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2149"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2147"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2144"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       r="5.7619157"
+       fy="5.3375292"
+       fx="10.99079"
+       cy="5.3375292"
+       cx="10.99079"
+       id="radialGradient2142"
+       xlink:href="#linearGradient5129"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient2035"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2125"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2146"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2148"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(1.40375,0,0,1.403934,-1.668488,-1.296374)"
+       y2="9.1482677"
+       x2="12.00096"
+       y1="17.203793"
+       x1="12.00096"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2121"
+       xlink:href="#linearGradient2235"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="14.895812"
+       x2="11.802028"
+       y1="1.9986149"
+       x1="11.802028"
+       id="linearGradient2119"
+       xlink:href="#linearGradient2225"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient2105"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2097"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2225"
+       id="linearGradient2268"
+       gradientUnits="userSpaceOnUse"
+       x1="11.802028"
+       y1="1.9986149"
+       x2="11.802028"
+       y2="14.895812" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -118,16 +1324,18 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="20.899939"
-     inkscape:cx="21.212814"
-     inkscape:cy="11.149734"
+     inkscape:cx="22.169755"
+     inkscape:cy="10.589231"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#888a85"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -149,39 +1357,29 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:0.7;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1948"
+       style="color:black;fill:url(#radialGradient3021);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       transform="matrix(1.385352,0,0,0.634953,-31.10204,6.430418)" />
+       transform="matrix(1.269906,0,0,0.346338,-27.5102,14.41659)" />
     <path
-       style="fill:#888a85;fill-opacity:1;stroke:#555753;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 19.424962,19.424965 C 15.325526,23.524403 8.6720624,23.525096 4.5734814,19.426514 C 0.47490009,15.327931 0.47559413,8.6744652 4.5750306,4.5750271 C 8.6744668,0.4755893 15.32793,0.47489516 19.426511,4.573478 C 23.525092,8.6720606 23.524399,15.325527 19.424962,19.424965 z "
+       style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999821;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 19.27853,19.278538 C 14.983883,23.573188 8.0135883,23.573914 3.719837,19.280161 C -0.57391464,14.986408 -0.57318755,8.0161106 3.72146,3.7214613 C 8.0161072,-0.57318761 14.986402,-0.57391481 19.280153,3.7198384 C 23.573904,8.0135915 23.573178,14.983889 19.27853,19.278538 z "
        id="path2187" />
     <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0137641"
-       inkscape:original="M 12 1.5 C 9.311882 1.5002804 6.612218 2.5127812 4.5625 4.5625 C 0.46306353 8.6619381 0.46391853 15.338917 4.5625 19.4375 C 8.661081 23.536082 15.338065 23.536938 19.4375 19.4375 C 23.536937 15.338062 23.53608 8.6610824 19.4375 4.5625 C 17.388209 2.5132086 14.688118 1.4997196 12 1.5 z "
-       xlink:href="#path2187"
-       style="fill:url(#linearGradient2231);fill-opacity:1.0;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1;opacity:0.4"
-       id="path2215"
-       inkscape:href="#path2187"
-       d="M 12,2.5 C 9.5663798,2.5002539 7.1342728,3.4282024 5.28125,5.28125 C 1.5710546,8.9914951 1.5718911,15.009341 5.28125,18.71875 C 8.9905967,22.428146 15.008567,22.428982 18.71875,18.71875 C 22.428945,15.008505 22.428107,8.990658 18.71875,5.28125 C 16.86613,3.4286052 14.43323,2.4997462 12,2.5 z " />
+       style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 11.5,1.5 C 8.9408673,1.500267 6.3904601,2.4845389 4.4375,4.4375 C 0.53092837,8.3440732 0.53180564,14.656804 4.4375,18.5625 C 8.3431938,22.468195 14.655929,22.469073 18.5625,18.5625 C 22.469072,14.655927 22.468194,8.3431958 18.5625,4.4375 C 16.609962,2.4849619 14.058743,1.4997331 11.5,1.5 z "
+       id="path2215" />
     <path
-       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
-       id="path2233" />
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 15.527292,4.7878577 C 15.153659,4.4142246 14.558496,4.4142246 14.184863,4.7878577 L 11.500003,7.4727164 L 8.7941693,4.7668822 C 8.4383282,4.4110411 7.849532,4.4110411 7.4936909,4.7668822 L 4.7668812,7.4936919 C 4.4110402,7.8495329 4.4110401,8.4383292 4.7668812,8.7941703 L 7.4727154,11.500004 L 4.7878567,14.184864 C 4.4142238,14.558497 4.4142236,15.15366 4.7878567,15.527293 L 7.4727154,18.212151 C 7.8463484,18.585784 8.4415118,18.585784 8.8151448,18.212151 L 11.500003,15.527293 L 14.205838,18.233126 C 14.561679,18.588967 15.150475,18.588967 15.506317,18.233126 L 18.233125,15.506318 C 18.588966,15.150476 18.588965,14.56168 18.233125,14.205839 L 15.527292,11.500004 L 18.21215,8.8151458 C 18.585783,8.4415126 18.585784,7.84635 18.21215,7.4727164 L 15.527292,4.7878577 z "
+       id="path3032" />
     <path
-       style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15.713272,5.1062978 L 12.00096,8.8186095 L 8.2886482,5.1062978 L 5.0182784,8.3766676 L 8.7305901,12.088979 L 5.1066667,15.712903 L 8.3770366,18.983273 L 12.00096,15.359349 L 15.602786,18.961176 L 18.873156,15.690806 L 15.27133,12.088979 L 18.983642,8.3766676 L 15.713272,5.1062978 z "
-       id="rect2204" />
+       style="opacity:1;fill:url(#linearGradient3040);fill-opacity:1.0;stroke:#555753;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 15.527292,4.7878577 C 15.153659,4.4142246 14.558496,4.4142246 14.184863,4.7878577 L 11.500003,7.4727164 L 8.7941693,4.7668822 C 8.4383282,4.4110411 7.849532,4.4110411 7.4936909,4.7668822 L 4.7668812,7.4936919 C 4.4110402,7.8495329 4.4110401,8.4383292 4.7668812,8.7941703 L 7.4727154,11.500004 L 4.7878567,14.184864 C 4.4142238,14.558497 4.4142236,15.15366 4.7878567,15.527293 L 7.4727154,18.212151 C 7.8463484,18.585784 8.4415118,18.585784 8.8151448,18.212151 L 11.500003,15.527293 L 14.205838,18.233126 C 14.561679,18.588967 15.150475,18.588967 15.506317,18.233126 L 18.233125,15.506318 C 18.588966,15.150476 18.588965,14.56168 18.233125,14.205839 L 15.527292,11.500004 L 18.21215,8.8151458 C 18.585783,8.4415126 18.585784,7.84635 18.21215,7.4727164 L 15.527292,4.7878577 z "
+       id="rect3024" />
     <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0009557"
-       inkscape:original="M 8.28125 5.09375 L 5.03125 8.375 L 8.71875 12.09375 L 5.09375 15.71875 L 8.375 18.96875 L 12 15.34375 L 15.59375 18.96875 L 18.875 15.6875 L 15.28125 12.09375 L 18.96875 8.375 L 15.71875 5.09375 L 12 8.8125 L 8.28125 5.09375 z "
-       xlink:href="#rect2204"
-       style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2268"
-       inkscape:href="#rect2204"
-       d="M 8.28125,6.53125 L 6.46875,8.375 L 9.4375,11.375 C 9.6319915,11.563548 9.7417695,11.822867 9.7417695,12.09375 C 9.7417695,12.364633 9.6319915,12.623952 9.4375,12.8125 L 6.53125,15.71875 L 8.375,17.53125 L 11.28125,14.625 C 11.469798,14.430508 11.729117,14.320731 12,14.320731 C 12.270883,14.320731 12.530202,14.430508 12.71875,14.625 L 15.59375,17.53125 L 17.4375,15.6875 L 14.5625,12.8125 C 14.368008,12.623952 14.258231,12.364633 14.258231,12.09375 C 14.258231,11.822867 14.368008,11.563548 14.5625,11.375 L 17.53125,8.375 L 15.71875,6.53125 L 12.71875,9.53125 C 12.530202,9.7257415 12.270883,9.8355195 12,9.8355195 C 11.729117,9.8355195 11.469798,9.7257415 11.28125,9.53125 L 8.28125,6.53125 z " />
+       style="fill:none;fill-opacity:1;stroke:white;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8.15625,5.625 L 5.625,8.15625 L 8.21875,10.78125 C 8.6216689,11.187934 8.6216689,11.843316 8.21875,12.25 L 5.625,14.875 L 8.125,17.375 L 10.75,14.78125 C 11.156684,14.378331 11.812066,14.378331 12.21875,14.78125 L 14.84375,17.375 L 17.375,14.84375 L 14.78125,12.21875 C 14.378331,11.812066 14.378331,11.156684 14.78125,10.75 L 17.375,8.125 L 14.875,5.625 L 12.25,8.21875 C 11.843316,8.6216689 11.187934,8.6216689 10.78125,8.21875 L 8.15625,5.625 z "
+       id="path3050" />
   </g>
 </svg>
Binary file pidgin/pixmaps/status/32/available.png has changed
Binary file pidgin/pixmaps/status/32/away.png has changed
Binary file pidgin/pixmaps/status/32/busy.png has changed
Binary file pidgin/pixmaps/status/32/invisible.png has changed
Binary file pidgin/pixmaps/status/32/offline.png has changed
--- a/pidgin/pixmaps/status/32/scalable/available.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/32/scalable/available.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,19 +7,19 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="32"
    height="32"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
    inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/available32.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable"
-   sodipodi:docname="available32.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable"
+   sodipodi:docname="available.svg">
   <defs
      id="defs4">
     <linearGradient
@@ -76,15 +76,434 @@
        x2="17.890068"
        y2="36.574547"
        gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3025"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3007"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3005"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2812">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop2814" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop2816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2804">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2806" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2808" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2949"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2953" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2955" />
+    </linearGradient>
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2851"
-       id="linearGradient2857"
+       id="linearGradient2963"
        x1="6.878005"
        y1="11.789385"
        x2="12.233074"
        y2="27.77807"
        gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2810"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2818"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2904"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient1955"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1953"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1935">
+      <stop
+         id="stop1937"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop1939"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4740"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4738"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2898"
+       inkscape:collect="always">
+      <stop
+         id="stop2900"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2902"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient1983"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient1986"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient1990"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1992"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2073"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2057"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2032"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2040"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1985"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2100"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2086"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2080">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2082" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2084" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2072"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2070"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2068"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       r="5.7619157"
+       fy="5.3375292"
+       fx="10.99079"
+       cy="5.3375292"
+       cx="10.99079"
+       id="radialGradient5135"
+       xlink:href="#linearGradient5129"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2239"
+       inkscape:collect="always">
+      <stop
+         id="stop2241"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2243"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       r="6.6449099"
+       fy="10.457643"
+       fx="10.748654"
+       cy="10.457643"
+       cx="10.748654"
+       id="radialGradient3156"
+       xlink:href="#linearGradient3150"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3150"
+       inkscape:collect="always">
+      <stop
+         id="stop3152"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop3154"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5129"
+       inkscape:collect="always">
+      <stop
+         id="stop5131"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop5133"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2126"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2132"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2146"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2148"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -94,16 +513,16 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="14.928527"
-     inkscape:cx="21.066059"
-     inkscape:cy="16.155598"
+     inkscape:cx="1.0834072"
+     inkscape:cy="19.47767"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#eeeeec"
-     inkscape:window-width="1268"
-     inkscape:window-height="968"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -120,42 +539,22 @@
      inkscape:groupmode="layer"
      id="layer1">
     <path
-       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
-       sodipodi:ry="8.6620579"
-       sodipodi:rx="8.6620579"
-       sodipodi:cy="19.008621"
-       sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:1;color:black;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.847136,0,0,0.865845,-41.46939,8.04148)" />
-    <path
+       transform="matrix(1.731691,0,0,0.461784,-37.88165,19.22212)"
        sodipodi:type="arc"
-       style="opacity:1;fill:url(#linearGradient2857);fill-opacity:1;fill-rule:evenodd;stroke:#418203;stroke-width:0.96092743;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2245"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(1.040661,0,0,1.040661,-2.617502,-2.287049)" />
+       style="color:black;fill:url(#radialGradient2148);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2173"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
     <path
-       sodipodi:type="arc"
-       style="opacity:0.5;fill:url(#linearGradient3155);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.03206742;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3145"
-       sodipodi:cx="17.890068"
-       sodipodi:cy="17.572527"
-       sodipodi:rx="13.932817"
-       sodipodi:ry="13.932817"
-       d="M 31.822886 17.572527 A 13.932817 13.932817 0 1 1  3.9572506,17.572527 A 13.932817 13.932817 0 1 1  31.822886 17.572527 z"
-       transform="matrix(0.968935,0,0,0.968925,-1.334307,-1.026606)" />
-    <image
-       id="image1323"
-       height="64.794617"
-       width="64.794617"
-       sodipodi:absref="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       xlink:href="/home/hbons/Desktop/Gaim Refresh/Tango-Palette.png"
-       x="-74"
-       y="-17" />
+       style="fill:url(#linearGradient1986);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999946;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 30.500005,15.500002 C 30.500005,23.780003 23.780005,30.500004 15.500008,30.500004 C 7.2200097,30.500004 0.50001191,23.780003 0.50001191,15.500002 C 0.50001191,7.2200001 7.2200097,0.49999934 15.500008,0.49999934 C 23.780005,0.49999934 30.500005,7.2200001 30.500005,15.500002 z "
+       id="path4331" />
+    <path
+       style="opacity:0.6;fill:url(#linearGradient1983);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999863;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 29.499996,15.5 C 29.499996,23.227999 23.227996,29.500002 15.499996,29.500002 C 7.7719974,29.500002 1.4999949,23.227999 1.4999949,15.5 C 1.4999949,7.7719992 7.7719974,1.4999993 15.499996,1.4999993 C 23.227996,1.4999993 29.499996,7.7719992 29.499996,15.5 z "
+       id="path4333" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/32/scalable/away.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/32/scalable/away.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,23 +7,47 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="32"
    height="32"
    id="svg1331"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/away32.png"
+   inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/22/away.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable"
-   sodipodi:docname="away32.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable"
+   sodipodi:docname="away.svg">
   <defs
      id="defs1333">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2808">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2810" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2812" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5129">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop5131" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop5133" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient3816">
       <stop
          style="stop-color:#000000;stop-opacity:1;"
@@ -34,15 +58,28 @@
          offset="1"
          id="stop3820" />
     </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3150">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop3152" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop3154" />
+    </linearGradient>
     <radialGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
+       xlink:href="#linearGradient3150"
+       id="radialGradient3156"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
@@ -56,16 +93,171 @@
          offset="1"
          id="stop2243" />
     </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5129"
+       id="radialGradient5135"
+       cx="10.99079"
+       cy="5.3375292"
+       fx="10.99079"
+       fy="5.3375292"
+       r="5.7619157"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2857"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3149"
+       inkscape:collect="always">
+      <stop
+         id="stop3151"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3153"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         id="stop2853"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2855"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2804"
+       inkscape:collect="always">
+      <stop
+         id="stop2806"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2808"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient1983"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1985"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)"
+       gradientUnits="userSpaceOnUse"
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient2040"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2032"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2057"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2239"
-       id="linearGradient2245"
+       id="linearGradient2073"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
        x1="15.602553"
        y1="1.5657365"
-       x2="15.522223"
-       y2="33.483475"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)" />
+       x2="15.602553"
+       y2="21.045444" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2808"
+       id="radialGradient2814"
+       cx="5.2511673"
+       cy="7.3335675"
+       fx="5.2511673"
+       fy="7.3335675"
+       r="0.82651663"
+       gradientTransform="matrix(1,0,0,1.337946,0,-2.478349)"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -74,20 +266,20 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="19.69831"
-     inkscape:cx="23.600016"
-     inkscape:cy="15.388506"
+     inkscape:zoom="13.928809"
+     inkscape:cx="28.28763"
+     inkscape:cy="14.998178"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
      fill="#729fcf"
-     inkscape:window-width="1268"
-     inkscape:window-height="972"
-     inkscape:window-x="6"
-     inkscape:window-y="21"
-     showguides="true"
-     inkscape:guide-bbox="true" />
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     width="32px"
+     height="32px" />
   <metadata
      id="metadata1336">
     <rdf:RDF>
@@ -109,63 +301,101 @@
        sodipodi:rx="8.6620579"
        sodipodi:cy="19.008621"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1948"
+       style="color:black;fill:url(#radialGradient1985);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
        sodipodi:type="arc"
-       transform="matrix(1.847136,0,0,0.865845,-41.46939,8.04148)" />
+       transform="matrix(1.731691,0,0,0.461784,-37.87757,19.22211)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:0.98932087px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1339"
+       style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:0.95645106px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1951"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(1.010793,0,0,1.010792,0.241509,-0.751017)" />
+       transform="matrix(1.045505,0,0,1.045554,-0.797598,-1.825749)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1.24782109px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1341"
+       style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2788"
+       sodipodi:cx="-3.8088531"
+       sodipodi:cy="3.303823"
+       sodipodi:rx="3.1932809"
+       sodipodi:ry="3.3471739"
+       d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1  -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1  -0.61557221 3.303823 z"
+       transform="matrix(4.414832,0,0,4.210029,32.44953,1.716868)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.40340911;color:black;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:1.19542968px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path1954"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.80139,0,0,0.801405,3.511281,2.723938)" />
+       transform="matrix(0.836518,0,0,0.836518,2.458491,1.637077)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2796"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1  4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1  7.6561793 7.5551186 z"
+       transform="matrix(7.116878,0,0,8.664024,-27.4881,-49.95773)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:5.84032869px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path2216"
+       style="opacity:0.76704544;fill:none;fill-opacity:1;stroke:url(#linearGradient1983);stroke-width:0.37457478;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2802"
+       sodipodi:cx="7.5"
+       sodipodi:cy="7"
+       sodipodi:rx="5.5"
+       sodipodi:ry="5"
+       d="M 13 7 A 5.5 5 0 1 1  2,7 A 5.5 5 0 1 1  13 7 z"
+       transform="matrix(2.545454,0,0,2.8,-3.590908,-4.100001)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient2814);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2852"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 4.835244,8.4394021 A 1.615877,1.3273276 0 0 1 6.0776839,6.2281462 L 6.0403023,7.5551186 z"
+       transform="matrix(5.732654,0,0,7.234355,-19.36499,-39.05363)"
+       sodipodi:start="2.4124729"
+       sodipodi:end="4.735525" />
+    <path
+       sodipodi:type="arc"
+       style="color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:7.17263222px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2051"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.171225,0,0,0.171225,13.33055,13.16244)" />
-    <path
-       style="opacity:0.5;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:0.99999946px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 29.484663,15.989048 C 29.484663,23.430003 23.442356,29.46904 15.997368,29.46904 C 8.5523815,29.46904 2.5100737,23.430003 2.5100737,15.989048 C 2.5100737,8.5480941 8.5523815,2.5090586 15.997368,2.5090586 C 23.442356,2.5090586 29.484663,8.5480941 29.484663,15.989048 z "
-       id="path2220" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1342"
-       sodipodi:cx="19.747887"
-       sodipodi:cy="9.4599953"
-       sodipodi:rx="1.4722075"
-       sodipodi:ry="2.6398203"
-       d="M 21.220094 9.4599953 A 1.4722075 2.6398203 0 1 1  18.275679,9.4599953 A 1.4722075 2.6398203 0 1 1  21.220094 9.4599953 z"
-       transform="matrix(0.882374,0.509439,-0.56822,0.984187,6.966287,-8.07548)" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path1344"
-       sodipodi:cx="19.747887"
-       sodipodi:cy="9.4599953"
-       sodipodi:rx="1.4722075"
-       sodipodi:ry="2.6398203"
-       d="M 21.220094 9.4599953 A 1.4722075 2.6398203 0 1 1  18.275679,9.4599953 A 1.4722075 2.6398203 0 1 1  21.220094 9.4599953 z"
-       transform="matrix(0.882374,-0.509439,-0.56822,-0.984187,6.966287,40.07548)" />
+       transform="matrix(0.13942,0,0,0.139419,13.32641,13.18954)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:4.86999989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4234"
+       width="2.0651035"
+       height="6.1953154"
+       x="20.887754"
+       y="-8.7545109"
+       transform="matrix(0.707107,0.707107,-0.707107,0.707107,0,0)"
+       rx="1.0325518"
+       ry="1.0027943" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:4.86999989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2080"
+       width="2.065105"
+       height="6.1953192"
+       x="-1.0325458"
+       y="-30.674829"
+       transform="matrix(0.707107,-0.707107,-0.707107,-0.707107,0,0)"
+       rx="1.0325525"
+       ry="1.002795" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/32/scalable/busy.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/32/scalable/busy.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -7,19 +7,19 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="32"
    height="32"
    id="svg1331"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
    inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/32/busy32.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/32/scalable"
-   sodipodi:docname="busy32.svg">
+   sodipodi:docbase="/home/hbons/Desktop/experiment/32/scalable"
+   sodipodi:docname="busy.svg">
   <defs
      id="defs1333">
     <linearGradient
@@ -34,16 +34,6 @@
          offset="1"
          id="stop3820" />
     </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
        id="linearGradient2186">
@@ -68,26 +58,554 @@
          offset="1"
          id="stop2243" />
     </linearGradient>
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2148"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2146"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2132"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2126"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5129">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop5131" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop5133" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3150">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop3152" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop3154" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3150"
+       id="radialGradient3156"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5129"
+       id="radialGradient5135"
+       cx="10.99079"
+       cy="5.3375292"
+       fx="10.99079"
+       fy="5.3375292"
+       r="5.7619157"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2068"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2070"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2072"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2080">
+      <stop
+         id="stop2082"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2084"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2086"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2100"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1985"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)"
+       gradientUnits="userSpaceOnUse"
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient2040"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2032"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2057"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2239"
-       id="linearGradient2245"
-       x1="15.535398"
-       y1="1.8014067"
-       x2="15.535398"
-       y2="48.674999"
+       id="linearGradient2073"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <radialGradient
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1990"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2898">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2900" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2902" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient4738"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient4740"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2269"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient1935">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop1937" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop1939" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient1953"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient1955"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2963"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         id="stop2953"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2955"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2949"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2804"
+       inkscape:collect="always">
+      <stop
+         id="stop2806"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2808"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3005"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1.000376,0,0,0.999343,-1.147524e-3,1.523185e-2)" />
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient3007"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="36.574547"
+       x2="17.890068"
+       y1="8.3091545"
+       x1="17.890068"
+       id="linearGradient3155"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1988"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3149"
+       inkscape:collect="always">
+      <stop
+         id="stop3151"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3153"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         id="stop2853"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2855"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2070"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2083"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-54.47635,15.84276)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2087"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-55.76035,14.58151)"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2093"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2857"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2187"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2169">
+      <stop
+         id="stop2171"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2173"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2167"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)"
+       gradientUnits="userSpaceOnUse"
+       y2="39.834526"
+       x2="31.18539"
+       y1="4.5934086"
+       x1="8.7505674"
+       id="linearGradient2165"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)"
+       gradientUnits="userSpaceOnUse"
+       y2="17.697369"
+       x2="11.226587"
+       y1="-1.5641226"
+       x1="9.2594385"
+       id="linearGradient2157"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2149"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2141"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2186"
-       id="linearGradient2194"
-       x1="11.226587"
-       y1="-5.4832759"
-       x2="11.226587"
-       y2="17.697369"
+       id="linearGradient2208"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1.418323,0,0,1.416852,-1.021803,-0.99085)" />
+       gradientTransform="matrix(3.048768,0,0,3.033857,-3.920843,-3.729339)"
+       x1="3.3119085"
+       y1="-0.76356995"
+       x2="9.0812168"
+       y2="10.792614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2210"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.150367,0,0,2.139859,-1.726897,-1.575055)"
+       x1="6.6158633"
+       y1="4.5275822"
+       x2="11.507221"
+       y2="32.896225" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -96,18 +614,18 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="25.992076"
-     inkscape:cx="23.061682"
-     inkscape:cy="14.291409"
+     inkscape:zoom="11.313708"
+     inkscape:cx="32.077294"
+     inkscape:cy="17.208225"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
      fill="#ef2929"
-     inkscape:window-width="1268"
-     inkscape:window-height="972"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1440"
+     inkscape:window-height="849"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
   <metadata
      id="metadata1336">
     <rdf:RDF>
@@ -124,43 +642,47 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <path
-       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
-       sodipodi:ry="8.6620579"
-       sodipodi:rx="8.6620579"
-       sodipodi:cy="19.008621"
+       transform="matrix(1.731691,0,0,0.461784,-37.87759,19.22212)"
+       sodipodi:type="arc"
+       style="color:black;fill:url(#radialGradient2093);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2091"
        sodipodi:cx="31.112698"
-       id="path4318"
-       style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       sodipodi:type="arc"
-       transform="matrix(1.847136,0,0,0.865845,-41.46938,8.041481)" />
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1311"
+       style="color:black;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36561811px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2194"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.989705,0,0,0.989705,0.437593,-0.53424)" />
+       transform="matrix(0.936036,0,0,0.936032,1.023071,0.100614)" />
     <path
        sodipodi:type="arc"
-       style="opacity:1;color:#000000;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.98950732px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1339"
+       style="color:black;fill:#f24747;fill-opacity:1;fill-rule:evenodd;stroke:#820000;stroke-width:0.95634508px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2196"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(1.010428,0,0,1.010778,0.242013,-0.750701)" />
+       transform="matrix(1.045648,0,0,1.045648,-0.801887,-1.828653)" />
     <path
-       style="opacity:0.6;color:#000000;fill:url(#linearGradient2194);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2245);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 29.499568,16.004716 C 29.499568,23.446135 23.453927,29.485548 16.004828,29.485548 C 8.5557329,29.485548 2.5100898,23.446135 2.5100898,16.004716 C 2.5100898,8.5632961 8.5557329,2.5238833 16.004828,2.5238833 C 23.453927,2.5238833 29.499568,8.5632961 29.499568,16.004716 z "
-       id="path2220" />
-    <path
-       style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:0.99999958px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 27.51954,15.864482 C 27.51954,20.204712 25.510558,19.437434 15.893137,19.437434 C 6.2213077,19.437434 4.46153,20.133953 4.46153,16.055453 C 4.46153,11.913293 6.4064326,12.529223 15.990534,12.529223 C 25.520227,12.529223 27.51954,11.460602 27.51954,15.864482 z "
-       id="path1341"
-       sodipodi:nodetypes="czzzz" />
+       style="opacity:0.6;color:black;fill:url(#linearGradient2208);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2210);stroke-width:0.99999946px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 29.499988,15.499986 C 29.499988,23.227979 23.227989,29.499978 15.49999,29.499978 C 7.7719953,29.499978 1.4999991,23.227979 1.4999991,15.499986 C 1.4999991,7.7719948 7.7719953,1.4999985 15.49999,1.4999985 C 23.227989,1.4999985 29.499988,7.7719948 29.499988,15.499986 z "
+       id="path2199" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;stroke:#a40000;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3207"
+       width="24"
+       height="5.9877748"
+       x="3.5000014"
+       y="12.535524"
+       rx="2.098541"
+       ry="1.919746" />
   </g>
 </svg>
--- a/pidgin/pixmaps/status/32/scalable/offline.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/status/32/scalable/offline.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -15,7 +15,7 @@
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
    version="1.0"
-   sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/32/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/experiment/status/32/scalable"
    sodipodi:docname="offline.svg"
    inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/32/offline.png"
    inkscape:export-xdpi="90"
@@ -106,10 +106,498 @@
        id="linearGradient2270"
        gradientUnits="userSpaceOnUse"
        x1="12.00096"
-       y1="18.000015"
+       y1="17.203793"
        x2="12.00096"
-       y2="12.421011"
-       gradientTransform="matrix(1.318182,0,0,1.318182,-2.3895e-2,0.33147)" />
+       y2="9.1482677"
+       gradientTransform="matrix(1.40375,0,0,1.403934,-1.668488,-1.296374)" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2148"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2146"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="21.045444"
+       x2="15.602553"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.705322,0,0,0.705327,-58.76363,3.243275)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2132"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientTransform="matrix(0.466524,0,0,0.466525,38.65385,10.80199)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2126"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5129">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop5131" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop5133" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3150"
+       id="radialGradient2035"
+       cx="10.748654"
+       cy="10.457643"
+       fx="10.748654"
+       fy="10.457643"
+       r="6.6449099"
+       gradientTransform="matrix(-0.842757,0,0,-0.35721,19.80716,14.19321)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2239">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2241" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2243" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5129"
+       id="radialGradient5135"
+       cx="10.99079"
+       cy="5.3375292"
+       fx="10.99079"
+       fy="5.3375292"
+       r="5.7619157"
+       gradientTransform="matrix(1,0,0,0.493392,0,4.185903)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2068"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2070"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2072"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2080">
+      <stop
+         id="stop2082"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2084"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2086"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2100"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient1985"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientTransform="matrix(0.999824,0,0,0.999281,2.209264e-4,5.644055e-4)"
+       gradientUnits="userSpaceOnUse"
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       id="linearGradient2040"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2032"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient2057"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2073"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.705322,0,0,0.705327,8.71963,7.710084)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.602553"
+       y2="21.045444" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1992"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <radialGradient
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1990"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(1.076595,0,0,1.076595,-3.760351,-3.418494)"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1986"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(1.004822,0,0,1.004822,-2.476351,-2.157242)"
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1983"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2898">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2900" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2902" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient4738"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient4740"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2269"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient1935">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop1937" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop1939" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient1953"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient1955"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2904"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2963"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         id="stop2953"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2955"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2949"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2804"
+       inkscape:collect="always">
+      <stop
+         id="stop2806"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2808"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3005"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient3007"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3025"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="36.574547"
+       x2="17.890068"
+       y1="8.3091545"
+       x1="17.890068"
+       id="linearGradient3155"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient1983"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3149"
+       inkscape:collect="always">
+      <stop
+         id="stop3151"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3153"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         id="stop2853"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2855"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2056"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.004822,0,0,1.004822,-33.47635,-2.157242)"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2059"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.076595,0,0,1.076595,-34.76035,-3.418494)"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2062"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -119,16 +607,16 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="16.976026"
-     inkscape:cx="19.582303"
-     inkscape:cy="17.200313"
+     inkscape:cx="12.808044"
+     inkscape:cy="15.904368"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#888a85"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="23" />
+     inkscape:window-width="1440"
+     inkscape:window-height="849"
+     inkscape:window-x="0"
+     inkscape:window-y="0" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -145,6 +633,16 @@
      inkscape:groupmode="layer"
      id="layer1">
     <path
+       transform="matrix(1.731691,0,0,0.461784,-37.87759,19.22212)"
+       sodipodi:type="arc"
+       style="color:black;fill:url(#radialGradient2062);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2173"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
+    <path
        d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
        sodipodi:ry="8.6620579"
        sodipodi:rx="8.6620579"
@@ -155,45 +653,26 @@
        sodipodi:type="arc"
        transform="matrix(1.847136,0,0,0.865845,-41.46938,8.041481)" />
     <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:url(#radialGradient3156);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3140"
-       sodipodi:cx="10.748654"
-       sodipodi:cy="10.457643"
-       sodipodi:rx="6.6449099"
-       sodipodi:ry="2.3675451"
-       d="M 17.393564 10.457643 A 6.6449099 2.3675451 0 1 1  4.1037445,10.457643 A 6.6449099 2.3675451 0 1 1  17.393564 10.457643 z"
-       transform="matrix(2.182121,0,0,1.391928,-7.954869,12.14827)" />
-    <path
-       style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999875;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 26.256921,26.256907 C 20.600315,31.913529 11.419537,31.914486 5.7641107,26.259045 C 0.10868503,20.603602 0.1096427,11.422797 5.7662484,5.7661742 C 11.422853,0.1095522 20.603631,0.10859439 26.259058,5.7640366 C 31.914483,11.419479 31.913526,20.600284 26.256921,26.256907 z "
+       style="fill:#888a85;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999887;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 26.107102,26.107103 C 20.250761,31.963443 10.74581,31.964434 4.8906904,26.109316 C -0.9644283,20.254196 -0.96343682,10.749245 4.8929036,4.8929035 C 10.749243,-0.96343684 20.254194,-0.96442847 26.109314,4.8906904 C 31.964432,10.74581 31.963442,20.250761 26.107102,26.107103 z "
        id="path2187" />
     <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0137641"
-       inkscape:original="M 16 1.53125 C 12.290802 1.5316369 8.6095524 2.9529389 5.78125 5.78125 C 0.1246443 11.437873 0.094574465 20.594557 5.75 26.25 C 11.405426 31.905441 20.593393 31.906622 26.25 26.25 C 31.906605 20.593377 31.905425 11.405442 26.25 5.75 C 23.422286 2.9222789 19.709198 1.5308631 16 1.53125 z "
-       xlink:href="#path2187"
-       style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:#ffffff;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
-       id="path2215"
-       inkscape:href="#path2187"
-       d="M 16,2.53125 C 12.549705,2.5316099 9.1373736,3.8626287 6.5,6.5 C 1.2289233,11.771071 1.2014746,20.26398 6.46875,25.53125 C 11.736026,30.798519 20.262813,30.799682 25.53125,25.53125 C 30.799686,20.262819 30.798523,11.736019 25.53125,6.46875 C 22.89972,3.837224 19.4556,2.5308896 16,2.53125 z " />
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 20.92264,5.5294893 L 15.440071,10.599712 L 10.134222,5.2349563 L 5.3520274,10.017152 L 10.598969,15.440813 L 5.6452582,20.865777 L 9.8972946,25.942506 L 15.322258,20.340822 L 20.894813,25.442125 L 25.618102,21.013369 L 20.222267,15.49972 L 25.469209,10.252778 L 20.92264,5.5294893 z "
+       id="path2233"
+       sodipodi:nodetypes="ccccccccccccc" />
     <path
-       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 20.689058,7.0625004 L 15.795555,11.956003 L 10.902052,7.0625004 L 6.5911096,11.373443 L 11.484612,16.266945 L 6.7076214,21.043936 L 11.018564,25.354879 L 15.795555,20.577888 L 20.543417,25.325751 L 24.85436,21.014808 L 20.106498,16.266945 L 25,11.373443 L 20.689058,7.0625004 z "
-       id="path2233" />
+       style="opacity:0.4;fill:url(#linearGradient2231);fill-opacity:1;stroke:white;stroke-width:0.99999809;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 15.5,1.5 C 11.919821,1.5003735 8.3615884,2.8884111 5.625,5.625 C 0.15534426,11.094657 0.15654704,19.906546 5.625,25.375 C 11.093454,30.843452 19.905345,30.844655 25.375,25.375 C 30.844655,19.905343 30.843452,11.093454 25.375,5.625 C 22.638996,2.8889961 19.07979,1.4996266 15.5,1.5 z "
+       id="path2215" />
     <path
        style="opacity:1;fill:url(#linearGradient2270);fill-opacity:1;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 20.999968,6.7515891 L 16.03118,11.543656 L 11.018644,6.7127252 L 6.7383758,11.020002 L 11.484612,16.031319 L 6.7076211,21.043936 L 11.018564,25.354879 L 16.028737,20.500159 L 20.97092,25.325751 L 25.242999,20.975944 L 20.534,16.033762 L 25.310911,11.101395 L 20.999968,6.7515891 z "
+       d="M 20.955744,5.3057668 L 15.428786,10.645198 L 10.208679,5.2643747 L 5.2971223,10.087479 L 10.587082,15.424797 L 5.3232778,20.999126 L 9.9729678,25.708323 L 15.426184,20.184349 L 20.92481,25.618393 L 25.650927,20.985618 L 20.223902,15.427399 L 25.723247,10.233074 L 20.955744,5.3057668 z "
        id="rect2204"
        sodipodi:nodetypes="ccccccccccccc" />
     <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0009557"
-       inkscape:original="M 11.03125 6.71875 L 6.75 11.03125 L 11.5 16.03125 L 6.71875 21.03125 L 11.03125 25.34375 L 16.03125 20.5 L 20.96875 25.3125 L 25.25 20.96875 L 20.53125 16.03125 L 25.3125 11.09375 L 21 6.75 L 16.03125 11.53125 L 11.03125 6.71875 z "
-       xlink:href="#rect2204"
-       style="opacity:1;fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2268"
-       inkscape:href="#rect2204"
-       d="M 11.40625,8.5 L 8.53125,11.375 L 12.71875,15.5625 C 12.913242,15.751048 13.023019,16.010367 13.023019,16.28125 C 13.023019,16.552133 12.913242,16.811452 12.71875,17 L 8.65625,21.03125 L 11.53125,23.90625 L 15.5625,19.84375 C 15.751048,19.649258 16.010367,19.539481 16.28125,19.539481 C 16.552133,19.539481 16.811452,19.649258 17,19.84375 L 21.03125,23.875 L 23.90625,21 L 19.875,17 C 19.680508,16.811452 19.570731,16.552133 19.570731,16.28125 C 19.570731,16.010367 19.680508,15.751048 19.875,15.5625 L 24.0625,11.375 L 21.1875,8.5 L 17,12.6875 C 16.811452,12.881992 16.552133,12.991769 16.28125,12.991769 C 16.010367,12.991769 15.751048,12.881992 15.5625,12.6875 L 11.40625,8.5 z " />
+       style="fill:none;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 10.21875,6.6875 L 6.75,10.09375 L 11.3125,14.71875 C 11.697174,15.10858 11.697174,15.73517 11.3125,16.125 L 6.6875,21 L 9.96875,24.28125 L 14.71875,19.46875 C 14.907298,19.274258 15.166617,19.164481 15.4375,19.164481 C 15.708383,19.164481 15.967702,19.274258 16.15625,19.46875 L 20.96875,24.21875 L 24.25,21 L 19.5,16.125 C 19.123854,15.726673 19.137781,15.099974 19.53125,14.71875 L 24.3125,10.1875 L 20.9375,6.71875 L 16.125,11.375 C 15.726673,11.751146 15.099974,11.737219 14.71875,11.34375 L 10.21875,6.6875 z "
+       id="path2268" />
   </g>
 </svg>
--- a/pidgin/pixmaps/tray/16/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/16/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -6,6 +6,7 @@
 		tray-connecting.png \
 		tray-extended-away.png \
 		tray-message.png \
+		tray-new-im.png \
 		tray-offline.png \
 		tray-online.png
 
--- a/pidgin/pixmaps/tray/16/scalable/tray-away.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/16/scalable/tray-away.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,7 +14,7 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docbase="/home/hbons/Desktop/experiment/tray/16/scalable"
    sodipodi:docname="tray-away.svg">
   <defs
      id="defs1874">
@@ -549,37 +549,6 @@
          offset="1"
          style="stop-color:#eeeeec;stop-opacity:0;" />
     </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient3201"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient3203"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,36,8.8)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2804"
-       id="linearGradient3205"
-       gradientUnits="userSpaceOnUse"
-       x1="21.875"
-       y1="48.000977"
-       x2="21.875"
-       y2="40" />
     <linearGradient
        y2="14.895812"
        x2="11.802028"
@@ -780,58 +749,297 @@
          offset="1.0000000"
          style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
     </linearGradient>
-    <radialGradient
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient3398"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2046"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
-    <radialGradient
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2048">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2050" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2052" />
+    </linearGradient>
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient3400"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,36,8.8)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
+       xlink:href="#linearGradient2851"
+       id="linearGradient2060"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2804"
-       id="linearGradient3402"
-       gradientUnits="userSpaceOnUse"
-       x1="21.875"
-       y1="48.000977"
-       x2="21.875"
-       y2="40" />
+       id="linearGradient2062"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
     <radialGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2260"
-       id="radialGradient3404"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2064"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2812">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop2814" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop2816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2269"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2177">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2179" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2181" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3149">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop3151" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop3153" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2857"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       y2="14.895812"
+       x2="11.802028"
+       y1="1.9986149"
+       x1="11.802028"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6606"
+       xlink:href="#linearGradient2225"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48.674999"
+       x2="15.535398"
+       y1="1.8014067"
+       x1="15.535398"
+       gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2170"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="17.697369"
+       x2="11.226587"
+       y1="-5.4832759"
+       x1="11.226587"
+       gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2168"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1357"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
        gradientUnits="userSpaceOnUse"
        gradientTransform="matrix(1,0,0,0.626667,0,6.566431)"
-       cx="11.756953"
-       cy="17.588654"
+       r="6.3436799"
+       fy="17.588654"
        fx="11.756953"
-       fy="17.588654"
-       r="6.3436799" />
+       cy="17.588654"
+       cx="11.756953"
+       id="radialGradient2266"
+       xlink:href="#linearGradient2260"
+       inkscape:collect="always" />
+    <radialGradient
+       r="7.0034069"
+       fy="8.963316"
+       fx="9.9988937"
+       cy="8.963316"
+       cx="9.9988937"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2158"
+       xlink:href="#linearGradient2200"
+       inkscape:collect="always" />
+    <radialGradient
+       r="7.0034069"
+       fy="8.963316"
+       fx="9.9988937"
+       cy="8.963316"
+       cx="9.9988937"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2156"
+       xlink:href="#linearGradient2200"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2148"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)"
+       gradientUnits="userSpaceOnUse"
+       y2="17.697369"
+       x2="11.226587"
+       y1="-5.4832759"
+       x1="11.226587"
+       id="linearGradient2134"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)"
+       gradientUnits="userSpaceOnUse"
+       y2="48.674999"
+       x2="15.535398"
+       y1="1.8014067"
+       x1="15.535398"
+       id="linearGradient2126"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="5"
+       fy="44"
+       fx="1"
+       cy="44"
+       cx="1"
+       gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2124"
+       xlink:href="#linearGradient2781"
+       inkscape:collect="always" />
+    <radialGradient
+       r="5"
+       fy="44"
+       fx="1"
+       cy="44"
+       cx="1"
+       gradientTransform="matrix(2,0,0,0.8,36,8.8)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2116"
+       xlink:href="#linearGradient2781"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="40"
+       x2="21.875"
+       y1="48.000977"
+       x1="21.875"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2114"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2106">
+      <stop
+         id="stop2108"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop2110" />
+      <stop
+         id="stop2112"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="24.143761"
+       x2="27.273300"
+       y1="10.957423"
+       x1="35.003674"
+       gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2104"
+       xlink:href="#linearGradient29418"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2098">
+      <stop
+         id="stop2100"
+         offset="0.0000000"
+         style="stop-color:#f5f5f5;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2102"
+         offset="1.0000000"
+         style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2989"
+       inkscape:collect="always">
+      <stop
+         id="stop2991"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop2993"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2239"
-       id="linearGradient3409"
+       xlink:href="#linearGradient2989"
+       id="linearGradient2232"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.296524,0,0,0.296522,5.75564,5.75564)"
-       x1="15.602553"
-       y1="1.5657365"
-       x2="15.522223"
-       y2="33.483475" />
+       x1="1.5769236"
+       y1="1.3319674"
+       x2="10.043059"
+       y2="10.018044" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -840,15 +1048,15 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="22.197802"
-     inkscape:cx="15.940485"
-     inkscape:cy="11.44958"
+     inkscape:zoom="44.395604"
+     inkscape:cx="14.075416"
+     inkscape:cy="6.2074085"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
      inkscape:window-width="1440"
-     inkscape:window-height="853"
+     inkscape:window-height="849"
      inkscape:window-x="0"
      inkscape:window-y="0" />
   <metadata
@@ -903,90 +1111,6 @@
        d="M 9.2045414,1.5000001 C 9.3816286,1.5000001 9.4999957,1.6028844 9.4999957,1.7987807 L 9.4999957,7.3475646 C 9.4999957,7.543461 9.3816293,7.6463453 9.2045414,7.6463453 L 4.9999978,8.3220879 C 4.8242182,8.3232475 4.6547723,8.3838621 4.5227251,8.4928197 L 3.7045437,9.175747 L 3.7045437,9.0050151 C 3.7025982,8.6286041 3.3781242,8.3239148 2.9772712,8.3220879 L 1.7954537,7.6463453 C 1.6183665,7.6463453 1.4999993,7.5434596 1.4999993,7.3475646 L 1.4999993,1.7987807 C 1.4999993,1.6028846 1.6183665,1.5000001 1.7954537,1.5000001 L 9.2045414,1.5000001 z "
        id="path5807"
        sodipodi:nodetypes="cccccccccccccc" />
-    <g
-       id="g3183"
-       style="opacity:0.3"
-       transform="matrix(-0.340425,0,0,0.625,-11.6596,-23.99648)">
-      <rect
-         transform="scale(-1,-1)"
-         y="-48"
-         x="-11"
-         height="8"
-         width="10"
-         id="rect3185"
-         style="opacity:1;color:black;fill:url(#radialGradient3201);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="38"
-         height="8"
-         width="10"
-         id="rect3187"
-         style="opacity:1;color:black;fill:url(#radialGradient3203);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="11"
-         height="8"
-         width="27"
-         id="rect3189"
-         style="opacity:1;color:black;fill:url(#linearGradient3205);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-    </g>
-    <path
-       style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M -14.90628,-7.496478 C -14.122201,-7.496478 -13.50003,-6.8637163 -13.50003,-6.058978 L -13.50003,2.066022 C -13.50003,2.87076 -14.1222,3.503522 -14.90628,3.503522 L -20.68753,3.503522 L -23.46878,5.941022 L -23.46878,3.503522 L -25.09378,3.503522 C -25.877859,3.503522 -26.500031,2.87076 -26.50003,2.066022 L -26.50003,-6.058978 C -26.50003,-6.8637163 -25.877859,-7.496478 -25.09378,-7.496478 L -14.90628,-7.496478 z "
-       id="path3192"
-       sodipodi:nodetypes="cccccccccccc" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-1.0047876"
-       inkscape:original="M 1.59375 0.5 C 0.990612 0.5 0.49999997 1.0124794 0.5 1.65625 L 0.5 8.34375 C 0.49999924 8.9875204 0.99061204 9.46875 1.59375 9.46875 L 2.46875 9.46875 L 2.46875 11.4375 L 5.25 9.46875 L 9.40625 9.46875 C 10.009388 9.46875 10.5 8.9875205 10.5 8.34375 L 10.5 1.65625 C 10.5 1.0124794 10.009387 0.50000001 9.40625 0.5 L 1.59375 0.5 z "
-       xlink:href="#path2221"
-       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.19785893;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3194"
-       inkscape:href="#path2221"
-       d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z "
-       transform="matrix(-0.834823,0,0,0.834823,13.43129,5.899303)" />
-    <g
-       id="g3378"
-       style="opacity:0.3"
-       transform="matrix(-0.340425,0,0,0.625,-6.6596,-33.99648)">
-      <rect
-         transform="scale(-1,-1)"
-         y="-48"
-         x="-11"
-         height="8"
-         width="10"
-         id="rect3380"
-         style="opacity:1;color:black;fill:url(#radialGradient3398);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="38"
-         height="8"
-         width="10"
-         id="rect3382"
-         style="opacity:1;color:black;fill:url(#radialGradient3400);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="11"
-         height="8"
-         width="27"
-         id="rect3384"
-         style="opacity:1;color:black;fill:url(#linearGradient3402);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-    </g>
-    <path
-       sodipodi:type="arc"
-       style="fill:url(#radialGradient3404);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.81530744;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2234"
-       sodipodi:cx="11.756953"
-       sodipodi:cy="17.588654"
-       sodipodi:rx="6.3436799"
-       sodipodi:ry="3.9753728"
-       d="M 18.100633 17.588654 A 6.3436799 3.9753728 0 1 1  5.4132733,17.588654 A 6.3436799 3.9753728 0 1 1  18.100633 17.588654 z"
-       transform="matrix(-1.024642,0,0,0.754646,3.54664,-13.27321)" />
-    <path
-       style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M -9.90628,-17.49648 C -9.1222007,-17.49648 -8.5000301,-16.863718 -8.50003,-16.05898 L -8.50003,-7.93398 C -8.50003,-7.129242 -9.1222003,-6.49648 -9.90628,-6.49648 L -15.68753,-6.49648 L -18.46878,-4.05898 L -18.46878,-6.49648 L -20.09378,-6.49648 C -20.877859,-6.49648 -21.500031,-7.129242 -21.50003,-7.93398 L -21.50003,-16.05898 C -21.50003,-16.863718 -20.877859,-17.49648 -20.09378,-17.49648 L -9.90628,-17.49648 z "
-       id="path3387"
-       sodipodi:nodetypes="cccccccccccc" />
     <path
        sodipodi:type="inkscape:offset"
        inkscape:radius="-1.0047876"
@@ -998,47 +1122,89 @@
        d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z "
        transform="matrix(-1,0,0,1,-3e-5,-19.99648)" />
     <path
-       sodipodi:type="arc"
-       style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:2.86901665px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1339"
-       sodipodi:cx="15.590227"
-       sodipodi:cy="16.57217"
-       sodipodi:rx="14.345175"
-       sodipodi:ry="14.345175"
-       d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.348549,0,0,0.348549,5.066035,4.723779)" />
+       style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 33.877402,-6.5000005 C 34.782108,-6.5000005 35.499998,-5.7936619 35.499998,-4.8953494 L 35.499998,4.174417 C 35.499998,5.07273 34.78211,5.491987 33.877402,5.491987 L 27.20673,5.491987 L 23.519125,8.212917 L 23.519125,5.491987 L 22.122596,5.491987 C 21.217889,5.491987 20.499999,5.07273 20.5,4.174417 L 20.5,-4.8953494 C 20.5,-5.7936619 21.217889,-6.5000005 22.122596,-6.5000005 L 33.877402,-6.5000005 z "
+       id="path2198"
+       sodipodi:nodetypes="cccccccccccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0047876"
+       inkscape:original="M 1.59375 0.5 C 0.990612 0.5 0.49999997 1.0124794 0.5 1.65625 L 0.5 8.34375 C 0.49999924 8.9875204 0.99061204 9.46875 1.59375 9.46875 L 2.46875 9.46875 L 2.46875 11.4375 L 5.25 9.46875 L 9.40625 9.46875 C 10.009388 9.46875 10.5 8.9875205 10.5 8.34375 L 10.5 1.65625 C 10.5 1.0124794 10.009387 0.50000001 9.40625 0.5 L 1.59375 0.5 z "
+       xlink:href="#path2221"
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2200"
+       inkscape:href="#path2221"
+       d="M 1.59375,1.5 C 1.5597829,1.5 1.5,1.5229727 1.5,1.65625 L 1.5,8.34375 C 1.4999998,8.4770255 1.5250763,8.46875 1.59375,8.46875 L 2.46875,8.46875 C 3.0199231,8.4714246 3.4660754,8.9175769 3.46875,9.46875 L 3.46875,9.5 L 4.65625,8.65625 C 4.8293233,8.532463 5.0372235,8.4668103 5.25,8.46875 L 9.40625,8.46875 C 9.4749239,8.46875 9.5,8.4770272 9.5,8.34375 L 9.5,1.65625 C 9.5,1.5229737 9.4402151,1.5 9.40625,1.5 L 1.59375,1.5 z "
+       transform="translate(19,-8)" />
     <path
        sodipodi:type="arc"
-       style="color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:4.78170681px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       id="path1341"
+       style="color:black;fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#173867;stroke-width:2.86902547px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="path2069"
        sodipodi:cx="15.590227"
        sodipodi:cy="16.57217"
        sodipodi:rx="14.345175"
        sodipodi:ry="14.345175"
        d="M 29.935402 16.57217 A 14.345175 14.345175 0 1 1  1.2450523,16.57217 A 14.345175 14.345175 0 1 1  29.935402 16.57217 z"
-       transform="matrix(0.20913,0,0,0.20913,7.239621,7.034267)" />
+       transform="matrix(0.348549,0,0,0.348549,5.066037,4.723781)" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#8ab0d7;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2788"
+       sodipodi:cx="-3.8088531"
+       sodipodi:cy="3.303823"
+       sodipodi:rx="3.1932809"
+       sodipodi:ry="3.3471739"
+       d="M -0.61557221 3.303823 A 3.1932809 3.3471739 0 1 1  -7.0021341,3.303823 A 3.1932809 3.3471739 0 1 1  -0.61557221 3.303823 z"
+       transform="matrix(1.409209,0,0,1.344418,15.86747,6.058282)" />
     <path
-       style="opacity:0.5;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3409);stroke-width:0.99999952px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
-       d="M 14.5,10.500004 C 14.5,12.708004 12.708,14.500005 10.499999,14.500005 C 8.2920005,14.500005 6.4999997,12.708004 6.4999997,10.500004 C 6.4999997,8.2920009 8.2920005,6.4999998 10.499999,6.4999998 C 12.708,6.4999998 14.5,8.2920009 14.5,10.500004 z "
-       id="path2220" />
+       sodipodi:type="arc"
+       style="fill:#dcdcd8;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2796"
+       sodipodi:cx="6.0403023"
+       sodipodi:cy="7.5551186"
+       sodipodi:rx="1.615877"
+       sodipodi:ry="1.3273276"
+       d="M 7.6561793 7.5551186 A 1.615877 1.3273276 0 1 1  4.4244252,7.5551186 A 1.615877 1.3273276 0 1 1  7.6561793 7.5551186 z"
+       transform="matrix(2.784865,0,0,3.390272,-6.321424,-15.11391)" />
     <rect
-       style="fill:#2e3436;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect3421"
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2832"
        width="1"
-       height="3"
+       height="1"
        x="10"
-       y="8"
-       rx="0.5"
-       ry="0.5" />
+       y="-11"
+       transform="matrix(0,1,-1,0,0,0)" />
     <rect
-       style="fill:#2e3436;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect3423"
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2236"
+       width="1"
+       height="1"
+       x="9"
+       y="-12"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2240"
        width="1"
-       height="3"
-       x="10"
+       height="1"
+       x="11"
+       y="-12"
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3133"
+       width="1"
+       height="1"
+       x="8"
        y="-13"
-       transform="matrix(0,1,-1,0,0,0)"
-       rx="0.5"
-       ry="0.5" />
+       transform="matrix(0,1,-1,0,0,0)" />
+    <rect
+       style="fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3135"
+       width="1"
+       height="1"
+       x="12"
+       y="-13"
+       transform="matrix(0,1,-1,0,0,0)" />
   </g>
 </svg>
--- a/pidgin/pixmaps/tray/16/scalable/tray-online.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/16/scalable/tray-online.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -14,7 +14,7 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docbase="/home/hbons/Desktop/experiment/tray/16/scalable"
    sodipodi:docname="tray-online.svg">
   <defs
      id="defs1874">
@@ -150,6 +150,573 @@
        y1="48.000977"
        x2="21.875"
        y2="40" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2898">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2900" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2902" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient4738"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient4740"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient3044"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient3046">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop3048" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop3050" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3064"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient3066"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2898"
+       id="radialGradient2904"
+       cx="4.8470273"
+       cy="6.9473476"
+       fx="4.8470273"
+       fy="6.9473476"
+       r="0.8078171"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2818"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2810"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2963"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         id="stop2953"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2955"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2949"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3005"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient3007"
+       gradientUnits="userSpaceOnUse"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3025"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.018044"
+       x2="10.043059"
+       y1="1.3319674"
+       x1="1.5769236"
+       id="linearGradient2995"
+       xlink:href="#linearGradient2989"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2084"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2046"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2048">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2050" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2052" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2060"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2062"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2064"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2812">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop2814" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop2816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2269"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2055">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2057" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2059" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2857"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       y2="14.895812"
+       x2="11.802028"
+       y1="1.9986149"
+       x1="11.802028"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6606"
+       xlink:href="#linearGradient2225"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="48.674999"
+       x2="15.535398"
+       y1="1.8014067"
+       x1="15.535398"
+       gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2339"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="17.697369"
+       x2="11.226587"
+       y1="-5.4832759"
+       x1="11.226587"
+       gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2337"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="33.483475"
+       x2="15.522223"
+       y1="1.5657365"
+       x1="15.602553"
+       gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1357"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2239">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2241" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2243" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.626667,0,6.566431)"
+       r="6.3436799"
+       fy="17.588654"
+       fx="11.756953"
+       cy="17.588654"
+       cx="11.756953"
+       id="radialGradient2266"
+       xlink:href="#linearGradient2260"
+       inkscape:collect="always" />
+    <radialGradient
+       r="7.0034069"
+       fy="8.963316"
+       fx="9.9988937"
+       cy="8.963316"
+       cx="9.9988937"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2225"
+       xlink:href="#linearGradient2200"
+       inkscape:collect="always" />
+    <radialGradient
+       r="7.0034069"
+       fy="8.963316"
+       fx="9.9988937"
+       cy="8.963316"
+       cx="9.9988937"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2216"
+       xlink:href="#linearGradient2200"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2200"
+       inkscape:collect="always">
+      <stop
+         id="stop2202"
+         offset="0"
+         style="stop-color:#d3d7cf;stop-opacity:1;" />
+      <stop
+         id="stop2204"
+         offset="1"
+         style="stop-color:#d3d7cf;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3822"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3816"
+       inkscape:collect="always">
+      <stop
+         id="stop3818"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3820"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2260"
+       inkscape:collect="always">
+      <stop
+         id="stop2262"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop2264"
+         offset="1"
+         style="stop-color:#555753;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)"
+       gradientUnits="userSpaceOnUse"
+       y2="17.697369"
+       x2="11.226587"
+       y1="-5.4832759"
+       x1="11.226587"
+       id="linearGradient2194"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2186"
+       inkscape:collect="always">
+      <stop
+         id="stop2188"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2190"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)"
+       gradientUnits="userSpaceOnUse"
+       y2="48.674999"
+       x2="15.535398"
+       y1="1.8014067"
+       x1="15.535398"
+       id="linearGradient2245"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <radialGradient
+       r="5"
+       fy="44"
+       fx="1"
+       cy="44"
+       cx="1"
+       gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2827"
+       xlink:href="#linearGradient2781"
+       inkscape:collect="always" />
+    <radialGradient
+       r="5"
+       fy="44"
+       fx="1"
+       cy="44"
+       cx="1"
+       gradientTransform="matrix(2,0,0,0.8,36,8.8)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2829"
+       xlink:href="#linearGradient2781"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="40"
+       x2="21.875"
+       y1="48.000977"
+       x1="21.875"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2831"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2006">
+      <stop
+         id="stop2008"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop2010" />
+      <stop
+         id="stop2012"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="24.143761"
+       x2="27.273300"
+       y1="10.957423"
+       x1="35.003674"
+       gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient29443"
+       xlink:href="#linearGradient29418"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient29418">
+      <stop
+         id="stop29420"
+         offset="0.0000000"
+         style="stop-color:#f5f5f5;stop-opacity:1.0000000;" />
+      <stop
+         id="stop29422"
+         offset="1.0000000"
+         style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2225"
+       inkscape:collect="always">
+      <stop
+         id="stop2227"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop2229"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2989"
+       inkscape:collect="always">
+      <stop
+         id="stop2991"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop2993"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2112"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2114"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2116"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2119"
+       gradientUnits="userSpaceOnUse"
+       x1="15.498499"
+       y1="9.4211226"
+       x2="24.240097"
+       y2="36.603138"
+       gradientTransform="matrix(0.287092,0,0,0.287092,5.363901,5.455069)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2122"
+       gradientUnits="userSpaceOnUse"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientTransform="matrix(0.358865,0,0,0.358865,4.079883,4.193835)" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -159,14 +726,14 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="22.197802"
-     inkscape:cx="24.938614"
-     inkscape:cy="9.7569307"
+     inkscape:cx="15.613366"
+     inkscape:cy="10.112799"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1440"
-     inkscape:window-height="853"
+     inkscape:window-width="1434"
+     inkscape:window-height="844"
      inkscape:window-x="0"
      inkscape:window-y="0" />
   <metadata
@@ -222,12 +789,12 @@
        id="path5807"
        sodipodi:nodetypes="cccccccccccccc" />
     <path
-       style="fill:url(#linearGradient1959);fill-opacity:1;fill-rule:evenodd;stroke:#387101;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15.541385,10.5 C 15.541385,13.26 13.292114,15.5 10.520692,15.5 C 7.7492697,15.5 5.4999993,13.26 5.4999993,10.5 C 5.4999993,7.7399998 7.7492697,5.5000001 10.520692,5.5000001 C 13.292114,5.5000001 15.541385,7.7399998 15.541385,10.5 z "
-       id="path2245" />
+       style="fill:url(#linearGradient2122);fill-opacity:1;fill-rule:evenodd;stroke:#306300;stroke-width:0.99999887;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 15.500002,10.5 C 15.500002,13.26 13.260001,15.5 10.500001,15.5 C 7.7400006,15.5 5.4999996,13.26 5.4999996,10.5 C 5.4999996,7.739999 7.7400006,5.4999989 10.500001,5.4999989 C 13.260001,5.4999989 15.500002,7.739999 15.500002,10.5 z "
+       id="path4331" />
     <path
-       style="opacity:0.6;fill:url(#linearGradient1956);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 14.500006,10.499996 C 14.500006,12.707996 12.708004,14.499996 10.500004,14.499996 C 8.2920042,14.499996 6.5000039,12.707996 6.5000039,10.499996 C 6.5000039,8.2919968 8.2920042,6.4999962 10.500004,6.4999962 C 12.708004,6.4999962 14.500006,8.2919968 14.500006,10.499996 z "
-       id="path3145" />
+       style="opacity:0.6;fill:url(#linearGradient2119);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999845;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 14.500006,10.500002 C 14.500006,12.708002 12.708005,14.500003 10.500003,14.500003 C 8.2920011,14.500003 6.4999992,12.708002 6.4999992,10.500002 C 6.4999992,8.2920001 8.2920011,6.4999996 10.500003,6.4999996 C 12.708005,6.4999996 14.500006,8.2920001 14.500006,10.500002 z "
+       id="path4333" />
   </g>
 </svg>
Binary file pidgin/pixmaps/tray/16/tray-away.png has changed
Binary file pidgin/pixmaps/tray/16/tray-new-im.png has changed
Binary file pidgin/pixmaps/tray/16/tray-online.png has changed
--- a/pidgin/pixmaps/tray/22/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/22/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -6,6 +6,7 @@
 		tray-extended-away.png \
 		tray-invisible.png \
 		tray-message.png \
+		tray-new-im.png \
 		tray-offline.png \
 		tray-online.png
 
--- a/pidgin/pixmaps/tray/22/scalable/tray-invisible.svg	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/22/scalable/tray-invisible.svg	Thu Jun 21 20:37:57 2007 +0000
@@ -11,71 +11,62 @@
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
-   id="svg4403"
+   id="svg2"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
    version="1.0"
-   sodipodi:docbase="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/tray/22/scalable"
+   sodipodi:docbase="/home/hbons/Desktop"
    sodipodi:docname="tray-invisible.svg"
-   inkscape:export-filename="/home/hbons/code/pidgin-mtn/pidgin/pixmaps/tray/22/tray-invisible.png"
+   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/notification-area/tray-busy.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
-     id="defs4405">
+     id="defs4">
     <linearGradient
-       id="linearGradient5187"
-       inkscape:collect="always">
+       inkscape:collect="always"
+       id="linearGradient2989">
       <stop
-         id="stop5189"
+         style="stop-color:#eeeeec;stop-opacity:1;"
          offset="0"
-         style="stop-color:#d3d7cf;stop-opacity:1;" />
+         id="stop2991" />
       <stop
-         id="stop5191"
+         style="stop-color:#eeeeec;stop-opacity:0;"
          offset="1"
-         style="stop-color:#d3d7cf;stop-opacity:0;" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2851">
-      <stop
-         style="stop-color:#73d216;stop-opacity:1;"
-         offset="0"
-         id="stop2853" />
-      <stop
-         style="stop-color:#5ca911;stop-opacity:1;"
-         offset="1"
-         id="stop2855" />
+         id="stop2993" />
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2804"
-       id="linearGradient2261"
-       gradientUnits="userSpaceOnUse"
-       x1="21.875"
-       y1="48.000977"
-       x2="21.875"
-       y2="40" />
-    <radialGradient
+       id="linearGradient2225">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2227" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2229" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient29418">
+      <stop
+         style="stop-color:#f5f5f5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop29420" />
+      <stop
+         style="stop-color:#e9e9e9;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop29422" />
+    </linearGradient>
+    <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient2259"
+       xlink:href="#linearGradient29418"
+       id="linearGradient29443"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,36,8.8)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2781"
-       id="radialGradient2257"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
-       cx="1"
-       cy="44"
-       fx="1"
-       fy="44"
-       r="5" />
+       gradientTransform="matrix(-0.977228,0,0,0.995878,50.60272,9.115637)"
+       x1="35.003674"
+       y1="10.957423"
+       x2="27.273300"
+       y2="24.143761" />
     <linearGradient
        id="linearGradient2804">
       <stop
@@ -94,7 +85,7 @@
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2804"
-       id="linearGradient7755"
+       id="linearGradient2831"
        gradientUnits="userSpaceOnUse"
        x1="21.875"
        y1="48.000977"
@@ -103,7 +94,7 @@
     <radialGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2781"
-       id="radialGradient7753"
+       id="radialGradient2829"
        gradientUnits="userSpaceOnUse"
        gradientTransform="matrix(2,0,0,0.8,36,8.8)"
        cx="1"
@@ -126,7 +117,7 @@
     <radialGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2781"
-       id="radialGradient7751"
+       id="radialGradient2827"
        gradientUnits="userSpaceOnUse"
        gradientTransform="matrix(2,0,0,0.8,-13,-79.2)"
        cx="1"
@@ -136,14 +127,723 @@
        r="5" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient5187"
-       id="linearGradient2220"
+       id="linearGradient2186">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2188" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2190" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2260">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop2262" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop2264" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3816">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3818" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3820" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3816"
+       id="radialGradient3822"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2200">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1;"
+         offset="0"
+         id="stop2202" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop2204" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2200"
+       id="radialGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.83521)"
+       cx="9.9988937"
+       cy="8.963316"
+       fx="9.9988937"
+       fy="8.963316"
+       r="7.0034069" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2200"
+       id="radialGradient2225"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.522332,-1.518129e-16,-1.517788e-16,2.521765,40.1904,-21.80154)"
+       cx="9.9988937"
+       cy="8.963316"
+       fx="9.9988937"
+       fy="8.963316"
+       r="7.0034069" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2260"
+       id="radialGradient2266"
+       cx="11.756953"
+       cy="17.588654"
+       fx="11.756953"
+       fy="17.588654"
+       r="6.3436799"
+       gradientTransform="matrix(1,0,0,0.626667,0,6.566431)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2239"
+       inkscape:collect="always">
+      <stop
+         id="stop2241"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2243"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient1357"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.371983,0,0,0.372254,2.539836,8.539528)"
+       x1="15.602553"
+       y1="1.5657365"
+       x2="15.522223"
+       y2="33.483475" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2186"
+       id="linearGradient2337"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.529942,0,0,0.53199,17.26643,15.48536)"
+       x1="11.226587"
+       y1="-5.4832759"
+       x2="11.226587"
+       y2="17.697369" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient2339"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.37378,0,0,0.375227,17.64779,15.86312)"
+       x1="15.535398"
+       y1="1.8014067"
+       x2="15.535398"
+       y2="48.674999" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2225"
+       id="linearGradient6606"
+       gradientUnits="userSpaceOnUse"
+       x1="11.802028"
+       y1="1.9986149"
+       x2="11.802028"
+       y2="14.895812" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2857"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3149"
+       inkscape:collect="always">
+      <stop
+         id="stop3151"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop3153"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2851">
+      <stop
+         id="stop2853"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2855"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2269"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2812"
+       inkscape:collect="always">
+      <stop
+         id="stop2814"
+         offset="0"
+         style="stop-color:#2e3436;stop-opacity:1;" />
+      <stop
+         id="stop2816"
+         offset="1"
+         style="stop-color:#2e3436;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2064"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       id="linearGradient2062"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2060"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2048">
+      <stop
+         id="stop2050"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2052"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2046"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2084"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2989"
+       id="linearGradient2995"
+       x1="1.5769236"
+       y1="1.3319674"
+       x2="10.043059"
+       y2="10.018044"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3025"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3007"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3005"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient2949"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient2951">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop2953" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop2955" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient2963"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient2810"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient2818"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2904"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.394752,0,0,0.394752,8.437859,8.563225)"
-       x1="19.461548"
-       y1="6.4422231"
-       x2="19.461548"
-       y2="28.669207" />
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient3066"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3064"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3046">
+      <stop
+         id="stop3048"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop3050"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3044"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4740"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2898"
+       inkscape:collect="always">
+      <stop
+         id="stop2900"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop2902"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient2055"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient2053"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2034">
+      <stop
+         id="stop2036"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop2038"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2032"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)"
+       gradientUnits="userSpaceOnUse"
+       y2="39.834526"
+       x2="31.18539"
+       y1="4.5934086"
+       x1="8.7505674"
+       id="linearGradient2030"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)"
+       gradientUnits="userSpaceOnUse"
+       y2="17.697369"
+       x2="11.226587"
+       y1="-1.5641226"
+       x1="9.2594385"
+       id="linearGradient2022"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2014"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient2006"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient3069"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3067"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3049">
+      <stop
+         id="stop3051"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop3053"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3047"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.482882,0,0,0.482874,0.269812,0.26982)"
+       gradientUnits="userSpaceOnUse"
+       y2="39.834526"
+       x2="31.18539"
+       y1="4.5934086"
+       x1="8.7505674"
+       id="linearGradient3045"
+       xlink:href="#linearGradient2239"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.684526,0,0,0.687171,-0.20455,-0.253325)"
+       gradientUnits="userSpaceOnUse"
+       y2="19.159578"
+       x2="14.441897"
+       y1="3.7276814"
+       x1="6.2538223"
+       id="linearGradient2194"
+       xlink:href="#linearGradient2186"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3030"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.018423,0.664359,-1.388844,4.257661,-0.134567,-26.02469)"
+       r="0.8078171"
+       fy="6.9473476"
+       fx="4.8470273"
+       cy="6.9473476"
+       cx="4.8470273"
+       id="radialGradient3022"
+       xlink:href="#linearGradient2898"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3082"
+       gradientUnits="userSpaceOnUse"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2239"
+       id="linearGradient3084"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.37378,0,0,0.375227,5.518529,18.82427)"
+       x1="15.535398"
+       y1="1.8014067"
+       x2="15.535398"
+       y2="48.674999" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3198"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.024895"
+       x2="10.623409"
+       y1="2.7991772"
+       x1="4.5264969"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3196"
+       xlink:href="#linearGradient2804"
+       inkscape:collect="always" />
+    <radialGradient
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3194"
+       xlink:href="#linearGradient2812"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3149"
+       id="linearGradient3180"
+       gradientUnits="userSpaceOnUse"
+       x1="17.890068"
+       y1="8.0617304"
+       x2="17.890068"
+       y2="40.032413" />
+    <linearGradient
+       id="linearGradient3174">
+      <stop
+         style="stop-color:#73d216;stop-opacity:1;"
+         offset="0"
+         id="stop3176" />
+      <stop
+         style="stop-color:#5ca911;stop-opacity:1;"
+         offset="1"
+         id="stop3178" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2851"
+       id="linearGradient3172"
+       x1="6.878005"
+       y1="11.789385"
+       x2="12.233074"
+       y2="27.77807"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2804"
+       id="linearGradient3170"
+       x1="4.5264969"
+       y1="2.7991772"
+       x2="10.623409"
+       y2="11.024895"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2812"
+       id="radialGradient3168"
+       cx="31.112698"
+       cy="19.008621"
+       fx="31.112698"
+       fy="19.008621"
+       r="8.6620579"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="27.77807"
+       x2="12.233074"
+       y1="11.789385"
+       x1="6.878005"
+       id="linearGradient3166"
+       xlink:href="#linearGradient2851"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientTransform="matrix(0.914124,-3.896132e-15,-2.475021e-18,1.631747,2.671799,-12.00863)"
+       gradientUnits="userSpaceOnUse"
+       r="8.6620579"
+       fy="19.008621"
+       fx="31.112698"
+       cy="19.008621"
+       cx="31.112698"
+       id="radialGradient3164"
+       xlink:href="#linearGradient3816"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3146">
+      <stop
+         id="stop3148"
+         offset="0"
+         style="stop-color:#73d216;stop-opacity:1;" />
+      <stop
+         id="stop3150"
+         offset="1"
+         style="stop-color:#5ca911;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       y2="40.032413"
+       x2="17.890068"
+       y1="8.0617304"
+       x1="17.890068"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3144"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="36.603138"
+       x2="24.240097"
+       y1="9.4211226"
+       x1="15.498499"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3142"
+       xlink:href="#linearGradient3149"
+       inkscape:collect="always" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -152,21 +852,19 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="25.498579"
-     inkscape:cx="19.883015"
-     inkscape:cy="11.999162"
+     inkscape:zoom="20.899939"
+     inkscape:cx="26.526463"
+     inkscape:cy="11.289944"
+     inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
-     inkscape:grid-bbox="true"
-     inkscape:document-units="px"
-     width="24px"
-     height="24px"
-     inkscape:window-width="1274"
-     inkscape:window-height="844"
-     inkscape:window-x="6"
+     fill="#d3d7cf"
+     inkscape:window-width="1440"
+     inkscape:window-height="849"
+     inkscape:window-x="0"
      inkscape:window-y="0" />
   <metadata
-     id="metadata4408">
+     id="metadata7">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -177,53 +875,55 @@
     </rdf:RDF>
   </metadata>
   <g
-     id="layer1"
      inkscape:label="Layer 1"
-     inkscape:groupmode="layer">
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="opacity:1;fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 14.877402,1.4999995 C 15.782108,1.4999995 16.499998,2.2063381 16.499998,3.1046506 L 16.499998,12.174417 C 16.499998,13.07273 15.78211,13.491987 14.877402,13.491987 L 8.2067299,13.491987 L 4.5191254,16.212917 L 4.5191254,13.491987 L 3.1225959,13.491987 C 2.2178895,13.491987 1.4999988,13.07273 1.5,12.174417 L 1.5,3.1046506 C 1.5,2.2063381 2.2178895,1.4999995 3.1225959,1.4999995 L 14.877402,1.4999995 z "
+       id="path2221"
+       sodipodi:nodetypes="cccccccccccc" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-1.0047876"
+       inkscape:original="M 3.125 1.5 C 2.2202936 1.5 1.5 2.1954376 1.5 3.09375 L 1.5 12.1875 C 1.4999988 13.085813 2.2202937 13.5 3.125 13.5 L 4.53125 13.5 L 4.53125 16.21875 L 8.21875 13.5 L 14.875 13.5 C 15.779708 13.5 16.5 13.085813 16.5 12.1875 L 16.5 3.09375 C 16.5 2.1954375 15.779706 1.5 14.875 1.5 L 3.125 1.5 z "
+       xlink:href="#path2221"
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path5807"
+       inkscape:href="#path2221"
+       d="M 2.90625,2.5 C 2.6627552,2.5 2.5,2.6506524 2.5,2.9375 L 2.5,11.0625 C 2.4999996,11.349346 2.6627555,11.5 2.90625,11.5 L 4.53125,11.5 C 5.0824231,11.502675 5.5285754,11.948827 5.53125,12.5 L 5.53125,12.75 L 6.65625,11.75 C 6.8378154,11.590455 7.0708028,11.501698 7.3125,11.5 L 13.09375,11.5 C 13.337246,11.5 13.5,11.349348 13.5,11.0625 L 13.5,2.9375 C 13.5,2.6506524 13.337245,2.5 13.09375,2.5 L 2.90625,2.5 z " />
+    <g
+       id="g2057"
+       inkscape:label="Layer 1"
+       transform="translate(19.12926,4.037634)" />
     <g
-       id="g2249"
-       style="opacity:0.3"
-       transform="matrix(-0.340425,0,0,0.625,17.34043,-14)">
-      <rect
-         transform="scale(-1,-1)"
-         y="-48"
-         x="-11"
-         height="8"
-         width="10"
-         id="rect2251"
-         style="opacity:1;color:black;fill:url(#radialGradient2257);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="38"
-         height="8"
-         width="10"
-         id="rect2253"
-         style="opacity:1;color:black;fill:url(#radialGradient2259);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
-      <rect
-         y="40"
-         x="11"
-         height="8"
-         width="27"
-         id="rect2255"
-         style="opacity:1;color:black;fill:url(#linearGradient2261);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+       id="g3200"
+       inkscape:label="Layer 1"
+       transform="translate(6.999999,7.000001)">
+      <g
+         style="opacity:0.8"
+         id="g1918">
+        <path
+           d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.45064,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+           sodipodi:ry="8.6620579"
+           sodipodi:rx="8.6620579"
+           sodipodi:cy="19.008621"
+           sodipodi:cx="31.112698"
+           id="path3203"
+           style="color:black;fill:url(#radialGradient3025);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           sodipodi:type="arc"
+           transform="matrix(0.923568,0,0,0.173169,-20.73469,11.2083)" />
+        <path
+           transform="matrix(0.538297,0,0,0.538297,-1.630177,-1.459246)"
+           style="fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.85770929;stroke-miterlimit:4;stroke-opacity:1"
+           d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z "
+           id="path4331" />
+        <path
+           transform="matrix(0.466524,0,0,0.466525,-0.346154,-0.198015)"
+           style="opacity:0.6;fill:url(#linearGradient4740);fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1"
+           d="M 31.822886,17.572527 C 31.822886,25.263442 25.580983,31.505344 17.890068,31.505344 C 10.199153,31.505344 3.9572506,25.263442 3.9572506,17.572527 C 3.9572506,9.8816117 10.199153,3.6397095 17.890068,3.6397095 C 25.580983,3.6397095 31.822886,9.8816117 31.822886,17.572527 z "
+           id="path4333" />
+      </g>
     </g>
-    <path
-       style="fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 9.90625,2.5 C 9.1221707,2.5 8.5000001,3.1327617 8.5,3.9375 L 8.5,12.0625 C 8.5,12.867238 9.1221703,13.5 9.90625,13.5 L 15.6875,13.5 L 18.46875,15.9375 L 18.46875,13.5 L 20.09375,13.5 C 20.877829,13.5 21.500001,12.867238 21.5,12.0625 L 21.5,3.9375 C 21.5,3.1327617 20.877829,2.5 20.09375,2.5 L 9.90625,2.5 z "
-       id="path2221"
-       transform="matrix(-1,0,0,1,24,0)" />
-    <path
-       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 9.90625,3.5 C 9.6627547,3.5 9.5,3.650652 9.5,3.9375 L 9.5,12.0625 C 9.5,12.349348 9.6627543,12.5 9.90625,12.5 L 15.6875,12.5 C 15.929197,12.501698 16.162185,12.590455 16.34375,12.75 L 17.46875,13.75 L 17.46875,13.5 C 17.471425,12.948827 17.917577,12.502675 18.46875,12.5 L 20.09375,12.5 C 20.337245,12.5 20.5,12.349346 20.5,12.0625 L 20.5,3.9375 C 20.5,3.6506524 20.337245,3.5 20.09375,3.5 L 9.90625,3.5 z "
-       id="path5807"
-       transform="matrix(-1,0,0,1,24,0)" />
-    <path
-       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#babdb6;stroke-width:0.99999863;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 21.500007,15.500001 C 21.500007,18.812 18.81201,21.499999 15.500004,21.499999 C 12.188,21.499999 9.5000032,18.812 9.5000032,15.500001 C 9.5000032,12.188001 12.188,9.5000014 15.500004,9.5000014 C 18.81201,9.5000014 21.500007,12.188001 21.500007,15.500001 z "
-       id="path4331" />
-    <path
-       style="opacity:0.6;fill:url(#linearGradient2220);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14350748;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 21,15.500001 C 21,18.536 18.535999,21 15.499999,21 C 12.464,21 10,18.536 10,15.500001 C 10,12.464 12.464,10 15.499999,10 C 18.535999,10 21,12.464 21,15.500001 z "
-       id="path4333" />
   </g>
 </svg>
Binary file pidgin/pixmaps/tray/22/tray-away.png has changed
Binary file pidgin/pixmaps/tray/22/tray-busy.png has changed
Binary file pidgin/pixmaps/tray/22/tray-connecting.png has changed
Binary file pidgin/pixmaps/tray/22/tray-extended-away.png has changed
Binary file pidgin/pixmaps/tray/22/tray-invisible.png has changed
Binary file pidgin/pixmaps/tray/22/tray-message.png has changed
Binary file pidgin/pixmaps/tray/22/tray-new-im.png has changed
Binary file pidgin/pixmaps/tray/22/tray-offline.png has changed
Binary file pidgin/pixmaps/tray/22/tray-online.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/pixmaps/tray/32/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,13 @@
+TRAY_ICONS =	tray-away.png \
+		tray-busy.png \
+		tray-connecting.png \
+		tray-extended-away.png \
+		tray-invisible.png \
+		tray-new-im.png \
+		tray-offline.png \
+		tray-online.png
+
+EXTRA_DIST =	$(TRAY_ICONS)
+
+pidgintraypixdir = $(datadir)/pixmaps/pidgin/tray/32
+pidgintraypix_DATA = $(TRAY_ICONS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/pixmaps/tray/32/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,20 @@
+#
+# Makefile.mingw
+#
+# Description: Makefile for win32 (mingw) version of Pidgin pixmaps
+#
+
+PIDGIN_TREE_TOP := ../../../..
+include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
+
+datadir = $(PIDGIN_INSTALL_DIR)
+include ./Makefile.am
+
+.PHONY: install
+
+install:
+	if test '$(pidgintraypix_DATA)'; then \
+	  mkdir -p $(pidgintraypixdir); \
+	  cp $(pidgintraypix_DATA) $(pidgintraypixdir); \
+	fi;
+
Binary file pidgin/pixmaps/tray/32/tray-away.png has changed
Binary file pidgin/pixmaps/tray/32/tray-busy.png has changed
Binary file pidgin/pixmaps/tray/32/tray-connecting.png has changed
Binary file pidgin/pixmaps/tray/32/tray-extended-away.png has changed
Binary file pidgin/pixmaps/tray/32/tray-invisible.png has changed
Binary file pidgin/pixmaps/tray/32/tray-message.png has changed
Binary file pidgin/pixmaps/tray/32/tray-new-im.png has changed
Binary file pidgin/pixmaps/tray/32/tray-offline.png has changed
Binary file pidgin/pixmaps/tray/32/tray-online.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/pixmaps/tray/48/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,13 @@
+TRAY_ICONS =	tray-away.png \
+		tray-busy.png \
+		tray-connecting.png \
+		tray-extended-away.png \
+		tray-invisible.png \
+		tray-new-im.png \
+		tray-offline.png \
+		tray-online.png
+
+EXTRA_DIST =	$(TRAY_ICONS)
+
+pidgintraypixdir = $(datadir)/pixmaps/pidgin/tray/48
+pidgintraypix_DATA = $(TRAY_ICONS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/pixmaps/tray/48/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,20 @@
+#
+# Makefile.mingw
+#
+# Description: Makefile for win32 (mingw) version of Pidgin pixmaps
+#
+
+PIDGIN_TREE_TOP := ../../../..
+include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
+
+datadir = $(PIDGIN_INSTALL_DIR)
+include ./Makefile.am
+
+.PHONY: install
+
+install:
+	if test '$(pidgintraypix_DATA)'; then \
+	  mkdir -p $(pidgintraypixdir); \
+	  cp $(pidgintraypix_DATA) $(pidgintraypixdir); \
+	fi;
+
Binary file pidgin/pixmaps/tray/48/tray-away.png has changed
Binary file pidgin/pixmaps/tray/48/tray-busy.png has changed
Binary file pidgin/pixmaps/tray/48/tray-connecting.png has changed
Binary file pidgin/pixmaps/tray/48/tray-extended-away.png has changed
Binary file pidgin/pixmaps/tray/48/tray-invisible.png has changed
Binary file pidgin/pixmaps/tray/48/tray-message.png has changed
Binary file pidgin/pixmaps/tray/48/tray-new-im.png has changed
Binary file pidgin/pixmaps/tray/48/tray-offline.png has changed
Binary file pidgin/pixmaps/tray/48/tray-online.png has changed
--- a/pidgin/pixmaps/tray/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/pixmaps/tray/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -1,7 +1,9 @@
-SUBDIRS = 16 22
+SUBDIRS = 16 22 32 48
 
 EXTRA_DIST = \
 	Makefile.mingw \
 	16/Makefile.mingw \
-	22/Makefile.mingw
+	22/Makefile.mingw \
+	32/Makefile.mingw \
+	48/Makefile.mingw
 
--- a/pidgin/plugins/Makefile.am	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/Makefile.am	Thu Jun 21 20:37:57 2007 +0000
@@ -30,6 +30,7 @@
 contact_priority_la_LDFLAGS = -module -avoid-version
 extplacement_la_LDFLAGS     = -module -avoid-version
 gtk_signals_test_la_LDFLAGS = -module -avoid-version
+gtkbuddynote_la_LDFLAGS     = -module -avoid-version
 history_la_LDFLAGS          = -module -avoid-version
 iconaway_la_LDFLAGS         = -module -avoid-version
 markerline_la_LDFLAGS       = -module -avoid-version
@@ -46,6 +47,7 @@
 plugin_LTLIBRARIES = \
 	convcolors.la       \
 	extplacement.la     \
+	gtkbuddynote.la     \
 	history.la          \
 	iconaway.la         \
 	markerline.la       \
@@ -65,6 +67,7 @@
 contact_priority_la_SOURCES = contact_priority.c
 extplacement_la_SOURCES     = extplacement.c
 gtk_signals_test_la_SOURCES = gtk-signals-test.c
+gtkbuddynote_la_SOURCES     = gtkbuddynote.c
 history_la_SOURCES          = history.c
 iconaway_la_SOURCES         = iconaway.c
 markerline_la_SOURCES       = markerline.c
@@ -80,6 +83,7 @@
 contact_priority_la_LIBADD  = $(GTK_LIBS)
 extplacement_la_LIBADD      = $(GTK_LIBS)
 gtk_signals_test_la_LIBADD  = $(GTK_LIBS)
+gtkbuddynote_la_LIBADD      = $(GTK_LIBS)
 history_la_LIBADD           = $(GTK_LIBS)
 iconaway_la_LIBADD          = $(GTK_LIBS)
 markerline_la_LIBADD        = $(GTK_LIBS)
--- a/pidgin/plugins/Makefile.mingw	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/Makefile.mingw	Thu Jun 21 20:37:57 2007 +0000
@@ -77,11 +77,12 @@
 plugins: \
 		convcolors.dll \
 		extplacement.dll \
-		pidginrc.dll \
+		gtkbuddynote.dll \
 		history.dll \
 		iconaway.dll \
 		markerline.dll \
 		notify.dll \
+		pidginrc.dll \
 		relnot.dll \
 		spellchk.dll \
 		timestamp_format.dll \
--- a/pidgin/plugins/gestures/gestures.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/gestures/gestures.c	Thu Jun 21 20:37:57 2007 +0000
@@ -176,7 +176,7 @@
 plugin_load(PurplePlugin *plugin)
 {
 	PurpleConversation *conv;
-	const GList *l;
+	GList *l;
 
 	for (l = purple_get_conversations(); l != NULL; l = l->next) {
 		conv = (PurpleConversation *)l->data;
@@ -199,7 +199,7 @@
 {
 	PurpleConversation *conv;
 	PidginConversation *gtkconv;
-	const GList *l;
+	GList *l;
 
 	for (l = purple_get_conversations(); l != NULL; l = l->next) {
 		conv = (PurpleConversation *)l->data;
--- a/pidgin/plugins/gevolution/add_buddy_dialog.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/gevolution/add_buddy_dialog.c	Thu Jun 21 20:37:57 2007 +0000
@@ -162,7 +162,7 @@
 		GList *list, const char *id)
 {
 	PurpleAccount *account = NULL;
-	const GList *l;
+	GList *l;
 	GtkTreeIter iter;
 	GdkPixbuf *pixbuf;
 
--- a/pidgin/plugins/gevolution/gevolution.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/gevolution/gevolution.c	Thu Jun 21 20:37:57 2007 +0000
@@ -69,8 +69,7 @@
 						const char *prpl_id, EContactField field)
 {
 	GList *ims = e_contact_get(contact, field);
-	const GList *l;
-	const GList *l2;
+	GList *l, *l2;
 
 	if (ims == NULL)
 		return;
@@ -119,9 +118,9 @@
 }
 
 static void
-contacts_changed_cb(EBookView *book_view, const GList *contacts)
+contacts_changed_cb(EBookView *book_view, GList *contacts)
 {
-	const GList *l;
+	GList *l;
 
 	if (purple_connections_get_all() == NULL)
 		return;
@@ -401,7 +400,7 @@
 	GtkCellRenderer *renderer;
 	GdkPixbuf *pixbuf;
 	GtkListStore *model;
-	const GList *l;
+	GList *l;
 
 	/* Outside container */
 	ret = gtk_vbox_new(FALSE, 18);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/plugins/gtkbuddynote.c	Thu Jun 21 20:37:57 2007 +0000
@@ -0,0 +1,126 @@
+/*
+ * GtkBuddyNote - Store notes on particular buddies
+ * Copyright (C) 2007 Etan Reisner <deryni@pidgin.im>
+ *
+ * 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+#include "internal.h"
+
+#include <gtkblist.h>
+#include <gtkplugin.h>
+
+#include <debug.h>
+#include <version.h>
+
+static void
+append_to_tooltip(PurpleBlistNode *node, GString *text, gboolean full)
+{
+	if (full) {
+		const gchar *note = purple_blist_node_get_string(node, "notes");
+
+		if (note != NULL) {
+			g_string_append_printf(text, _("\nBuddy Note: %s"),
+			                       note);
+		}
+	}
+}
+
+static gboolean
+plugin_load(PurplePlugin *plugin)
+{
+	purple_signal_connect(pidgin_blist_get_handle(), "drawing-tooltip",
+	                      plugin, PURPLE_CALLBACK(append_to_tooltip), NULL);
+	return TRUE;
+}
+
+static gboolean
+plugin_unload(PurplePlugin *plugin)
+{
+	PurplePlugin *buddynote = NULL;
+
+	buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote");
+
+	purple_plugin_unload(buddynote);
+
+	return TRUE;
+}
+
+static PurplePluginInfo info =
+{
+	PURPLE_PLUGIN_MAGIC,
+	PURPLE_MAJOR_VERSION,                           /**< major version */
+	PURPLE_MINOR_VERSION,                           /**< minor version */
+	PURPLE_PLUGIN_STANDARD,                         /**< type */
+	PIDGIN_PLUGIN_TYPE,                             /**< ui_requirement */
+	0,                                              /**< flags */
+	NULL,                                           /**< dependencies */
+	PURPLE_PRIORITY_DEFAULT,                        /**< priority */
+	"gtkbuddynote",                                 /**< id */
+	N_("Buddy Notes"),                              /**< name */
+	VERSION,                                        /**< version */
+	N_("Store notes on particular buddies."),       /**< summary */
+	N_("Adds the option to store notes for buddies "
+	   "on your buddy list."),                      /**< description */
+	"Etan Reisner <deryni@pidgin.im>",              /**< author */
+	PURPLE_WEBSITE,                                 /**< homepage */
+	plugin_load,                                    /**< load */
+	plugin_unload,                                  /**< unload */
+	NULL,                                           /**< destroy */
+	NULL,                                           /**< ui_info */
+	NULL,                                           /**< extra_info */
+	NULL,                                           /**< prefs_info */
+	NULL,                                           /**< actions */
+
+	/* padding */
+	NULL,
+	NULL,
+	NULL,
+	NULL
+};
+
+static gboolean
+check_for_buddynote(gpointer data)
+{
+	PurplePlugin *buddynote = NULL;
+
+	buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote");
+
+	if (buddynote == NULL) {
+		buddynote = purple_plugins_find_with_basename("buddynote");
+	}
+
+	if (buddynote != NULL) {
+		PurplePluginInfo *bninfo = buddynote->info;
+
+		bninfo->flags = PURPLE_PLUGIN_FLAG_INVISIBLE;
+
+		info.dependencies = g_list_append(info.dependencies,
+		                                  "core-plugin_pack-buddynote");
+	} else {
+		info.flags = PURPLE_PLUGIN_FLAG_INVISIBLE;
+	}
+
+	return FALSE;
+}
+
+static void
+init_plugin(PurplePlugin *plugin)
+{
+	/* Use g_idle_add so that the rest of the plugins can get loaded
+	 * before we do our check. */
+	g_idle_add(check_for_buddynote, plugin);
+}
+
+PURPLE_INIT_PLUGIN(gtkbuddynote, init_plugin, info)
--- a/pidgin/plugins/notify.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/notify.c	Thu Jun 21 20:37:57 2007 +0000
@@ -624,7 +624,7 @@
 static void
 apply_method()
 {
-	const GList *convs;
+	GList *convs;
 	PidginWindow *purplewin = NULL;
 
 	for (convs = purple_get_conversations(); convs != NULL;
@@ -644,7 +644,7 @@
 static void
 apply_notify()
 {
-	const GList *convs = purple_get_conversations();
+	GList *convs = purple_get_conversations();
 
 	while (convs) {
 		PurpleConversation *conv = (PurpleConversation *)convs->data;
@@ -818,7 +818,7 @@
 static gboolean
 plugin_load(PurplePlugin *plugin)
 {
-	const GList *convs = purple_get_conversations();
+	GList *convs = purple_get_conversations();
 	void *conv_handle = purple_conversations_get_handle();
 	void *gtk_conv_handle = pidgin_conversations_get_handle();
 
@@ -860,7 +860,7 @@
 static gboolean
 plugin_unload(PurplePlugin *plugin)
 {
-	const GList *convs = purple_get_conversations();
+	GList *convs = purple_get_conversations();
 
 	while (convs) {
 		PurpleConversation *conv = (PurpleConversation *)convs->data;
--- a/pidgin/plugins/pidginrc.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/pidginrc.c	Thu Jun 21 20:37:57 2007 +0000
@@ -27,49 +27,49 @@
 
 static guint pref_callback;
 
-static const char *color_prefs[] = {
+static const gchar *color_prefs[] = {
 	"/plugins/gtk/purplerc/color/GtkWidget::cursor-color",
 	"/plugins/gtk/purplerc/color/GtkWidget::secondary-cursor-color",
 	"/plugins/gtk/purplerc/color/GtkIMHtml::hyperlink-color"
 };
-static const char *color_prefs_set[] = {
+static const gchar *color_prefs_set[] = {
 	"/plugins/gtk/purplerc/set/color/GtkWidget::cursor-color",
 	"/plugins/gtk/purplerc/set/color/GtkWidget::secondary-cursor-color",
 	"/plugins/gtk/purplerc/set/color/GtkIMHtml::hyperlink-color"
 };
-static const char *color_names[] = {
+static const gchar *color_names[] = {
 	N_("Cursor Color"),
 	N_("Secondary Cursor Color"),
 	N_("Hyperlink Color")
 };
 static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)];
 
-static const char *widget_size_prefs[] = {
+static const gchar *widget_size_prefs[] = {
 	"/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator"
 };
-static const char *widget_size_prefs_set[] = {
+static const gchar *widget_size_prefs_set[] = {
 	"/plugins/gtk/purplerc/set/size/GtkTreeView::horizontal_separator"
 };
-static const char *widget_size_names[] = {
+static const gchar *widget_size_names[] = {
 	N_("GtkTreeView Horizontal Separation")
 };
 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)];
 
-static const char *font_prefs[] = {
+static const gchar *font_prefs[] = {
 	"/plugins/gtk/purplerc/font/*pidgin_conv_entry",
 	"/plugins/gtk/purplerc/font/*pidgin_conv_imhtml",
 	"/plugins/gtk/purplerc/font/*pidgin_log_imhtml",
 	"/plugins/gtk/purplerc/font/*pidgin_request_imhtml",
 	"/plugins/gtk/purplerc/font/*pidgin_notify_imhtml",
 };
-static const char *font_prefs_set[] = {
+static const gchar *font_prefs_set[] = {
 	"/plugins/gtk/purplerc/set/font/*pidgin_conv_entry",
 	"/plugins/gtk/purplerc/set/font/*pidgin_conv_imhtml",
 	"/plugins/gtk/purplerc/set/font/*pidgin_log_imhtml",
 	"/plugins/gtk/purplerc/set/font/*pidgin_request_imhtml",
 	"/plugins/gtk/purplerc/set/font/*pidgin_notify_imhtml",
 };
-static const char *font_names[] = {
+static const gchar *font_names[] = {
 	N_("Conversation Entry"),
 	N_("Conversation History"),
 	N_("Log Viewer"),
@@ -79,53 +79,56 @@
 static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)];
 
 /*
-static const char *widget_bool_prefs[] = {
+static const gchar *widget_bool_prefs[] = {
 };
-static const char *widget_bool_prefs_set[] = {
+static const gchar *widget_bool_prefs_set[] = {
 };
-static const char *widget_bool_names[] = {
+static const gchar *widget_bool_names[] = {
 };
 static GtkWidget *widget_bool_widgets[G_N_ELEMENTS(widget_bool_prefs)];
 */
 
-static void
-purplerc_make_changes()
+static GString *
+make_gtkrc_string()
 {
-	int i;
-	char *prefbase = NULL;
-#if GTK_CHECK_VERSION(2,4,0)
-	GtkSettings *setting = NULL;
-#endif
+	gint i;
+	gchar *prefbase = NULL;
 	GString *style_string = g_string_new("");
 
 	if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name")) {
-		const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name");
+		const gchar *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name");
 
-		if (pref != NULL && strcmp(pref, ""))
-			g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref);
+		if (pref != NULL && strcmp(pref, "")) {
+			g_string_append_printf(style_string,
+			                       "gtk-font-name = \"%s\"\n",
+			                       pref);
+		}
 	}
 
 	if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name")) {
-		const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name");
+		const gchar *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name");
 
-		if (pref != NULL && strcmp(pref, ""))
-			g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref);
+		if (pref != NULL && strcmp(pref, "")) {
+			g_string_append_printf(style_string,
+			                       "gtk-key-theme-name = \"%s\"\n",
+			                       pref);
+		}
 	}
 
-	g_string_append(style_string, "style \"purplerc_style\" {\n");
+	g_string_append(style_string, "style \"purplerc_style\"\n{");
 
 	for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
 		if (purple_prefs_get_bool(color_prefs_set[i])) {
-			const char *pref;
-
-			prefbase = g_path_get_basename(color_prefs[i]);
-			pref = purple_prefs_get_string(color_prefs[i]);
+			const gchar *pref;
 
-			if (pref != NULL && strcmp(pref, ""))
-			    g_string_append_printf(style_string,
-			                           "%s = \"%s\"\n",
-			                           prefbase, pref);
-			g_free(prefbase);
+			pref = purple_prefs_get_string(color_prefs[i]);
+			if (pref != NULL && strcmp(pref, "")) {
+				prefbase = g_path_get_basename(color_prefs[i]);
+				g_string_append_printf(style_string,
+				                       "\n\t%s = \"%s\"",
+				                       prefbase, pref);
+				g_free(prefbase);
+			}
 		}
 	}
 
@@ -133,7 +136,7 @@
 		if (purple_prefs_get_bool(widget_size_prefs_set[i])) {
 			prefbase = g_path_get_basename(widget_size_prefs[i]);
 			g_string_append_printf(style_string,
-			                       "%s = %d\n", prefbase,
+			                       "\n\t%s = %d", prefbase,
 			                       purple_prefs_get_int(widget_size_prefs[i]));
 			g_free(prefbase);
 		}
@@ -144,37 +147,47 @@
 		if (purple_prefs_get_bool(widget_bool_prefs_set[i])) {
 			prefbase = g_path_get_basename(widget_bool_prefs[i]);
 			g_string_append_printf(style_string,
-			                       "%s = %d\n", prefbase,
+			                       "\t%s = %d\n", prefbase,
 			                       purple_prefs_get_bool(widget_bool_prefs[i]));
 			g_free(prefbase);
 		}
 	}
 	*/
 
-	g_string_append(style_string, "}");
-	g_string_append(style_string, "widget_class \"*\" style \"purplerc_style\"\n");
+	g_string_append(style_string, "\n}\nwidget_class \"*\" style \"purplerc_style\"\n");
 
 	for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
 		if (purple_prefs_get_bool(font_prefs_set[i])) {
-			const char *pref;
-
-			prefbase = g_path_get_basename(font_prefs[i]);
-			pref = purple_prefs_get_string(font_prefs[i]);
+			const gchar *pref;
 
-			if (pref != NULL && strcmp(pref, ""))
+			pref = purple_prefs_get_string(font_prefs[i]);
+			if (pref != NULL && strcmp(pref, "")) {
+				prefbase = g_path_get_basename(font_prefs[i]);
 				g_string_append_printf(style_string,
-				                       "style \"%s_style\"\n"
-				                       "{font_name = \"%s\"}\n"
-				                       "widget \"%s\" "
+				                       "style \"%s_style\"\n{\n"
+				                       "\tfont_name = \"%s\"\n}"
+				                       "\nwidget \"%s\" "
 				                       "style \"%s_style\"\n",
 				                       prefbase, pref,
 				                       prefbase, prefbase);
-			g_free(prefbase);
+				g_free(prefbase);
+			}
 		}
 	}
 
-	gtk_rc_parse_string(style_string->str);
-	g_string_free(style_string, TRUE);
+	return style_string;
+}
+
+static void
+purplerc_make_changes()
+{
+	GString *str = make_gtkrc_string();
+#if GTK_CHECK_VERSION(2,4,0)
+	GtkSettings *setting = NULL;
+#endif
+
+	gtk_rc_parse_string(str->str);
+	g_string_free(str, TRUE);
 
 #if GTK_CHECK_VERSION(2,4,0)
 	setting = gtk_settings_get_default();
@@ -185,92 +198,10 @@
 static void
 purplerc_write(GtkWidget *widget, gpointer data)
 {
-	int i;
-	GString *style_string = g_string_new("");
-	char *prefbase = NULL;
-
-	if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-font-name")) {
-		const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name");
-
-		if (pref != NULL && strcmp(pref, ""))
-			g_string_append_printf(style_string,
-			                       "gtk-font-name = \"%s\"\n",
-			                       pref);
-	}
-
-	if (purple_prefs_get_bool("/plugins/gtk/purplerc/set/gtk-key-theme-name")) {
-		const char *pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-key-theme-name");
-
-		if (pref != NULL && strcmp(pref, ""))
-			g_string_append_printf(style_string,
-			                       "gtk-key-theme-name = \"%s\"\n",
-			                       pref);
-	}
-
-	g_string_append(style_string, "style \"purplerc_style\" {\n");
-
-	for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
-		if (purple_prefs_get_bool(color_prefs_set[i])) {
-			const char *pref;
-
-			prefbase = g_path_get_basename(color_prefs[i]);
-			pref = purple_prefs_get_string(color_prefs[i]);
-
-			if (pref != NULL && strcmp(pref, ""))
-			    g_string_append_printf(style_string,
-			                           "%s = \"%s\"\n",
-			                           prefbase, pref);
-			g_free(prefbase);
-		}
-	}
-
-	for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) {
-		if (purple_prefs_get_bool(widget_size_prefs_set[i])) {
-			prefbase = g_path_get_basename(widget_size_prefs[i]);
-			g_string_append_printf(style_string,
-			                       "%s = %d\n", prefbase,
-			                       purple_prefs_get_int(widget_size_prefs[i]));
-			g_free(prefbase);
-		}
-	}
-
-	/*
-	for (i = 0; i < G_N_ELEMENTS(widget_bool_prefs); i++) {
-		if (purple_prefs_get_bool(widget_bool_prefs_set[i])) {
-			prefbase = g_path_get_basename(widget_bool_prefs[i]);
-			g_string_append_printf(style_string,
-			                       "%s = %d\n", prefbase,
-			                       purple_prefs_get_bool(widget_bool_prefs[i]));
-			g_free(prefbase);
-		}
-	}
-	*/
-
-	g_string_append(style_string, "}");
-	g_string_append(style_string, "widget_class \"*\" style \"purplerc_style\"\n");
-
-	for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
-		if (purple_prefs_get_bool(font_prefs_set[i])) {
-			const char *pref;
-
-			prefbase = g_path_get_basename(font_prefs[i]);
-			pref = purple_prefs_get_string(font_prefs[i]);
-
-			if (pref != NULL && strcmp(pref, ""))
-				g_string_append_printf(style_string,
-				                       "style \"%s_style\"\n"
-				                       "{font_name = \"%s\"}\n"
-				                       "widget \"%s\" "
-				                       "style \"%s_style\"\n",
-				                       prefbase, pref,
-				                       prefbase, prefbase);
-			g_free(prefbase);
-		}
-	}
-
-	purple_util_write_data_to_file("gtkrc-2.0", style_string->str, -1);
-
-	g_string_free(style_string, TRUE);
+	GString *str = make_gtkrc_string();
+	str = g_string_prepend(str, "# This file automatically written by the Pidgin GTK+ Theme Control plugin.\n# Any changes to this file will be overwritten by the plugin when told to\n# write the settings again.\n# The FAQ (http://developer.pidgin.im/wiki/FAQ) contains some further examples\n# of possible pidgin gtkrc settings.\n");
+	purple_util_write_data_to_file("gtkrc-2.0", str->str, -1);
+	g_string_free(str, TRUE);
 }
 
 static void
@@ -283,7 +214,7 @@
 
 static void
 purplerc_pref_changed_cb(const char *name, PurplePrefType type,
-                       gconstpointer value, gpointer data)
+                         gconstpointer value, gpointer data)
 {
 	purplerc_make_changes();
 }
@@ -291,12 +222,12 @@
 static void
 purplerc_color_response(GtkDialog *color_dialog, gint response, gpointer data)
 {
-	int subscript = GPOINTER_TO_INT(data);
+	gint subscript = GPOINTER_TO_INT(data);
 
 	if (response == GTK_RESPONSE_OK) {
+		GdkColor color;
+		gchar colorstr[8];
 		GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel;
-		GdkColor color;
-		char colorstr[8];
 
 		gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color);
 
@@ -311,11 +242,11 @@
 static void
 purplerc_set_color(GtkWidget *widget, gpointer data)
 {
+	GdkColor color;
+	gchar title[128];
+	const gchar *pref = NULL;
 	GtkWidget *color_dialog = NULL;
-	GdkColor color;
-	char title[128];
-	const char *pref = NULL;
-	int subscript = GPOINTER_TO_INT(data);
+	gint subscript = GPOINTER_TO_INT(data);
 
 	g_snprintf(title, sizeof(title), _("Select Color for %s"),
 	           _(color_names[GPOINTER_TO_INT(data)]));
@@ -337,14 +268,21 @@
 static void
 purplerc_font_response(GtkDialog *font_dialog, gint response, gpointer data)
 {
-	int subscript = GPOINTER_TO_INT(data);
+	const gchar *prefpath;
+	gint subscript = GPOINTER_TO_INT(data);
 
 	if (response == GTK_RESPONSE_OK) {
-		char *fontname = NULL;
+		gchar *fontname = NULL;
+
+		if (subscript == -1) {
+			prefpath = "/plugins/gtk/purplerc/gtk-font-name";
+		} else {
+			prefpath = font_prefs[subscript];
+		}
 
 		fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog));
 
-		purple_prefs_set_string(font_prefs[subscript], fontname);
+		purple_prefs_set_string(prefpath, fontname);
 		g_free(fontname);
 	}
 	gtk_widget_destroy(GTK_WIDGET(font_dialog));
@@ -353,53 +291,25 @@
 static void
 purplerc_set_font(GtkWidget *widget, gpointer data)
 {
+	gchar title[128];
 	GtkWidget *font_dialog = NULL;
-	char title[128];
-	const char *pref = NULL;
-	int subscript = GPOINTER_TO_INT(data);
+	gint subscript = GPOINTER_TO_INT(data);
+	const gchar *pref = NULL, *prefpath = NULL;
 
-	g_snprintf(title, sizeof(title), _("Select Font for %s"),
-	           _(font_names[subscript]));
+	if (subscript == -1) {
+		g_snprintf(title, sizeof(title), _("Select Interface Font"));
+		prefpath = "/plugins/gtk/purplerc/gtk-font-name";
+	} else {
+		g_snprintf(title, sizeof(title), _("Select Font for %s"),
+		           _(font_names[subscript]));
+		prefpath = font_prefs[subscript];
+	}
+
 	font_dialog = gtk_font_selection_dialog_new(title);
 	g_signal_connect(G_OBJECT(font_dialog), "response",
 	                 G_CALLBACK(purplerc_font_response), data);
 
-	pref = purple_prefs_get_string(font_prefs[subscript]);
-
-	if (pref != NULL && strcmp(pref, "")) {
-		gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), pref);
-	}
-
-	gtk_window_present(GTK_WINDOW(font_dialog));
-}
-
-static void
-purplerc_font_response_special(GtkDialog *font_dialog, gint response,
-                             gpointer data)
-{
-	if (response == GTK_RESPONSE_OK) {
-		char *fontname = NULL;
-
-		fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog));
-
-		purple_prefs_set_string("/plugins/gtk/purplerc/gtk-font-name",
-		                      fontname);
-		g_free(fontname);
-	}
-	gtk_widget_destroy(GTK_WIDGET(font_dialog));
-}
-
-static void
-purplerc_set_font_special(GtkWidget *widget, gpointer data)
-{
-	GtkWidget *font_dialog = NULL;
-	const char *pref = NULL;
-
-	font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font"));
-	g_signal_connect(G_OBJECT(font_dialog), "response",
-	                 G_CALLBACK(purplerc_font_response_special), NULL);
-
-	pref = purple_prefs_get_string("/plugins/gtk/purplerc/gtk-font-name");
+	pref = purple_prefs_get_string(prefpath);
 
 	if (pref != NULL && strcmp(pref, "")) {
 		gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), pref);
@@ -413,8 +323,10 @@
 {
 	purplerc_make_changes();
 
-	pref_callback = purple_prefs_connect_callback(plugin, "/plugins/gtk/purplerc",
-	                                            purplerc_pref_changed_cb, NULL);
+	pref_callback = purple_prefs_connect_callback(plugin,
+	                                              "/plugins/gtk/purplerc",
+	                                              purplerc_pref_changed_cb,
+	                                              NULL);
 
 	return TRUE;
 }
@@ -433,17 +345,23 @@
 	/* Note: Intentionally not using the size group argument to the
 	 * pidgin_prefs_labeled_* functions they only add the text label to
 	 * the size group not the whole thing, which isn't what I want. */
-	int i;
-	char *tmp;
+	gint i;
+	gchar *tmp;
 	GtkWidget *check = NULL, *widget = NULL;
-	GtkSizeGroup *labelsg = NULL, *widgetsg = NULL;
-	GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL;
+	GtkWidget *ret = NULL, *hbox = NULL, *frame = NULL;
+	GtkSizeGroup *labelsg = NULL, *widgetsg = NULL, *buttonsg = NULL;
+#ifndef _WIN32
+	const gchar *homepath = "$HOME";
+#else
+	const gchar *homepath = "\%APPDATA\%";
+#endif
 
 	ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
 	gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER);
 
 	labelsg  = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 	widgetsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+	buttonsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
 	frame = pidgin_make_frame(ret, _("General"));
 	/* interface font */
@@ -451,12 +369,12 @@
 	gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 	check = pidgin_prefs_checkbox(_("GTK+ Interface Font"),
-	                                "/plugins/gtk/purplerc/set/gtk-font-name",
-	                                hbox);
+	                              "/plugins/gtk/purplerc/set/gtk-font-name",
+	                              hbox);
 	gtk_size_group_add_widget(labelsg, check);
 
 	widget = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
-	                                       PIDGIN_BUTTON_HORIZONTAL);
+	                                         PIDGIN_BUTTON_HORIZONTAL);
 	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
 	gtk_size_group_add_widget(widgetsg, widget);
 	gtk_widget_set_sensitive(widget,
@@ -464,20 +382,20 @@
 	g_signal_connect(G_OBJECT(check), "toggled",
 	                 G_CALLBACK(pidgin_toggle_sensitive), widget);
 	g_signal_connect(G_OBJECT(widget), "clicked",
-	                 G_CALLBACK(purplerc_set_font_special), NULL);
+	                 G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(-1));
 
 	/* key theme name */
 	hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
 	gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 	check = pidgin_prefs_checkbox(_("GTK+ Text Shortcut Theme"),
-	                                "/plugins/gtk/purplerc/set/gtk-key-theme-name",
-	                                hbox);
+	                              "/plugins/gtk/purplerc/set/gtk-key-theme-name",
+	                              hbox);
 	gtk_size_group_add_widget(labelsg, check);
 
 	widget = pidgin_prefs_labeled_entry(hbox, "",
-	                                      "/plugins/gtk/purplerc/gtk-key-theme-name",
-	                                      NULL);
+	                                    "/plugins/gtk/purplerc/gtk-key-theme-name",
+	                                    NULL);
 	/*
 	gtk_size_group_add_widget(widgetsg, widget);
 	*/
@@ -492,7 +410,7 @@
 		gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 		check = pidgin_prefs_checkbox(_(widget_bool_names[i]),
-		                                widget_bool_prefs_set[i], hbox);
+		                              widget_bool_prefs_set[i], hbox);
 		gtk_size_group_add_widget(labelsg, check);
 
 		widget_bool_widgets[i] = pidgin_prefs_checkbox("", widget_bool_prefs[i], hbox);
@@ -514,7 +432,7 @@
 		gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 		check = pidgin_prefs_checkbox(_(color_names[i]),
-		                                color_prefs_set[i], hbox);
+		                              color_prefs_set[i], hbox);
 		gtk_size_group_add_widget(labelsg, check);
 
 		color_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, PIDGIN_BUTTON_HORIZONTAL);
@@ -538,7 +456,7 @@
 		gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 		check = pidgin_prefs_checkbox(_(widget_size_names[i]),
-		                                widget_size_prefs_set[i], hbox);
+		                              widget_size_prefs_set[i], hbox);
 		gtk_size_group_add_widget(labelsg, check);
 
 		widget_size_widgets[i] = pidgin_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, NULL);
@@ -559,7 +477,7 @@
 		gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
 		check = pidgin_prefs_checkbox(_(font_names[i]),
-		                                font_prefs_set[i], hbox);
+		                              font_prefs_set[i], hbox);
 		gtk_size_group_add_widget(labelsg, check);
 
 		font_widgets[i] = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, PIDGIN_BUTTON_HORIZONTAL);
@@ -572,27 +490,29 @@
 		                 G_CALLBACK(pidgin_toggle_sensitive),
 		                 font_widgets[i]);
 		g_signal_connect(G_OBJECT(font_widgets[i]), "clicked",
-		                 G_CALLBACK(purplerc_set_font), GINT_TO_POINTER(i));
+		                 G_CALLBACK(purplerc_set_font),
+		                 GINT_TO_POINTER(i));
 	}
 
-	frame = pidgin_make_frame(ret, _("Tools"));
+	frame = pidgin_make_frame(ret, _("Gtkrc File Tools"));
 
-	vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
-	gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0);
+	hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
+	gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
 
-	tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"), purple_user_dir(), G_DIR_SEPARATOR_S);
+	tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"),
+	                      homepath, G_DIR_SEPARATOR_S);
 	check = gtk_button_new_with_label(tmp);
 	g_free(tmp);
-	gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
-	gtk_size_group_add_widget(labelsg, check);
-	g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(purplerc_write),
-	                 NULL);
+	gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0);
+	gtk_size_group_add_widget(buttonsg, check);
+	g_signal_connect(G_OBJECT(check), "clicked",
+	                 G_CALLBACK(purplerc_write), NULL);
 
 	check = gtk_button_new_with_label(_("Re-read gtkrc files"));
-	gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
-	gtk_size_group_add_widget(labelsg, check);
-	g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(purplerc_reread),
-	                 NULL);
+	gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0);
+	gtk_size_group_add_widget(buttonsg, check);
+	g_signal_connect(G_OBJECT(check), "clicked",
+	                 G_CALLBACK(purplerc_reread), NULL);
 
 	gtk_widget_show_all(ret);
 	return ret;
@@ -645,7 +565,7 @@
 static void
 purplerc_init(PurplePlugin *plugin)
 {
-	int i;
+	gint i;
 
 	purple_prefs_add_none("/plugins");
 	purple_prefs_add_none("/plugins/gtk");
--- a/pidgin/plugins/relnot.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/relnot.c	Thu Jun 21 20:37:57 2007 +0000
@@ -70,8 +70,9 @@
 	message = g_string_new("");
 	g_string_append_printf(message, _("You are using %s version %s.  The "
 			"current version is %s.  You can get it from "
-			"<a href=\"" PURPLE_WEBSITE "\">" PURPLE_WEBSITE "</a><hr>"),
-			PIDGIN_NAME, purple_core_get_version(), cur_ver);
+			"<a href=\"%s\">%s</a><hr>"),
+			PIDGIN_NAME, purple_core_get_version(), cur_ver,
+			PURPLE_WEBSITE, PURPLE_WEBSITE);
 
 	if(*changelog) {
 		formatted = purple_strdup_withhtml(changelog);
--- a/pidgin/plugins/spellchk.c	Tue Jun 19 19:40:06 2007 +0000
+++ b/pidgin/plugins/spellchk.c	Thu Jun 21 20:37:57 2007 +0000
@@ -2118,7 +2118,7 @@
 plugin_load(PurplePlugin *plugin)
 {
 	void *conv_handle = purple_conversations_get_handle();