changeset 16429:8ae1ef832c55

merge of '1d4d484c73a0770b9f9616808d7d00a3de9d21f4' and 'c7e5257ddaaa597481e43313c51797a2cceeb45c'
author Sean Egan <seanegan@gmail.com>
date Thu, 26 Apr 2007 00:26:44 +0000
parents c41facb80e4a (current diff) 4999bbc52881 (diff)
children f9597f375b07
files
diffstat 45 files changed, 369 insertions(+), 338 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Apr 25 14:01:28 2007 +0000
+++ b/ChangeLog	Thu Apr 26 00:26:44 2007 +0000
@@ -172,6 +172,7 @@
 	* Added /nickserv, /memoserv, /chanserv and /operserv
 	  commands (Joao Luís Marques Pinto)
 	* Added CTCP VERSION via /version (Andrej Krivulčík)
+	* Added /whowas command (achris)
 
 	Jabber Features:
 	* Support for SRV lookups
--- a/finch/finch.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/finch.c	Thu Apr 26 00:26:44 2007 +0000
@@ -300,9 +300,11 @@
 	/* TODO: Move prefs loading into purple_prefs_init() */
 	purple_prefs_load();
 	purple_prefs_update_old();
+	purple_prefs_rename("/gaim/gnt", "/finch");
+	purple_prefs_rename("/purple/gnt", "/finch");
 
 	/* load plugins we had when we quit */
-	purple_plugins_load_saved("/purple/gnt/plugins/loaded");
+	purple_plugins_load_saved("/finch/plugins/loaded");
 
 	/* TODO: Move pounces loading into purple_pounces_init() */
 	purple_pounces_load();
@@ -326,7 +328,7 @@
 	else
 	{
 		/* Everything is good to go--sign on already */
-		if (!purple_prefs_get_bool("/core/savedstatus/startup_current_status"))
+		if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status"))
 			purple_savedstatus_activate(purple_savedstatus_get_startup());
 		purple_accounts_restore_current_statuses();
 	}
--- a/finch/gntblist.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntblist.c	Thu Apr 26 00:26:44 2007 +0000
@@ -53,7 +53,7 @@
 #include "gntstatus.h"
 #include <string.h>
 
-#define PREF_ROOT "/purple/gnt/blist"
+#define PREF_ROOT "/finch/blist"
 #define TYPING_TIMEOUT 4000
 
 typedef struct
@@ -1197,7 +1197,7 @@
 		prpl_info->tooltip_text(buddy, user_info, TRUE);
 	}
 
-	if (purple_prefs_get_bool("/purple/gnt/blist/idletime")) {
+	if (purple_prefs_get_bool("/finch/blist/idletime")) {
 		PurplePresence *pre = purple_buddy_get_presence(buddy);
 		if (purple_presence_is_idle(pre)) {
 			time_t idle = purple_presence_get_idle_time(pre);
--- a/finch/gntconv.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntconv.c	Thu Apr 26 00:26:44 2007 +0000
@@ -43,7 +43,7 @@
 #include "gntentry.h"
 #include "gnttextview.h"
 
-#define PREF_ROOT	"/purple/gnt/conversations"
+#define PREF_ROOT	"/finch/conversations"
 
 #include "config.h"
 
@@ -52,7 +52,7 @@
 {
 	const char *text = gnt_entry_get_text(GNT_ENTRY(ggconv->entry));
 	gboolean empty = (!text || !*text);
-	if (purple_prefs_get_bool("/purple/gnt/conversations/notify_typing")) {
+	if (purple_prefs_get_bool("/finch/conversations/notify_typing")) {
 		PurpleConversation *conv = ggconv->active_conv;
 		PurpleConvIm *im = PURPLE_CONV_IM(conv);
 		if (!empty) {
@@ -381,7 +381,7 @@
 
 	/* Unnecessary to print the timestamp for delayed message */
 	if (!(flags & PURPLE_MESSAGE_DELAYED) &&
-			purple_prefs_get_bool("/purple/gnt/conversations/timestamps"))
+			purple_prefs_get_bool("/finch/conversations/timestamps"))
 		gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv),
 					purple_utf8_strftime("(%H:%M:%S) ", localtime(&mtime)), GNT_TEXT_FLAG_DIM);
 
--- a/finch/gntdebug.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntdebug.c	Thu Apr 26 00:26:44 2007 +0000
@@ -36,7 +36,7 @@
 #include <stdio.h>
 #include <string.h>
 
-#define PREF_ROOT "/purple/gnt/debug"
+#define PREF_ROOT "/finch/debug"
 
 static struct
 {
@@ -135,7 +135,7 @@
 toggle_timestamps(GntWidget *w, gpointer n)
 {
 	debug.timestamps = !debug.timestamps;
-	purple_prefs_set_bool("/core/debug/timestamps", debug.timestamps);
+	purple_prefs_set_bool("/purple/debug/timestamps", debug.timestamps);
 }
 
 /* Xerox */
@@ -196,7 +196,7 @@
 void finch_debug_window_show()
 {
 	debug.paused = FALSE;
-	debug.timestamps = purple_prefs_get_bool("/core/debug/timestamps");
+	debug.timestamps = purple_prefs_get_bool("/purple/debug/timestamps");
 	if (debug.window == NULL)
 	{
 		GntWidget *wid, *box;
--- a/finch/gntft.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntft.c	Thu Apr 26 00:26:44 2007 +0000
@@ -131,7 +131,7 @@
 toggle_keep_open_cb(GntWidget *w)
 {
 	xfer_dialog->keep_open = !xfer_dialog->keep_open;
-	purple_prefs_set_bool("/purple/gnt/filetransfer/keep_open",
+	purple_prefs_set_bool("/finch/filetransfer/keep_open",
 						xfer_dialog->keep_open);
 }
 
@@ -139,7 +139,7 @@
 toggle_clear_finished_cb(GntWidget *w)
 {
 	xfer_dialog->auto_clear = !xfer_dialog->auto_clear;
-	purple_prefs_set_bool("/purple/gnt/filetransfer/clear_finished",
+	purple_prefs_set_bool("/finch/filetransfer/clear_finished",
 						xfer_dialog->auto_clear);
 }
 
@@ -183,9 +183,9 @@
 		xfer_dialog = g_new0(PurpleGntXferDialog, 1);
 
 	xfer_dialog->keep_open =
-		purple_prefs_get_bool("/purple/gnt/filetransfer/keep_open");
+		purple_prefs_get_bool("/finch/filetransfer/keep_open");
 	xfer_dialog->auto_clear =
-		purple_prefs_get_bool("/purple/gnt/filetransfer/clear_finished");
+		purple_prefs_get_bool("/finch/filetransfer/clear_finished");
 
 	/* Create the window. */
 	xfer_dialog->window = window = gnt_vbox_new(FALSE);
@@ -507,9 +507,9 @@
 void
 finch_xfers_init(void)
 {
-	purple_prefs_add_none("/purple/gnt/filetransfer");
-	purple_prefs_add_bool("/purple/gnt/filetransfer/clear_finished", TRUE);
-	purple_prefs_add_bool("/purple/gnt/filetransfer/keep_open", FALSE);
+	purple_prefs_add_none("/finch/filetransfer");
+	purple_prefs_add_bool("/finch/filetransfer/clear_finished", TRUE);
+	purple_prefs_add_bool("/finch/filetransfer/keep_open", FALSE);
 }
 
 void
--- a/finch/gntplugin.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntplugin.c	Thu Apr 26 00:26:44 2007 +0000
@@ -97,7 +97,7 @@
 void
 finch_plugins_save_loaded(void)
 {
-	purple_plugins_save_loaded("/purple/gnt/plugins/loaded");
+	purple_plugins_save_loaded("/finch/plugins/loaded");
 }
 
 static void
--- a/finch/gntpounce.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntpounce.c	Thu Apr 26 00:26:44 2007 +0000
@@ -255,15 +255,15 @@
 									 "reason", reason);
 
 	/* Set the defaults for next time. */
-	purple_prefs_set_bool("/purple/gnt/pounces/default_actions/open-window",
+	purple_prefs_set_bool("/finch/pounces/default_actions/open-window",
 		gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->open_win)));
-	purple_prefs_set_bool("/purple/gnt/pounces/default_actions/popup-notify",
+	purple_prefs_set_bool("/finch/pounces/default_actions/popup-notify",
 		gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->popup)));
-	purple_prefs_set_bool("/purple/gnt/pounces/default_actions/send-message",
+	purple_prefs_set_bool("/finch/pounces/default_actions/send-message",
 		gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->send_msg)));
-	purple_prefs_set_bool("/purple/gnt/pounces/default_actions/execute-command",
+	purple_prefs_set_bool("/finch/pounces/default_actions/execute-command",
 		gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->exec_cmd)));
-	purple_prefs_set_bool("/purple/gnt/pounces/default_actions/play-beep",
+	purple_prefs_set_bool("/finch/pounces/default_actions/play-beep",
 		gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->play_sound)));
 
 	purple_pounce_set_save(dialog->pounce,
@@ -580,15 +580,15 @@
 		}
 
 		gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->open_win),
-			purple_prefs_get_bool("/purple/gnt/pounces/default_actions/open-window"));
+			purple_prefs_get_bool("/finch/pounces/default_actions/open-window"));
 		gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->popup),
-			purple_prefs_get_bool("/purple/gnt/pounces/default_actions/popup-notify"));
+			purple_prefs_get_bool("/finch/pounces/default_actions/popup-notify"));
 		gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->send_msg),
-			purple_prefs_get_bool("/purple/gnt/pounces/default_actions/send-message"));
+			purple_prefs_get_bool("/finch/pounces/default_actions/send-message"));
 		gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->exec_cmd),
-			purple_prefs_get_bool("/purple/gnt/pounces/default_actions/execute-command"));
+			purple_prefs_get_bool("/finch/pounces/default_actions/execute-command"));
 		gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->play_sound),
-			purple_prefs_get_bool("/purple/gnt/pounces/default_actions/play-beep"));
+			purple_prefs_get_bool("/finch/pounces/default_actions/play-beep"));
 	}
 
 	gnt_widget_show(window);
@@ -924,19 +924,19 @@
 	purple_pounces_register_handler(FINCH_UI, pounce_cb, new_pounce,
 								  free_pounce);
 
-	purple_prefs_add_none("/purple/gnt/pounces");
-	purple_prefs_add_none("/purple/gnt/pounces/default_actions");
-	purple_prefs_add_bool("/purple/gnt/pounces/default_actions/open-window",
+	purple_prefs_add_none("/finch/pounces");
+	purple_prefs_add_none("/finch/pounces/default_actions");
+	purple_prefs_add_bool("/finch/pounces/default_actions/open-window",
 						FALSE);
-	purple_prefs_add_bool("/purple/gnt/pounces/default_actions/popup-notify",
+	purple_prefs_add_bool("/finch/pounces/default_actions/popup-notify",
 						TRUE);
-	purple_prefs_add_bool("/purple/gnt/pounces/default_actions/send-message",
+	purple_prefs_add_bool("/finch/pounces/default_actions/send-message",
 						FALSE);
-	purple_prefs_add_bool("/purple/gnt/pounces/default_actions/execute-command",
+	purple_prefs_add_bool("/finch/pounces/default_actions/execute-command",
 						FALSE);
-	purple_prefs_add_bool("/purple/gnt/pounces/default_actions/play-beep",
+	purple_prefs_add_bool("/finch/pounces/default_actions/play-beep",
 						FALSE);
-	purple_prefs_add_none("/purple/gnt/pounces/dialog");
+	purple_prefs_add_none("/finch/pounces/dialog");
 
 	purple_signal_connect(purple_connections_get_handle(), "signed-on",
 						finch_pounces_get_handle(),
--- a/finch/gntprefs.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/gntprefs.c	Thu Apr 26 00:26:44 2007 +0000
@@ -35,15 +35,16 @@
 
 void finch_prefs_init()
 {
-	purple_prefs_add_none("/purple");
-	purple_prefs_add_none("/purple/gnt");
+	purple_prefs_add_none("/finch");
+
+	purple_prefs_add_none("/finch/plugins");
+	purple_prefs_add_path_list("/finch/plugins/loaded", NULL);
 
-	purple_prefs_add_none("/purple/gnt/plugins");
-	purple_prefs_add_path_list("/purple/gnt/plugins/loaded", NULL);
-
-	purple_prefs_add_none("/purple/gnt/conversations");
-	purple_prefs_add_bool("/purple/gnt/conversations/timestamps", TRUE);
-	purple_prefs_add_bool("/purple/gnt/conversations/notify_typing", FALSE); /* XXX: Not functional yet */
+	purple_prefs_add_none("/finch/conversations");
+	purple_prefs_add_bool("/finch/conversations/timestamps", TRUE);
+	purple_prefs_add_bool("/finch/conversations/notify_typing", FALSE); /* XXX: Not functional yet */
+	purple_prefs_rename("/gaim/gnt", "/finch");
+	purple_prefs_rename("/purple/gnt", "/finch");
 }
 
 typedef struct
@@ -156,34 +157,34 @@
 
 static Prefs blist[] = 
 {
-	{PURPLE_PREF_BOOLEAN, "/purple/gnt/blist/idletime", N_("Show Idle Time"), NULL},
-	{PURPLE_PREF_BOOLEAN, "/purple/gnt/blist/showoffline", N_("Show Offline Buddies"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/finch/blist/idletime", N_("Show Idle Time"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/finch/blist/showoffline", N_("Show Offline Buddies"), NULL},
 	{PURPLE_PREF_NONE, NULL, NULL, NULL}
 };
 
 static Prefs convs[] = 
 {
-	{PURPLE_PREF_BOOLEAN, "/purple/gnt/conversations/timestamps", N_("Show Timestamps"), NULL},
-	{PURPLE_PREF_BOOLEAN, "/purple/gnt/conversations/notify_typing", N_("Notify buddies when you are typing"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/finch/conversations/timestamps", N_("Show Timestamps"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/finch/conversations/notify_typing", N_("Notify buddies when you are typing"), NULL},
 	{PURPLE_PREF_NONE, NULL, NULL, NULL}
 };
 
 static Prefs logging[] = 
 {
-	{PURPLE_PREF_STRING, "/core/logging/format", N_("Log format"), get_log_options},
-	{PURPLE_PREF_BOOLEAN, "/core/logging/log_ims", N_("Log IMs"), NULL},
-	{PURPLE_PREF_BOOLEAN, "/core/logging/log_chats", N_("Log chats"), NULL},
-	{PURPLE_PREF_BOOLEAN, "/core/logging/log_system", N_("Log status change events"), NULL},
+	{PURPLE_PREF_STRING, "/purple/logging/format", N_("Log format"), get_log_options},
+	{PURPLE_PREF_BOOLEAN, "/purple/logging/log_ims", N_("Log IMs"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/purple/logging/log_chats", N_("Log chats"), NULL},
+	{PURPLE_PREF_BOOLEAN, "/purple/logging/log_system", N_("Log status change events"), NULL},
 	{PURPLE_PREF_NONE, NULL, NULL, NULL},
 };
 
 /* XXX: Translate after the freeze */
 static Prefs idle[] =
 {
-	{PURPLE_PREF_STRING, "/core/away/idle_reporting", "Report Idle time", get_idle_options},
-	{PURPLE_PREF_BOOLEAN, "/core/away/away_when_idle", "Change status when idle", NULL},
-	{PURPLE_PREF_INT, "/core/away/mins_before_away", "Minutes before changing status", NULL},
-	{PURPLE_PREF_INT, "/core/savedstatus/idleaway", "Change status to", get_status_titles},
+	{PURPLE_PREF_STRING, "/purple/away/idle_reporting", "Report Idle time", get_idle_options},
+	{PURPLE_PREF_BOOLEAN, "/purple/away/away_when_idle", "Change status when idle", NULL},
+	{PURPLE_PREF_INT, "/purple/away/mins_before_away", "Minutes before changing status", NULL},
+	{PURPLE_PREF_INT, "/purple/savedstatus/idleaway", "Change status to", get_status_titles},
 	{PURPLE_PREF_NONE, NULL, NULL, NULL},
 };
 
--- a/finch/plugins/gnthistory.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/finch/plugins/gnthistory.c	Thu Apr 26 00:26:44 2007 +0000
@@ -57,7 +57,7 @@
 
 		/* If we're not logging, don't show anything.
 		 * Otherwise, we might show a very old log. */
-		if (!purple_prefs_get_bool("/core/logging/log_ims"))
+		if (!purple_prefs_get_bool("/purple/logging/log_ims"))
 			return;
 
 		/* Find buddies for this conversation. */
@@ -101,7 +101,7 @@
 	{
 		/* If we're not logging, don't show anything.
 		 * Otherwise, we might show a very old log. */
-		if (!purple_prefs_get_bool("/core/logging/log_chats"))
+		if (!purple_prefs_get_bool("/purple/logging/log_chats"))
 			return;
 
 		logs = purple_log_get_logs(PURPLE_LOG_CHAT, name, account);
@@ -132,8 +132,8 @@
 static void
 history_prefs_check(PurplePlugin *plugin)
 {
-	if (!purple_prefs_get_bool("/core/logging/log_ims") &&
-	    !purple_prefs_get_bool("/core/logging/log_chats"))
+	if (!purple_prefs_get_bool("/purple/logging/log_ims") &&
+	    !purple_prefs_get_bool("/purple/logging/log_chats"))
 	{
 		purple_notify_warning(plugin, NULL, _("History Plugin Requires Logging"),
 							_("Logging can be enabled from Tools -> Preferences -> Logging.\n\n"
@@ -155,9 +155,9 @@
 						"conversation-created",
 						plugin, PURPLE_CALLBACK(historize), NULL);
 
-	purple_prefs_connect_callback(plugin, "/core/logging/log_ims",
+	purple_prefs_connect_callback(plugin, "/purple/logging/log_ims",
 								history_prefs_cb, plugin);
-	purple_prefs_connect_callback(plugin, "/core/logging/log_chats",
+	purple_prefs_connect_callback(plugin, "/purple/logging/log_chats",
 								history_prefs_cb, plugin);
 
 	history_prefs_check(plugin);
--- a/libpurple/blist.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/blist.c	Thu Apr 26 00:26:44 2007 +0000
@@ -644,7 +644,7 @@
 			                            purple_buddy_get_presence(buddy));
 
 			if (cmp > 0 || (cmp == 0 &&
-			                purple_prefs_get_bool("/core/contact/last_match")))
+			                purple_prefs_get_bool("/purple/contact/last_match")))
 			{
 				new_priority = buddy;
 			}
--- a/libpurple/connection.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/connection.c	Thu Apr 26 00:26:44 2007 +0000
@@ -284,7 +284,7 @@
 		/* Set the time the account came online */
 		purple_presence_set_login_time(presence, time(NULL));
 
-		if (purple_prefs_get_bool("/core/logging/log_system"))
+		if (purple_prefs_get_bool("/purple/logging/log_system"))
 		{
 			PurpleLog *log = purple_account_get_log(account, TRUE);
 
@@ -314,7 +314,7 @@
 	else if (gc->state == PURPLE_DISCONNECTED) {
 		PurpleAccount *account = purple_connection_get_account(gc);
 
-		if (purple_prefs_get_bool("/core/logging/log_system"))
+		if (purple_prefs_get_bool("/purple/logging/log_system"))
 		{
 			PurpleLog *log = purple_account_get_log(account, FALSE);
 
--- a/libpurple/conversation.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/conversation.c	Thu Apr 26 00:26:44 2007 +0000
@@ -281,7 +281,7 @@
 		if ((icon = purple_buddy_icons_find(account, name)))
 			purple_conv_im_set_icon(conv->u.im, icon);
 
-		if (purple_prefs_get_bool("/core/logging/log_ims"))
+		if (purple_prefs_get_bool("/purple/logging/log_ims"))
 		{
 			purple_conversation_set_logging(conv, TRUE);
 			open_log(conv);
@@ -303,7 +303,7 @@
 			purple_conv_chat_set_nick(conv->u.chat,
 									purple_account_get_username(account));
 
-		if (purple_prefs_get_bool("/core/logging/log_chats"))
+		if (purple_prefs_get_bool("/purple/logging/log_chats"))
 		{
 			purple_conversation_set_logging(conv, TRUE);
 			open_log(conv);
@@ -352,7 +352,7 @@
 
 		if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM)
 		{
-			if (purple_prefs_get_bool("/core/conversations/im/send_typing"))
+			if (purple_prefs_get_bool("/purple/conversations/im/send_typing"))
 				serv_send_typing(gc, name, PURPLE_NOT_TYPING);
 
 			if (gc && prpl_info->convo_closed != NULL)
@@ -1665,7 +1665,7 @@
 	if (is_me)
 		purple_conv_chat_set_nick(chat, new_user);
 
-	if (purple_prefs_get_bool("/core/conversations/chat/show_nick_change") &&
+	if (purple_prefs_get_bool("/purple/conversations/chat/show_nick_change") &&
 	    !purple_conv_chat_is_user_ignored(chat, new_user)) {
 
 		if (is_me) {
@@ -2003,15 +2003,15 @@
 	 **********************************************************************/
 
 	/* Conversations */
-	purple_prefs_add_none("/core/conversations");
+	purple_prefs_add_none("/purple/conversations");
 
 	/* Conversations -> Chat */
-	purple_prefs_add_none("/core/conversations/chat");
-	purple_prefs_add_bool("/core/conversations/chat/show_nick_change", TRUE);
+	purple_prefs_add_none("/purple/conversations/chat");
+	purple_prefs_add_bool("/purple/conversations/chat/show_nick_change", TRUE);
 
 	/* Conversations -> IM */
-	purple_prefs_add_none("/core/conversations/im");
-	purple_prefs_add_bool("/core/conversations/im/send_typing", TRUE);
+	purple_prefs_add_none("/purple/conversations/im");
+	purple_prefs_add_bool("/purple/conversations/im/send_typing", TRUE);
 
 
 	/**********************************************************************
--- a/libpurple/debug.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/debug.c	Thu Apr 26 00:26:44 2007 +0000
@@ -63,8 +63,8 @@
 		gchar *ts_s;
 
 		if ((category != NULL) &&
-			(purple_prefs_exists("/core/debug/timestamps")) &&
-			(purple_prefs_get_bool("/core/debug/timestamps"))) {
+			(purple_prefs_exists("/purple/debug/timestamps")) &&
+			(purple_prefs_get_bool("/purple/debug/timestamps"))) {
 			const char *mdate;
 
 			time_t mtime = time(NULL);
@@ -189,11 +189,11 @@
 void
 purple_debug_init(void)
 {
-	purple_prefs_add_none("/core/debug");
+	purple_prefs_add_none("/purple/debug");
 
 	/*
 	 * This pref is currently used by both the console
 	 * output and the debug window output.
 	 */
-	purple_prefs_add_bool("/core/debug/timestamps", FALSE);
+	purple_prefs_add_bool("/purple/debug/timestamps", FALSE);
 }
--- a/libpurple/idle.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/idle.c	Thu Apr 26 00:26:44 2007 +0000
@@ -121,7 +121,7 @@
 
 	purple_signal_emit(purple_blist_get_handle(), "update-idle");
 
-	idle_reporting = purple_prefs_get_string("/core/away/idle_reporting");
+	idle_reporting = purple_prefs_get_string("/purple/away/idle_reporting");
 	report_idle = TRUE;
 	if (!strcmp(idle_reporting, "system") &&
 		(idle_ui_ops != NULL) && (idle_ui_ops->get_time_idle != NULL))
@@ -142,7 +142,7 @@
 	}
 
 	/* Auto-away stuff */
-	auto_away = purple_prefs_get_bool("/core/away/away_when_idle");
+	auto_away = purple_prefs_get_bool("/purple/away/away_when_idle");
 
 	/* If we're not reporting idle, we can still do auto-away.
 	 * First try "system" and if that isn't possible, use "purple" */
@@ -154,11 +154,11 @@
 	}
 
 	if (auto_away &&
-		(time_idle > (60 * purple_prefs_get_int("/core/away/mins_before_away"))))
+		(time_idle > (60 * purple_prefs_get_int("/purple/away/mins_before_away"))))
 	{
 		purple_savedstatus_set_idleaway(TRUE);
 	}
-	else if (time_idle < 60 * purple_prefs_get_int("/core/away/mins_before_away"))
+	else if (time_idle < 60 * purple_prefs_get_int("/purple/away/mins_before_away"))
 	{
 		purple_savedstatus_set_idleaway(FALSE);
 	}
--- a/libpurple/log.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/log.c	Thu Apr 26 00:26:44 2007 +0000
@@ -583,12 +583,12 @@
 {
 	void *handle = purple_log_get_handle();
 
-	purple_prefs_add_none("/core/logging");
-	purple_prefs_add_bool("/core/logging/log_ims", FALSE);
-	purple_prefs_add_bool("/core/logging/log_chats", FALSE);
-	purple_prefs_add_bool("/core/logging/log_system", FALSE);
+	purple_prefs_add_none("/purple/logging");
+	purple_prefs_add_bool("/purple/logging/log_ims", FALSE);
+	purple_prefs_add_bool("/purple/logging/log_chats", FALSE);
+	purple_prefs_add_bool("/purple/logging/log_system", FALSE);
 
-	purple_prefs_add_string("/core/logging/format", "txt");
+	purple_prefs_add_string("/purple/logging/format", "txt");
 
 	html_logger = purple_log_logger_new("html", _("HTML"), 11,
 									  NULL,
@@ -650,9 +650,9 @@
 #endif
 	                     purple_value_new(PURPLE_TYPE_BOOLEAN));
 
-	purple_prefs_connect_callback(NULL, "/core/logging/format",
+	purple_prefs_connect_callback(NULL, "/purple/logging/format",
 							    logger_pref_cb, NULL);
-	purple_prefs_trigger_callback("/core/logging/format");
+	purple_prefs_trigger_callback("/purple/logging/format");
 
 	logsize_users = g_hash_table_new_full((GHashFunc)_purple_logsize_user_hash,
 			(GEqualFunc)_purple_logsize_user_equal,
--- a/libpurple/network.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/network.c	Thu Apr 26 00:26:44 2007 +0000
@@ -111,13 +111,13 @@
 
 	/* XXX - Ensure the IP address is valid */
 
-	purple_prefs_set_string("/core/network/public_ip", ip);
+	purple_prefs_set_string("/purple/network/public_ip", ip);
 }
 
 const char *
 purple_network_get_public_ip(void)
 {
-	return purple_prefs_get_string("/core/network/public_ip");
+	return purple_prefs_get_string("/purple/network/public_ip");
 }
 
 const char *
@@ -176,7 +176,7 @@
 	PurpleStunNatDiscovery *stun;
 
 	/* Check if the user specified an IP manually */
-	if (!purple_prefs_get_bool("/core/network/auto_ip")) {
+	if (!purple_prefs_get_bool("/purple/network/auto_ip")) {
 		ip = purple_network_get_public_ip();
 		/* Make sure the IP address entered by the user is valid */
 		if ((ip != NULL) && (purple_network_ip_atoi(ip) != NULL))
@@ -387,9 +387,9 @@
 {
 	PurpleNetworkListenData *ret = NULL;
 
-	if (purple_prefs_get_bool("/core/network/ports_range_use")) {
-		start = purple_prefs_get_int("/core/network/ports_range_start");
-		end = purple_prefs_get_int("/core/network/ports_range_end");
+	if (purple_prefs_get_bool("/purple/network/ports_range_use")) {
+		start = purple_prefs_get_int("/purple/network/ports_range_start");
+		end = purple_prefs_get_int("/purple/network/ports_range_end");
 	} else {
 		if (end < start)
 			end = start;
@@ -660,12 +660,12 @@
 	}
 #endif
 
-	purple_prefs_add_none  ("/core/network");
-	purple_prefs_add_bool  ("/core/network/auto_ip", TRUE);
-	purple_prefs_add_string("/core/network/public_ip", "");
-	purple_prefs_add_bool  ("/core/network/ports_range_use", FALSE);
-	purple_prefs_add_int   ("/core/network/ports_range_start", 1024);
-	purple_prefs_add_int   ("/core/network/ports_range_end", 2048);
+	purple_prefs_add_none  ("/purple/network");
+	purple_prefs_add_bool  ("/purple/network/auto_ip", TRUE);
+	purple_prefs_add_string("/purple/network/public_ip", "");
+	purple_prefs_add_bool  ("/purple/network/ports_range_use", FALSE);
+	purple_prefs_add_int   ("/purple/network/ports_range_start", 1024);
+	purple_prefs_add_int   ("/purple/network/ports_range_end", 2048);
 
 	purple_upnp_discover(NULL, NULL);
 
--- a/libpurple/plugins/autoaccept.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/autoaccept.c	Thu Apr 26 00:26:44 2007 +0000
@@ -47,7 +47,7 @@
 #include <notify.h>
 #include <util.h>
 
-#define PREF_PREFIX		"/plugins/core/" PLUGIN_ID
+#define PREF_PREFIX		"/plugins/purple/" PLUGIN_ID
 #define PREF_PATH		PREF_PREFIX "/path"
 #define PREF_STRANGER	PREF_PREFIX "/reject_stranger"
 #define PREF_NOTIFY		PREF_PREFIX "/notify"
--- a/libpurple/plugins/joinpart.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/joinpart.c	Thu Apr 26 00:26:44 2007 +0000
@@ -33,12 +33,12 @@
 
 /* The number of minutes before a person is considered
  * to have stopped being part of active conversation. */
-#define DELAY_PREF "/plugins/core/joinpart/delay"
+#define DELAY_PREF "/plugins/purple/joinpart/delay"
 #define DELAY_DEFAULT 10
 
 /* The number of people that must be in a room for this
  * plugin to have any effect */
-#define THRESHOLD_PREF "/plugins/core/joinpart/threshold"
+#define THRESHOLD_PREF "/plugins/purple/joinpart/threshold"
 #define THRESHOLD_DEFAULT 20
 
 struct joinpart_key
@@ -285,7 +285,7 @@
 static void
 init_plugin(PurplePlugin *plugin)
 {
-	purple_prefs_add_none("/plugins/core/joinpart");
+	purple_prefs_add_none("/plugins/purple/joinpart");
 
 	purple_prefs_add_int(DELAY_PREF, DELAY_DEFAULT);
 	purple_prefs_add_int(THRESHOLD_PREF, THRESHOLD_DEFAULT);
--- a/libpurple/plugins/log_reader.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/log_reader.c	Thu Apr 26 00:26:44 2007 +0000
@@ -71,7 +71,7 @@
 	g_return_val_if_fail(sn != NULL, list);
 	g_return_val_if_fail(account != NULL, list);
 
-	logdir = purple_prefs_get_string("/plugins/core/log_reader/adium/log_directory");
+	logdir = purple_prefs_get_string("/plugins/purple/log_reader/adium/log_directory");
 
 	/* By clearing the log directory path, this logger can be (effectively) disabled. */
 	if (!*logdir)
@@ -295,7 +295,7 @@
 
 	data = log->logger_data;
 
-	if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) {
+	if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) {
 		struct stat st;
 
 		if (!data->path || stat(data->path, &st))
@@ -359,7 +359,7 @@
 {
 	g_return_val_if_fail(log != NULL, 0);
 
-	if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
+	if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes"))
 		return 0;
 
 	/* TODO: Do something here. */
@@ -411,7 +411,7 @@
 {
 	g_return_val_if_fail(log != NULL, 0);
 
-	if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
+	if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes"))
 		return 0;
 
 	/* TODO: Do something here. */
@@ -636,7 +636,7 @@
 	if (strcmp(account->protocol_id, "prpl-msn"))
 		return list;
 
-	logdir = purple_prefs_get_string("/plugins/core/log_reader/msn/log_directory");
+	logdir = purple_prefs_get_string("/plugins/purple/log_reader/msn/log_directory");
 
 	/* By clearing the log directory path, this logger can be (effectively) disabled. */
 	if (!*logdir)
@@ -968,7 +968,7 @@
 		}
 
 		their_name = from_name;
-		if (from_name && purple_prefs_get_bool("/plugins/core/log_reader/use_name_heuristics")) {
+		if (from_name && purple_prefs_get_bool("/plugins/purple/log_reader/use_name_heuristics")) {
 			const char *friendly_name = purple_connection_get_display_name(log->account->gc);
 
 			if (friendly_name != NULL) {
@@ -1153,7 +1153,7 @@
 
 	g_return_val_if_fail(log != NULL, 0);
 
-	if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes"))
+	if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes"))
 		return 0;
 
 	text = msn_logger_read(log, NULL);
@@ -1216,7 +1216,7 @@
 	g_return_val_if_fail(sn != NULL, list);
 	g_return_val_if_fail(account != NULL, list);
 
-	logdir = purple_prefs_get_string("/plugins/core/log_reader/trillian/log_directory");
+	logdir = purple_prefs_get_string("/plugins/purple/log_reader/trillian/log_directory");
 
 	/* By clearing the log directory path, this logger can be (effectively) disabled. */
 	if (!*logdir)
@@ -1687,7 +1687,7 @@
 
 	data = log->logger_data;
 
-	if (purple_prefs_get_bool("/plugins/core/log_reader/fast_sizes")) {
+	if (purple_prefs_get_bool("/plugins/purple/log_reader/fast_sizes")) {
 		return data ? data->length : 0;
 	}
 
@@ -1727,17 +1727,17 @@
 
 	g_return_if_fail(plugin != NULL);
 
-	purple_prefs_add_none("/plugins/core/log_reader");
+	purple_prefs_add_none("/plugins/purple/log_reader");
 
 
 	/* Add general preferences. */
 
-	purple_prefs_add_bool("/plugins/core/log_reader/fast_sizes", FALSE);
-	purple_prefs_add_bool("/plugins/core/log_reader/use_name_heuristics", TRUE);
+	purple_prefs_add_bool("/plugins/purple/log_reader/fast_sizes", FALSE);
+	purple_prefs_add_bool("/plugins/purple/log_reader/use_name_heuristics", TRUE);
 
 
 	/* Add Adium log directory preference. */
-	purple_prefs_add_none("/plugins/core/log_reader/adium");
+	purple_prefs_add_none("/plugins/purple/log_reader/adium");
 
 	/* Calculate default Adium log directory. */
 #ifdef _WIN32
@@ -1747,7 +1747,7 @@
 			"Adium 2.0", "Users", "Default", "Logs", NULL);
 #endif
 
-	purple_prefs_add_string("/plugins/core/log_reader/adium/log_directory", path);
+	purple_prefs_add_string("/plugins/purple/log_reader/adium/log_directory", path);
 
 #ifndef _WIN32
 	g_free(path);
@@ -1755,7 +1755,7 @@
 
 
 	/* Add Fire log directory preference. */
-	purple_prefs_add_none("/plugins/core/log_reader/fire");
+	purple_prefs_add_none("/plugins/purple/log_reader/fire");
 
 	/* Calculate default Fire log directory. */
 #ifdef _WIN32
@@ -1765,7 +1765,7 @@
 			"Fire", "Sessions", NULL);
 #endif
 
-	purple_prefs_add_string("/plugins/core/log_reader/fire/log_directory", path);
+	purple_prefs_add_string("/plugins/purple/log_reader/fire/log_directory", path);
 
 #ifndef _WIN32
 	g_free(path);
@@ -1773,7 +1773,7 @@
 
 
 	/* Add Messenger Plus! log directory preference. */
-	purple_prefs_add_none("/plugins/core/log_reader/messenger_plus");
+	purple_prefs_add_none("/plugins/purple/log_reader/messenger_plus");
 
 	/* Calculate default Messenger Plus! log directory. */
 #ifdef _WIN32
@@ -1794,12 +1794,12 @@
 		path = g_strdup("");
 #endif
 
-	purple_prefs_add_string("/plugins/core/log_reader/messenger_plus/log_directory", path);
+	purple_prefs_add_string("/plugins/purple/log_reader/messenger_plus/log_directory", path);
 	g_free(path);
 
 
 	/* Add MSN Messenger log directory preference. */
-	purple_prefs_add_none("/plugins/core/log_reader/msn");
+	purple_prefs_add_none("/plugins/purple/log_reader/msn");
 
 	/* Calculate default MSN message history directory. */
 #ifdef _WIN32
@@ -1820,12 +1820,12 @@
 		path = g_strdup("");
 #endif
 
-	purple_prefs_add_string("/plugins/core/log_reader/msn/log_directory", path);
+	purple_prefs_add_string("/plugins/purple/log_reader/msn/log_directory", path);
 	g_free(path);
 
 
 	/* Add Trillian log directory preference. */
-	purple_prefs_add_none("/plugins/core/log_reader/trillian");
+	purple_prefs_add_none("/plugins/purple/log_reader/trillian");
 
 #ifdef _WIN32
 	/* XXX: While a major hack, this is the most reliable way I could
@@ -1892,7 +1892,7 @@
 			if (logdir) {
 				g_strchomp(logdir);
 				purple_prefs_add_string(
-					"/plugins/core/log_reader/trillian/log_directory", logdir);
+					"/plugins/purple/log_reader/trillian/log_directory", logdir);
 				found = TRUE;
 			}
 
@@ -1920,7 +1920,7 @@
 						line += (sizeof("Directory=") - 1);
 						g_strchomp(line);
 						purple_prefs_add_string(
-							"/plugins/core/log_reader/trillian/log_directory",
+							"/plugins/purple/log_reader/trillian/log_directory",
 							line);
 						found = TRUE;
 					}
@@ -1957,7 +1957,7 @@
 		path = g_strdup("");
 #endif
 
-	purple_prefs_add_string("/plugins/core/log_reader/trillian/log_directory", path);
+	purple_prefs_add_string("/plugins/purple/log_reader/trillian/log_directory", path);
 	g_free(path);
 
 #ifdef _WIN32
@@ -2068,11 +2068,11 @@
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/fast_sizes", _("Fast size calculations"));
+		"/plugins/purple/log_reader/fast_sizes", _("Fast size calculations"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/use_name_heuristics", _("Use name heuristics"));
+		"/plugins/purple/log_reader/use_name_heuristics", _("Use name heuristics"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 
@@ -2082,25 +2082,25 @@
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/adium/log_directory", _("Adium"));
+		"/plugins/purple/log_reader/adium/log_directory", _("Adium"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 #if 0
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/fire/log_directory", _("Fire"));
+		"/plugins/purple/log_reader/fire/log_directory", _("Fire"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/messenger_plus/log_directory", _("Messenger Plus!"));
+		"/plugins/purple/log_reader/messenger_plus/log_directory", _("Messenger Plus!"));
 	purple_plugin_pref_frame_add(frame, ppref);
 #endif
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/msn/log_directory", _("MSN Messenger"));
+		"/plugins/purple/log_reader/msn/log_directory", _("MSN Messenger"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-		"/plugins/core/log_reader/trillian/log_directory", _("Trillian"));
+		"/plugins/purple/log_reader/trillian/log_directory", _("Trillian"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	return frame;
--- a/libpurple/plugins/offlinemsg.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/offlinemsg.c	Thu Apr 26 00:26:44 2007 +0000
@@ -36,7 +36,7 @@
 #include <pounce.h>
 #include <request.h>
 
-#define	PREF_PREFIX		"/plugins/core/" PLUGIN_ID
+#define	PREF_PREFIX		"/plugins/purple/" PLUGIN_ID
 #define	PREF_ALWAYS		PREF_PREFIX "/always"
 
 typedef struct _OfflineMsg OfflineMsg;
--- a/libpurple/plugins/pluginpref_example.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/pluginpref_example.c	Thu Apr 26 00:26:44 2007 +0000
@@ -45,7 +45,7 @@
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-									"/plugins/core/pluginpref_example/bool",
+									"/plugins/purple/pluginpref_example/bool",
 									"boolean pref");
 	purple_plugin_pref_frame_add(frame, ppref);
 
@@ -53,13 +53,13 @@
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-									"/plugins/core/pluginpref_example/int",
+									"/plugins/purple/pluginpref_example/int",
 									"integer pref");
 	purple_plugin_pref_set_bounds(ppref, 0, 255);
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-									"/plugins/core/pluginpref_example/int_choice",
+									"/plugins/purple/pluginpref_example/int_choice",
 									"integer choice");
 	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
 	purple_plugin_pref_add_choice(ppref, "One", GINT_TO_POINTER(1));
@@ -76,24 +76,24 @@
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-								"/plugins/core/pluginpref_example/string",
+								"/plugins/purple/pluginpref_example/string",
 								"string pref");
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-								"/plugins/core/pluginpref_example/masked_string",
+								"/plugins/purple/pluginpref_example/masked_string",
 								"masked string");
 	purple_plugin_pref_set_masked(ppref, TRUE);
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-							"/plugins/core/pluginpref_example/max_string",
+							"/plugins/purple/pluginpref_example/max_string",
 							"string pref\n(max length of 16)");
 	purple_plugin_pref_set_max_length(ppref, 16);
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	ppref = purple_plugin_pref_new_with_name_and_label(
-							"/plugins/core/pluginpref_example/string_choice",
+							"/plugins/purple/pluginpref_example/string_choice",
 							"string choice");
 	purple_plugin_pref_set_type(ppref, PURPLE_PLUGIN_PREF_CHOICE);
 	purple_plugin_pref_add_choice(ppref, "red", "red");
@@ -147,16 +147,16 @@
 static void
 init_plugin(PurplePlugin *plugin)
 {
-	purple_prefs_add_none("/plugins/core/pluginpref_example");
-	purple_prefs_add_bool("/plugins/core/pluginpref_example/bool", TRUE);
-	purple_prefs_add_int("/plugins/core/pluginpref_example/int", 0);
-	purple_prefs_add_int("/plugins/core/pluginpref_example/int_choice", 1);
-	purple_prefs_add_string("/plugins/core/pluginpref_example/string",
+	purple_prefs_add_none("/plugins/purple/pluginpref_example");
+	purple_prefs_add_bool("/plugins/purple/pluginpref_example/bool", TRUE);
+	purple_prefs_add_int("/plugins/purple/pluginpref_example/int", 0);
+	purple_prefs_add_int("/plugins/purple/pluginpref_example/int_choice", 1);
+	purple_prefs_add_string("/plugins/purple/pluginpref_example/string",
 							"string");
-	purple_prefs_add_string("/plugins/core/pluginpref_example/max_string",
+	purple_prefs_add_string("/plugins/purple/pluginpref_example/max_string",
 							"max length string");
-	purple_prefs_add_string("/plugins/core/pluginpref_example/masked_string", "masked");
-	purple_prefs_add_string("/plugins/core/pluginpref_example/string_choice", "red");
+	purple_prefs_add_string("/plugins/purple/pluginpref_example/masked_string", "masked");
+	purple_prefs_add_string("/plugins/purple/pluginpref_example/string_choice", "red");
 }
 
 PURPLE_INIT_PLUGIN(ppexample, init_plugin, info)
--- a/libpurple/plugins/psychic.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/psychic.c	Thu Apr 26 00:26:44 2007 +0000
@@ -24,7 +24,7 @@
 #define PLUGIN_AUTHOR   "Christopher O'Brien <siege@preoccupied.net>"
 
 
-#define PREFS_BASE    "/plugins/core/psychic"
+#define PREFS_BASE    "/plugins/purple/psychic"
 #define PREF_BUDDIES  PREFS_BASE "/buddies_only"
 #define PREF_NOTICE   PREFS_BASE "/show_notice"
 #define PREF_STATUS   PREFS_BASE "/activate_online"
--- a/libpurple/plugins/statenotify.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/plugins/statenotify.c	Thu Apr 26 00:26:44 2007 +0000
@@ -45,7 +45,7 @@
 	available = purple_status_is_available(status);
 	old_available = purple_status_is_available(old_status);
 
-	if (purple_prefs_get_bool("/plugins/core/statenotify/notify_away")) {
+	if (purple_prefs_get_bool("/plugins/purple/statenotify/notify_away")) {
 		if (available && !old_available)
 			write_status(buddy, _("%s is no longer away."));
 		else if (!available && old_available)
@@ -57,7 +57,7 @@
 buddy_idle_changed_cb(PurpleBuddy *buddy, gboolean old_idle, gboolean idle,
                       void *data)
 {
-	if (purple_prefs_get_bool("/plugins/core/statenotify/notify_idle")) {
+	if (purple_prefs_get_bool("/plugins/purple/statenotify/notify_idle")) {
 		if (idle) {
 			write_status(buddy, _("%s has become idle."));
 		} else {
@@ -69,14 +69,14 @@
 static void
 buddy_signon_cb(PurpleBuddy *buddy, void *data)
 {
-	if (purple_prefs_get_bool("/plugins/core/statenotify/notify_signon"))
+	if (purple_prefs_get_bool("/plugins/purple/statenotify/notify_signon"))
 		write_status(buddy, _("%s has signed on."));
 }
 
 static void
 buddy_signoff_cb(PurpleBuddy *buddy, void *data)
 {
-	if (purple_prefs_get_bool("/plugins/core/statenotify/notify_signon"))
+	if (purple_prefs_get_bool("/plugins/purple/statenotify/notify_signon"))
 		write_status(buddy, _("%s has signed off."));
 }
 
@@ -91,13 +91,13 @@
 	ppref = purple_plugin_pref_new_with_label(_("Notify When"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
-	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_away", _("Buddy Goes _Away"));
+	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/purple/statenotify/notify_away", _("Buddy Goes _Away"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
-	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_idle", _("Buddy Goes _Idle"));
+	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/purple/statenotify/notify_idle", _("Buddy Goes _Idle"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
-	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/core/statenotify/notify_signon", _("Buddy _Signs On/Off"));
+	ppref = purple_plugin_pref_new_with_name_and_label("/plugins/purple/statenotify/notify_signon", _("Buddy _Signs On/Off"));
 	purple_plugin_pref_frame_add(frame, ppref);
 
 	return frame;
@@ -163,10 +163,10 @@
 static void
 init_plugin(PurplePlugin *plugin)
 {
-	purple_prefs_add_none("/plugins/core/statenotify");
-	purple_prefs_add_bool("/plugins/core/statenotify/notify_away", TRUE);
-	purple_prefs_add_bool("/plugins/core/statenotify/notify_idle", TRUE);
-	purple_prefs_add_bool("/plugins/core/statenotify/notify_signon", TRUE);
+	purple_prefs_add_none("/plugins/purple/statenotify");
+	purple_prefs_add_bool("/plugins/purple/statenotify/notify_away", TRUE);
+	purple_prefs_add_bool("/plugins/purple/statenotify/notify_idle", TRUE);
+	purple_prefs_add_bool("/plugins/purple/statenotify/notify_signon", TRUE);
 }
 
 PURPLE_INIT_PLUGIN(statenotify, init_plugin, info)
--- a/libpurple/prefs.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/prefs.c	Thu Apr 26 00:26:44 2007 +0000
@@ -438,14 +438,14 @@
 	/* I introduced a bug in 2.0.0beta2.  This fixes the broken
 	 * scores on upgrade.  This can be removed sometime shortly
 	 * after 2.0.0 final is released. -- rlaager */
-	if (purple_prefs_get_int("/core/status/scores/offline") == -500 &&
-	    purple_prefs_get_int("/core/status/scores/available") == 100 &&
-	    purple_prefs_get_int("/core/status/scores/invisible") == -50 &&
-	    purple_prefs_get_int("/core/status/scores/away") == -100 &&
-	    purple_prefs_get_int("/core/status/scores/extended_away") == -200 &&
-	    purple_prefs_get_int("/core/status/scores/idle") == -400)
+	if (purple_prefs_get_int("/purple/status/scores/offline") == -500 &&
+	    purple_prefs_get_int("/purple/status/scores/available") == 100 &&
+	    purple_prefs_get_int("/purple/status/scores/invisible") == -50 &&
+	    purple_prefs_get_int("/purple/status/scores/away") == -100 &&
+	    purple_prefs_get_int("/purple/status/scores/extended_away") == -200 &&
+	    purple_prefs_get_int("/purple/status/scores/idle") == -400)
 	{
-		purple_prefs_set_int("/core/status/scores/idle", -10);
+		purple_prefs_set_int("/purple/status/scores/idle", -10);
 	}
 
 	return TRUE;
@@ -1328,38 +1328,39 @@
 purple_prefs_update_old()
 {
 	/* Remove some no-longer-used prefs */
-	purple_prefs_remove("/core/away/auto_response/enabled");
-	purple_prefs_remove("/core/away/auto_response/idle_only");
-	purple_prefs_remove("/core/away/auto_response/in_active_conv");
-	purple_prefs_remove("/core/away/auto_response/sec_before_resend");
-	purple_prefs_remove("/core/away/auto_response");
-	purple_prefs_remove("/core/away/default_message");
-	purple_prefs_remove("/core/buddies/use_server_alias");
-	purple_prefs_remove("/core/conversations/away_back_on_send");
-	purple_prefs_remove("/core/conversations/send_urls_as_links");
-	purple_prefs_remove("/core/conversations/im/show_login");
-	purple_prefs_remove("/core/conversations/chat/show_join");
-	purple_prefs_remove("/core/conversations/chat/show_leave");
-	purple_prefs_remove("/core/conversations/combine_chat_im");
-	purple_prefs_remove("/core/conversations/use_alias_for_title");
-	purple_prefs_remove("/core/logging/log_signon_signoff");
-	purple_prefs_remove("/core/logging/log_idle_state");
-	purple_prefs_remove("/core/logging/log_away_state");
-	purple_prefs_remove("/core/logging/log_own_states");
-	purple_prefs_remove("/core/status/scores/hidden");
-	purple_prefs_remove("/plugins/core/autorecon/hide_connected_error");
-	purple_prefs_remove("/plugins/core/autorecon/hide_connecting_error");
-	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/away/auto_response/enabled");
+	purple_prefs_remove("/purple/away/auto_response/idle_only");
+	purple_prefs_remove("/purple/away/auto_response/in_active_conv");
+	purple_prefs_remove("/purple/away/auto_response/sec_before_resend");
+	purple_prefs_remove("/purple/away/auto_response");
+	purple_prefs_remove("/purple/away/default_message");
+	purple_prefs_remove("/purple/buddies/use_server_alias");
+	purple_prefs_remove("/purple/conversations/away_back_on_send");
+	purple_prefs_remove("/purple/conversations/send_urls_as_links");
+	purple_prefs_remove("/purple/conversations/im/show_login");
+	purple_prefs_remove("/purple/conversations/chat/show_join");
+	purple_prefs_remove("/purple/conversations/chat/show_leave");
+	purple_prefs_remove("/purple/conversations/combine_chat_im");
+	purple_prefs_remove("/purple/conversations/use_alias_for_title");
+	purple_prefs_remove("/purple/logging/log_signon_signoff");
+	purple_prefs_remove("/purple/logging/log_idle_state");
+	purple_prefs_remove("/purple/logging/log_away_state");
+	purple_prefs_remove("/purple/logging/log_own_states");
+	purple_prefs_remove("/purple/status/scores/hidden");
+	purple_prefs_remove("/plugins/purple/autorecon/hide_connected_error");
+	purple_prefs_remove("/plugins/purple/autorecon/hide_connecting_error");
+	purple_prefs_remove("/plugins/purple/autorecon/hide_reconnecting_dialog");
+	purple_prefs_remove("/plugins/purple/autorecon/restore_state");
+	purple_prefs_remove("/plugins/purple/autorecon");
 
 	/* Convert old sounds while_away pref to new 3-way pref. */
-	if (purple_prefs_exists("/core/sound/while_away") &&
-	    purple_prefs_get_bool("/core/sound/while_away"))
+	if (purple_prefs_exists("/purple/sound/while_away") &&
+	    purple_prefs_get_bool("/purple/sound/while_away"))
 	{
-		purple_prefs_set_int("/core/sound/while_status", 3);
+		purple_prefs_set_int("/purple/sound/while_status", 3);
 	}
-	purple_prefs_remove("/core/sound/while_away");
+	purple_prefs_remove("/purple/sound/while_away");
+	purple_prefs_rename("/core", "/purple");
 }
 
 void *
@@ -1379,52 +1380,52 @@
 
 	purple_prefs_connect_callback(handle, "/", prefs_save_cb, NULL);
 
-	purple_prefs_add_none("/core");
+	purple_prefs_add_none("/purple");
 	purple_prefs_add_none("/plugins");
 	purple_prefs_add_none("/plugins/core");
 	purple_prefs_add_none("/plugins/lopl");
 	purple_prefs_add_none("/plugins/prpl");
 
 	/* Away */
-	purple_prefs_add_none("/core/away");
-	purple_prefs_add_string("/core/away/idle_reporting", "system");
-	purple_prefs_add_bool("/core/away/away_when_idle", TRUE);
-	purple_prefs_add_int("/core/away/mins_before_away", 5);
+	purple_prefs_add_none("/purple/away");
+	purple_prefs_add_string("/purple/away/idle_reporting", "system");
+	purple_prefs_add_bool("/purple/away/away_when_idle", TRUE);
+	purple_prefs_add_int("/purple/away/mins_before_away", 5);
 
 	/* Away -> Auto-Reply */
-	if (!purple_prefs_exists("/core/away/auto_response/enabled") ||
-	    !purple_prefs_exists("/core/away/auto_response/idle_only"))
+	if (!purple_prefs_exists("/purple/away/auto_response/enabled") ||
+	    !purple_prefs_exists("/purple/away/auto_response/idle_only"))
 	{
-		purple_prefs_add_string("/core/away/auto_reply", "awayidle");
+		purple_prefs_add_string("/purple/away/auto_reply", "awayidle");
 	}
 	else
 	{
-		if (!purple_prefs_get_bool("/core/away/auto_response/enabled"))
+		if (!purple_prefs_get_bool("/purple/away/auto_response/enabled"))
 		{
-			purple_prefs_add_string("/core/away/auto_reply", "never");
+			purple_prefs_add_string("/purple/away/auto_reply", "never");
 		}
 		else
 		{
-			if (purple_prefs_get_bool("/core/away/auto_response/idle_only"))
+			if (purple_prefs_get_bool("/purple/away/auto_response/idle_only"))
 			{
-				purple_prefs_add_string("/core/away/auto_reply", "awayidle");
+				purple_prefs_add_string("/purple/away/auto_reply", "awayidle");
 			}
 			else
 			{
-				purple_prefs_add_string("/core/away/auto_reply", "away");
+				purple_prefs_add_string("/purple/away/auto_reply", "away");
 			}
 		}
 	}
 
 	/* Buddies */
-	purple_prefs_add_none("/core/buddies");
+	purple_prefs_add_none("/purple/buddies");
 
 	/* Contact Priority Settings */
-	purple_prefs_add_none("/core/contact");
-	purple_prefs_add_bool("/core/contact/last_match", FALSE);
-	purple_prefs_remove("/core/contact/offline_score");
-	purple_prefs_remove("/core/contact/away_score");
-	purple_prefs_remove("/core/contact/idle_score");
+	purple_prefs_add_none("/purple/contact");
+	purple_prefs_add_bool("/purple/contact/last_match", FALSE);
+	purple_prefs_remove("/purple/contact/offline_score");
+	purple_prefs_remove("/purple/contact/away_score");
+	purple_prefs_remove("/purple/contact/idle_score");
 }
 
 void
--- a/libpurple/protocols/irc/cmds.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/protocols/irc/cmds.c	Thu Apr 26 00:26:44 2007 +0000
@@ -559,6 +559,22 @@
 	return 0;
 }
 
+int irc_cmd_whowas(struct irc_conn *irc, const char *cmd, const char *target, const char **args)
+{
+	char *buf;
+
+	if (!args || !args[0])
+		return 0;
+
+	buf = irc_format(irc, "vn", "WHOWAS", args[0]);
+	
+	irc->whois.nick = g_strdup(args[0]);
+	irc_send(irc, buf);
+	g_free(buf);
+
+	return 0;
+}
+
 static void irc_do_mode(struct irc_conn *irc, const char *target, const char *sign, char **ops)
 {
 	char *buf, mode[5];
--- a/libpurple/protocols/irc/irc.h	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/protocols/irc/irc.h	Thu Apr 26 00:26:44 2007 +0000
@@ -179,6 +179,7 @@
 int irc_cmd_topic(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
 int irc_cmd_wallops(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
 int irc_cmd_whois(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
+int irc_cmd_whowas(struct irc_conn *irc, const char *cmd, const char *target, const char **args);
 
 PurpleXfer *irc_dccsend_new_xfer(PurpleConnection *gc, const char *who);
 void irc_dccsend_send_file(PurpleConnection *gc, const char *who, const char *file);
--- a/libpurple/protocols/irc/msgs.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/protocols/irc/msgs.c	Thu Apr 26 00:26:44 2007 +0000
@@ -236,18 +236,20 @@
 void irc_msg_whois(struct irc_conn *irc, const char *name, const char *from, char **args)
 {
 	if (!irc->whois.nick) {
-		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected WHOIS reply for %s\n", args[1]);
+		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected %s reply for %s\n", !strcmp(name, "314") ? "WHOWAS" : "WHOIS"
+											   , args[1]);
 		return;
 	}
 
 	if (purple_utf8_strcasecmp(irc->whois.nick, args[1])) {
-		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Got WHOIS reply for %s while waiting for %s\n", args[1], irc->whois.nick);
+		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Got %s reply for %s while waiting for %s\n", !strcmp(name, "314") ? "WHOWAS" : "WHOIS"
+												      , args[1], irc->whois.nick);
 		return;
 	}
 
 	if (!strcmp(name, "301")) {
 		irc->whois.away = g_strdup(args[2]);
-	} else if (!strcmp(name, "311")) {
+	} else if (!strcmp(name, "311") || !strcmp(name, "314")) {
 		irc->whois.userhost = g_strdup_printf("%s@%s", args[2], args[3]);
 		irc->whois.name = g_strdup(args[5]);
 	} else if (!strcmp(name, "312")) {
@@ -273,11 +275,13 @@
 	PurpleNotifyUserInfo *user_info;
 
 	if (!irc->whois.nick) {
-		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected End of WHOIS for %s\n", args[1]);
+		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected End of %s for %s\n", !strcmp(name, "369") ? "WHOWAS" : "WHOIS" 
+											     , args[1]);
 		return;
 	}
 	if (purple_utf8_strcasecmp(irc->whois.nick, args[1])) {
-		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Received end of WHOIS for %s, expecting %s\n", args[1], irc->whois.nick);
+		purple_debug(PURPLE_DEBUG_WARNING, "irc", "Received end of %s for %s, expecting %s\n", !strcmp(name, "369") ? "WHOWAS" : "WHOIS" 
+													 , args[1], irc->whois.nick);
 		return;
 	}
 
--- a/libpurple/protocols/irc/parse.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/protocols/irc/parse.c	Thu Apr 26 00:26:44 2007 +0000
@@ -64,6 +64,8 @@
 	{ "318", "nt:", irc_msg_endwhois },	/* End of WHOIS			*/
 	{ "319", "nn:", irc_msg_whois },	/* Whois channels		*/
 	{ "320", "nn:", irc_msg_whois },	/* Whois (fn ident)		*/
+	{ "314", "nnvvv:", irc_msg_whois },	/* Whowas user			*/
+	{ "369", "nt:", irc_msg_endwhois },	/* End of WHOWAS		*/
 	{ "321", "*", irc_msg_list },		/* Start of list		*/
 	{ "322", "ncv:", irc_msg_list },	/* List.			*/
 	{ "323", ":", irc_msg_list },		/* End of list.			*/
@@ -78,6 +80,7 @@
 	{ "376", "n:", irc_msg_motd },		/* End of MOTD			*/
 	{ "391", "nv:", irc_msg_time },		/* Time reply			*/
 	{ "401", "nt:", irc_msg_nonick },	/* No such nick/chan		*/
+	{ "406", "nt:", irc_msg_nonick },	/* No such nick for WHOWAS	*/
 	{ "403", "nc:", irc_msg_nochan },	/* No such channel		*/
 	{ "404", "nt:", irc_msg_nosend },	/* Cannot send to chan		*/
 	{ "421", "nv:", irc_msg_unknown },	/* Unknown command		*/
@@ -148,6 +151,7 @@
 	{ "voice", ":", irc_cmd_op, N_("voice &lt;nick1&gt; [nick2] ...:  Grant channel voice status to someone. You must be a channel operator to do this.") },
 	{ "wallops", ":", irc_cmd_wallops, N_("wallops &lt;message&gt;:  If you don't know what this is, you probably can't use it.") },
 	{ "whois", "tt", irc_cmd_whois, N_("whois [server] &lt;nick&gt;:  Get information on a user.") },
+	{ "whowas", "t", irc_cmd_whowas, N_("whowas &lt;nick&gt;: Get information on a user that has logged off.") },
 	{ NULL, NULL, NULL, NULL }
 };
 
--- a/libpurple/protocols/msn/slp.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/protocols/msn/slp.c	Thu Apr 26 00:26:44 2007 +0000
@@ -445,7 +445,7 @@
 			char *ip_port;
 			int port;
 
-			/* ip_addr = purple_prefs_get_string("/core/ft/public_ip"); */
+			/* ip_addr = purple_prefs_get_string("/purple/ft/public_ip"); */
 			ip_port = "5190";
 			listening = "true";
 			nonce = rand_guid();
--- a/libpurple/proxy.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/proxy.c	Thu Apr 26 00:26:44 2007 +0000
@@ -1900,7 +1900,7 @@
 {
 	PurpleProxyInfo *info = purple_global_proxy_get_info();
 
-	if (!strcmp(name, "/core/proxy/type")) {
+	if (!strcmp(name, "/purple/proxy/type")) {
 		int proxytype;
 		const char *type = value;
 
@@ -1918,13 +1918,13 @@
 			proxytype = -1;
 
 		purple_proxy_info_set_type(info, proxytype);
-	} else if (!strcmp(name, "/core/proxy/host"))
+	} else if (!strcmp(name, "/purple/proxy/host"))
 		purple_proxy_info_set_host(info, value);
-	else if (!strcmp(name, "/core/proxy/port"))
+	else if (!strcmp(name, "/purple/proxy/port"))
 		purple_proxy_info_set_port(info, GPOINTER_TO_INT(value));
-	else if (!strcmp(name, "/core/proxy/username"))
+	else if (!strcmp(name, "/purple/proxy/username"))
 		purple_proxy_info_set_username(info, value);
-	else if (!strcmp(name, "/core/proxy/password"))
+	else if (!strcmp(name, "/purple/proxy/password"))
 		purple_proxy_info_set_password(info, value);
 }
 
@@ -1945,24 +1945,24 @@
 	global_proxy_info = purple_proxy_info_new();
 
 	/* Proxy */
-	purple_prefs_add_none("/core/proxy");
-	purple_prefs_add_string("/core/proxy/type", "none");
-	purple_prefs_add_string("/core/proxy/host", "");
-	purple_prefs_add_int("/core/proxy/port", 0);
-	purple_prefs_add_string("/core/proxy/username", "");
-	purple_prefs_add_string("/core/proxy/password", "");
+	purple_prefs_add_none("/purple/proxy");
+	purple_prefs_add_string("/purple/proxy/type", "none");
+	purple_prefs_add_string("/purple/proxy/host", "");
+	purple_prefs_add_int("/purple/proxy/port", 0);
+	purple_prefs_add_string("/purple/proxy/username", "");
+	purple_prefs_add_string("/purple/proxy/password", "");
 
 	/* Setup callbacks for the preferences. */
 	handle = purple_proxy_get_handle();
-	purple_prefs_connect_callback(handle, "/core/proxy/type", proxy_pref_cb,
+	purple_prefs_connect_callback(handle, "/purple/proxy/type", proxy_pref_cb,
 		NULL);
-	purple_prefs_connect_callback(handle, "/core/proxy/host", proxy_pref_cb,
+	purple_prefs_connect_callback(handle, "/purple/proxy/host", proxy_pref_cb,
 		NULL);
-	purple_prefs_connect_callback(handle, "/core/proxy/port", proxy_pref_cb,
+	purple_prefs_connect_callback(handle, "/purple/proxy/port", proxy_pref_cb,
 		NULL);
-	purple_prefs_connect_callback(handle, "/core/proxy/username",
+	purple_prefs_connect_callback(handle, "/purple/proxy/username",
 		proxy_pref_cb, NULL);
-	purple_prefs_connect_callback(handle, "/core/proxy/password",
+	purple_prefs_connect_callback(handle, "/purple/proxy/password",
 		proxy_pref_cb, NULL);
 }
 
--- a/libpurple/savedstatuses.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/savedstatuses.c	Thu Apr 26 00:26:44 2007 +0000
@@ -705,13 +705,13 @@
 	 * If we just deleted our current status or our idleaway status,
 	 * then set the appropriate pref back to 0.
 	 */
-	current = purple_prefs_get_int("/core/savedstatus/default");
+	current = purple_prefs_get_int("/purple/savedstatus/default");
 	if (current == creation_time)
-		purple_prefs_set_int("/core/savedstatus/default", 0);
+		purple_prefs_set_int("/purple/savedstatus/default", 0);
 
-	idleaway = purple_prefs_get_int("/core/savedstatus/idleaway");
+	idleaway = purple_prefs_get_int("/purple/savedstatus/idleaway");
 	if (idleaway == creation_time)
-		purple_prefs_set_int("/core/savedstatus/idleaway", 0);
+		purple_prefs_set_int("/purple/savedstatus/idleaway", 0);
 
 	return TRUE;
 }
@@ -765,7 +765,7 @@
 	int creation_time;
 	PurpleSavedStatus *saved_status = NULL;
 
-	creation_time = purple_prefs_get_int("/core/savedstatus/default");
+	creation_time = purple_prefs_get_int("/purple/savedstatus/default");
 
 	if (creation_time != 0)
 		saved_status = g_hash_table_lookup(creation_times, &creation_time);
@@ -779,7 +779,7 @@
 		 * using?  In any case, add a default status.
 		 */
 		saved_status = purple_savedstatus_new(NULL, PURPLE_STATUS_AVAILABLE);
-		purple_prefs_set_int("/core/savedstatus/default",
+		purple_prefs_set_int("/purple/savedstatus/default",
 						   purple_savedstatus_get_creation_time(saved_status));
 	}
 
@@ -792,7 +792,7 @@
 	int creation_time;
 	PurpleSavedStatus *saved_status = NULL;
 
-	creation_time = purple_prefs_get_int("/core/savedstatus/idleaway");
+	creation_time = purple_prefs_get_int("/purple/savedstatus/idleaway");
 
 	if (creation_time != 0)
 		saved_status = g_hash_table_lookup(creation_times, &creation_time);
@@ -807,7 +807,7 @@
 		{
 			saved_status = purple_savedstatus_new(NULL, PURPLE_STATUS_AWAY);
 			purple_savedstatus_set_message(saved_status, DEFAULT_AUTOAWAY_MESSAGE);
-			purple_prefs_set_int("/core/savedstatus/idleaway",
+			purple_prefs_set_int("/purple/savedstatus/idleaway",
 							   purple_savedstatus_get_creation_time(saved_status));
 		}
 	}
@@ -818,7 +818,7 @@
 gboolean
 purple_savedstatus_is_idleaway()
 {
-	return purple_prefs_get_bool("/core/savedstatus/isidleaway");
+	return purple_prefs_get_bool("/purple/savedstatus/isidleaway");
 }
 
 void
@@ -836,7 +836,7 @@
 		purple_idle_touch();
 
 	old = purple_savedstatus_get_current();
-	purple_prefs_set_bool("/core/savedstatus/isidleaway", idleaway);
+	purple_prefs_set_bool("/purple/savedstatus/isidleaway", idleaway);
 	saved_status = idleaway ? purple_savedstatus_get_idleaway()
 			: purple_savedstatus_get_default();
 
@@ -871,7 +871,7 @@
 	int creation_time;
 	PurpleSavedStatus *saved_status = NULL;
 
-	creation_time = purple_prefs_get_int("/core/savedstatus/startup");
+	creation_time = purple_prefs_get_int("/purple/savedstatus/startup");
 
 	if (creation_time != 0)
 		saved_status = g_hash_table_lookup(creation_times, &creation_time);
@@ -1074,7 +1074,7 @@
 	saved_status->usage_count++;
 	saved_statuses = g_list_remove(saved_statuses, saved_status);
 	saved_statuses = g_list_insert_sorted(saved_statuses, saved_status, saved_statuses_sort_func);
-	purple_prefs_set_int("/core/savedstatus/default",
+	purple_prefs_set_int("/purple/savedstatus/default",
 					   purple_savedstatus_get_creation_time(saved_status));
 
 	accounts = purple_accounts_get_all_active();
@@ -1155,12 +1155,12 @@
 	 * sees a creation_time of 0, then it will create a default
 	 * saved status and return that to the user.
 	 */
-	purple_prefs_add_none("/core/savedstatus");
-	purple_prefs_add_int("/core/savedstatus/default", 0);
-	purple_prefs_add_int("/core/savedstatus/startup", 0);
-	purple_prefs_add_bool("/core/savedstatus/startup_current_status", TRUE);
-	purple_prefs_add_int("/core/savedstatus/idleaway", 0);
-	purple_prefs_add_bool("/core/savedstatus/isidleaway", FALSE);
+	purple_prefs_add_none("/purple/savedstatus");
+	purple_prefs_add_int("/purple/savedstatus/default", 0);
+	purple_prefs_add_int("/purple/savedstatus/startup", 0);
+	purple_prefs_add_bool("/purple/savedstatus/startup_current_status", TRUE);
+	purple_prefs_add_int("/purple/savedstatus/idleaway", 0);
+	purple_prefs_add_bool("/purple/savedstatus/isidleaway", FALSE);
 
 	load_statuses();
 
--- a/libpurple/server.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/server.c	Thu Apr 26 00:26:44 2007 +0000
@@ -138,7 +138,7 @@
 	 * XXX - If "only auto-reply when away & idle" is set, then shouldn't
 	 * this only reset lar->sent if we're away AND idle?
 	 */
-	auto_reply_pref = purple_prefs_get_string("/core/away/auto_reply");
+	auto_reply_pref = purple_prefs_get_string("/purple/away/auto_reply");
 	if ((gc->flags & PURPLE_CONNECTION_AUTO_RESP) &&
 			!purple_presence_is_available(presence) &&
 			strcmp(auto_reply_pref, "never")) {
@@ -503,7 +503,7 @@
 		const gchar *auto_reply_pref;
 		const char *away_msg = NULL;
 
-		auto_reply_pref = purple_prefs_get_string("/core/away/auto_reply");
+		auto_reply_pref = purple_prefs_get_string("/purple/away/auto_reply");
 
 		presence = purple_account_get_presence(account);
 		status = purple_presence_get_active_status(presence);
--- a/libpurple/sound.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/sound.c	Thu Apr 26 00:26:44 2007 +0000
@@ -34,7 +34,7 @@
 static gboolean
 purple_sound_play_required(const PurpleAccount *account)
 {
-	gint pref_status = purple_prefs_get_int("/core/sound/while_status");
+	gint pref_status = purple_prefs_get_int("/purple/sound/while_status");
 
 	if (pref_status == 3)
 	{
@@ -125,8 +125,8 @@
 	                     purple_value_new(PURPLE_TYPE_SUBTYPE,
 	                                    PURPLE_SUBTYPE_ACCOUNT));
 
-	purple_prefs_add_none("/core/sound");
-	purple_prefs_add_int("/core/sound/while_status", STATUS_AVAILABLE);
+	purple_prefs_add_none("/purple/sound");
+	purple_prefs_add_int("/purple/sound/while_status", STATUS_AVAILABLE);
 }
 
 void
--- a/libpurple/status.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/status.c	Thu Apr 26 00:26:44 2007 +0000
@@ -599,7 +599,7 @@
 {
 	PurpleBlistUiOps *ops = purple_blist_get_ui_ops();
 
-	if (purple_prefs_get_bool("/core/logging/log_system"))
+	if (purple_prefs_get_bool("/purple/logging/log_system"))
 	{
 		time_t current_time = time(NULL);
 		const char *buddy_alias = purple_buddy_get_alias(buddy);
@@ -1284,7 +1284,7 @@
 
 	if (!old_idle && idle)
 	{
-		if (purple_prefs_get_bool("/core/logging/log_system"))
+		if (purple_prefs_get_bool("/purple/logging/log_system"))
 		{
 			PurpleLog *log = purple_account_get_log(buddy->account, FALSE);
 
@@ -1301,7 +1301,7 @@
 	}
 	else if (old_idle && !idle)
 	{
-		if (purple_prefs_get_bool("/core/logging/log_system"))
+		if (purple_prefs_get_bool("/purple/logging/log_system"))
 		{
 			PurpleLog *log = purple_account_get_log(buddy->account, FALSE);
 
@@ -1364,7 +1364,7 @@
 
 		account = purple_presence_get_account(presence);
 
-		if (purple_prefs_get_bool("/core/logging/log_system"))
+		if (purple_prefs_get_bool("/purple/logging/log_system"))
 		{
 			PurpleLog *log = purple_account_get_log(account, FALSE);
 
@@ -1713,38 +1713,38 @@
 {
 	void *handle = purple_status_get_handle;
 
-	purple_prefs_add_none("/core/status");
-	purple_prefs_add_none("/core/status/scores");
+	purple_prefs_add_none("/purple/status");
+	purple_prefs_add_none("/purple/status/scores");
 
-	purple_prefs_add_int("/core/status/scores/offline",
+	purple_prefs_add_int("/purple/status/scores/offline",
 			primitive_scores[PURPLE_STATUS_OFFLINE]);
-	purple_prefs_add_int("/core/status/scores/available",
+	purple_prefs_add_int("/purple/status/scores/available",
 			primitive_scores[PURPLE_STATUS_AVAILABLE]);
-	purple_prefs_add_int("/core/status/scores/invisible",
+	purple_prefs_add_int("/purple/status/scores/invisible",
 			primitive_scores[PURPLE_STATUS_INVISIBLE]);
-	purple_prefs_add_int("/core/status/scores/away",
+	purple_prefs_add_int("/purple/status/scores/away",
 			primitive_scores[PURPLE_STATUS_AWAY]);
-	purple_prefs_add_int("/core/status/scores/extended_away",
+	purple_prefs_add_int("/purple/status/scores/extended_away",
 			primitive_scores[PURPLE_STATUS_EXTENDED_AWAY]);
-	purple_prefs_add_int("/core/status/scores/idle",
+	purple_prefs_add_int("/purple/status/scores/idle",
 			primitive_scores[SCORE_IDLE]);
 
-	purple_prefs_connect_callback(handle, "/core/status/scores/offline",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/offline",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(PURPLE_STATUS_OFFLINE));
-	purple_prefs_connect_callback(handle, "/core/status/scores/available",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/available",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(PURPLE_STATUS_AVAILABLE));
-	purple_prefs_connect_callback(handle, "/core/status/scores/invisible",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/invisible",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(PURPLE_STATUS_INVISIBLE));
-	purple_prefs_connect_callback(handle, "/core/status/scores/away",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/away",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(PURPLE_STATUS_AWAY));
-	purple_prefs_connect_callback(handle, "/core/status/scores/extended_away",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/extended_away",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(PURPLE_STATUS_EXTENDED_AWAY));
-	purple_prefs_connect_callback(handle, "/core/status/scores/idle",
+	purple_prefs_connect_callback(handle, "/purple/status/scores/idle",
 			score_pref_changed_cb,
 			GINT_TO_POINTER(SCORE_IDLE));
 
--- a/libpurple/stun.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/libpurple/stun.c	Thu Apr 26 00:26:44 2007 +0000
@@ -371,7 +371,7 @@
 }
 
 PurpleStunNatDiscovery *purple_stun_discover(StunCallback cb) {
-	const char *servername = purple_prefs_get_string("/core/network/stun_server");
+	const char *servername = purple_prefs_get_string("/purple/network/stun_server");
 
 	purple_debug_info("stun", "using server %s\n", servername);
 
@@ -428,6 +428,6 @@
 }
 
 void purple_stun_init() {
-	purple_prefs_add_string("/core/network/stun_server", "");
+	purple_prefs_add_string("/purple/network/stun_server", "");
 	purple_stun_discover(NULL);
 }
--- a/pidgin/gtkconv.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtkconv.c	Thu Apr 26 00:26:44 2007 +0000
@@ -2153,7 +2153,7 @@
 
 	conv = gtkconv->active_conv;
 
-	if (!purple_prefs_get_bool("/core/conversations/im/send_typing"))
+	if (!purple_prefs_get_bool("/purple/conversations/im/send_typing"))
 		return;
 
 	got_typing_keypress(gtkconv, (gtk_text_iter_is_start(position) &&
@@ -2172,7 +2172,7 @@
 
 	conv = gtkconv->active_conv;
 
-	if (!purple_prefs_get_bool("/core/conversations/im/send_typing"))
+	if (!purple_prefs_get_bool("/purple/conversations/im/send_typing"))
 		return;
 
 	im = PURPLE_CONV_IM(conv);
--- a/pidgin/gtkdebug.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtkdebug.c	Thu Apr 26 00:26:44 2007 +0000
@@ -264,7 +264,7 @@
 {
 	win->timestamps = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
 
-	purple_prefs_set_bool("/core/debug/timestamps", win->timestamps);
+	purple_prefs_set_bool("/purple/debug/timestamps", win->timestamps);
 }
 
 static void
@@ -786,9 +786,9 @@
 		                                    win);
 
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
-		                             purple_prefs_get_bool("/core/debug/timestamps"));
+		                             purple_prefs_get_bool("/purple/debug/timestamps"));
 
-		purple_prefs_connect_callback(handle, "/core/debug/timestamps",
+		purple_prefs_connect_callback(handle, "/purple/debug/timestamps",
 		                            timestamps_pref_cb, button);
 
 #ifdef HAVE_REGEX_H
@@ -1052,7 +1052,7 @@
 		return;
 	}
 
-	timestamps = purple_prefs_get_bool("/core/debug/timestamps");
+	timestamps = purple_prefs_get_bool("/purple/debug/timestamps");
 
 	/*
 	 * For some reason we only print the timestamp if category is
--- a/pidgin/gtklog.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtklog.c	Thu Apr 26 00:26:44 2007 +0000
@@ -517,14 +517,14 @@
 		const char *log_preferences = NULL;
 
 		if (ht == NULL) {
-			if (!purple_prefs_get_bool("/core/logging/log_system"))
+			if (!purple_prefs_get_bool("/purple/logging/log_system"))
 				log_preferences = _("System events will only be logged if the \"Log all status changes to system log\" preference is enabled.");
 		} else {
 			if (ht->type == PURPLE_LOG_IM) {
-				if (!purple_prefs_get_bool("/core/logging/log_ims"))
+				if (!purple_prefs_get_bool("/purple/logging/log_ims"))
 					log_preferences = _("Instant messages will only be logged if the \"Log all instant messages\" preference is enabled.");
 			} else if (ht->type == PURPLE_LOG_CHAT) {
-				if (!purple_prefs_get_bool("/core/logging/log_chats"))
+				if (!purple_prefs_get_bool("/purple/logging/log_chats"))
 					log_preferences = _("Chats will only be logged if the \"Log all chats\" preference is enabled.");
 			}
 		}
--- a/pidgin/gtkmain.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtkmain.c	Thu Apr 26 00:26:44 2007 +0000
@@ -767,7 +767,7 @@
 	else
 	{
 		/* Everything is good to go--sign on already */
-		if (!purple_prefs_get_bool("/core/savedstatus/startup_current_status"))
+		if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status"))
 			purple_savedstatus_activate(purple_savedstatus_get_startup());
 		purple_accounts_restore_current_statuses();
 	}
--- a/pidgin/gtkprefs.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtkprefs.c	Thu Apr 26 00:26:44 2007 +0000
@@ -910,7 +910,7 @@
 					 G_CALLBACK(pidgin_toggle_sensitive), iconpref2);
 
 	pidgin_prefs_checkbox(_("_Notify buddies that you are typing to them"),
-			"/core/conversations/im/send_typing", vbox);
+			"/purple/conversations/im/send_typing", vbox);
 #ifdef USE_GTKSPELL
 	pidgin_prefs_checkbox(_("Highlight _misspelled words"),
 			PIDGIN_PREFS_ROOT "/conversations/spellcheck", vbox);
@@ -991,13 +991,13 @@
 static void proxy_print_option(GtkEntry *entry, int entrynum)
 {
 	if (entrynum == PROXYHOST)
-		purple_prefs_set_string("/core/proxy/host", gtk_entry_get_text(entry));
+		purple_prefs_set_string("/purple/proxy/host", gtk_entry_get_text(entry));
 	else if (entrynum == PROXYPORT)
-		purple_prefs_set_int("/core/proxy/port", atoi(gtk_entry_get_text(entry)));
+		purple_prefs_set_int("/purple/proxy/port", atoi(gtk_entry_get_text(entry)));
 	else if (entrynum == PROXYUSER)
-		purple_prefs_set_string("/core/proxy/username", gtk_entry_get_text(entry));
+		purple_prefs_set_string("/purple/proxy/username", gtk_entry_get_text(entry));
 	else if (entrynum == PROXYPASS)
-		purple_prefs_set_string("/core/proxy/password", gtk_entry_get_text(entry));
+		purple_prefs_set_string("/purple/proxy/password", gtk_entry_get_text(entry));
 }
 
 static GtkWidget *
@@ -1015,7 +1015,7 @@
 	vbox = pidgin_make_frame (ret, _("IP Address"));
 	sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 	pidgin_prefs_labeled_entry(vbox,_("ST_UN server:"),
-			"/core/network/stun_server", sg);
+			"/purple/network/stun_server", sg);
 
 	hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
 	gtk_container_add(GTK_CONTAINER(vbox), hbox);
@@ -1031,7 +1031,7 @@
 	gtk_container_add(GTK_CONTAINER(hbox), label);
 
 	auto_ip_checkbox = pidgin_prefs_checkbox(_("_Autodetect IP address"),
-			"/core/network/auto_ip", vbox);
+			"/purple/network/auto_ip", vbox);
 
 	table = gtk_table_new(2, 2, FALSE);
 	gtk_container_set_border_width(GTK_CONTAINER(table), 0);
@@ -1061,7 +1061,7 @@
 	pidgin_set_accessible_label (entry, label);
 
 
-	if (purple_prefs_get_bool("/core/network/auto_ip")) {
+	if (purple_prefs_get_bool("/purple/network/auto_ip")) {
 		gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
 	}
 
@@ -1072,18 +1072,18 @@
 	sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
 	ports_checkbox = pidgin_prefs_checkbox(_("_Manually specify range of ports to listen on"),
-			"/core/network/ports_range_use", vbox);
+			"/purple/network/ports_range_use", vbox);
 
 	spin_button = pidgin_prefs_labeled_spin_button(vbox, _("_Start port:"),
-			"/core/network/ports_range_start", 0, 65535, sg);
-	if (!purple_prefs_get_bool("/core/network/ports_range_use"))
+			"/purple/network/ports_range_start", 0, 65535, sg);
+	if (!purple_prefs_get_bool("/purple/network/ports_range_use"))
 		gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
 	g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
 					 G_CALLBACK(pidgin_toggle_sensitive), spin_button);
 
 	spin_button = pidgin_prefs_labeled_spin_button(vbox, _("_End port:"),
-			"/core/network/ports_range_end", 0, 65535, sg);
-	if (!purple_prefs_get_bool("/core/network/ports_range_use"))
+			"/purple/network/ports_range_end", 0, 65535, sg);
+	if (!purple_prefs_get_bool("/purple/network/ports_range_use"))
 		gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
 	g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
 					 G_CALLBACK(pidgin_toggle_sensitive), spin_button);
@@ -1092,7 +1092,7 @@
 		vbox = pidgin_make_frame(ret, _("Proxy Server"));
 		prefs_proxy_frame = gtk_vbox_new(FALSE, 0);
 		pidgin_prefs_dropdown(vbox, _("Proxy _type:"), PURPLE_PREF_STRING,
-					"/core/proxy/type",
+					"/purple/proxy/type",
 					_("No proxy"), "none",
 					"SOCKS 4", "socks4",
 					"SOCKS 5", "socks5",
@@ -1102,7 +1102,7 @@
 		gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0);
 		proxy_info = purple_global_proxy_get_info();
 
-		purple_prefs_connect_callback(prefs, "/core/proxy/type",
+		purple_prefs_connect_callback(prefs, "/purple/proxy/type",
 					    proxy_changed_cb, prefs_proxy_frame);
 
 		table = gtk_table_new(4, 2, FALSE);
@@ -1356,16 +1356,16 @@
 	names = purple_log_logger_get_options();
 
 	pidgin_prefs_dropdown_from_list(vbox, _("Log _format:"), PURPLE_PREF_STRING,
-				 "/core/logging/format", names);
+				 "/purple/logging/format", names);
 
 	g_list_free(names);
 
 	pidgin_prefs_checkbox(_("Log all _instant messages"),
-				  "/core/logging/log_ims", vbox);
+				  "/purple/logging/log_ims", vbox);
 	pidgin_prefs_checkbox(_("Log all c_hats"),
-				  "/core/logging/log_chats", vbox);
+				  "/purple/logging/log_chats", vbox);
 	pidgin_prefs_checkbox(_("Log all _status changes to system log"),
-				  "/core/logging/log_system", vbox);
+				  "/purple/logging/log_system", vbox);
 
 	gtk_widget_show_all(ret);
 
@@ -1640,7 +1640,7 @@
 	pidgin_prefs_checkbox(_("Sounds when conversation has _focus"),
 				   PIDGIN_PREFS_ROOT "/sound/conv_focus", vbox);
 	pidgin_prefs_dropdown(vbox, _("Enable sounds:"),
-				 PURPLE_PREF_INT, "/core/sound/while_status",
+				 PURPLE_PREF_INT, "/purple/sound/while_status",
 				_("Only when available"), 1,
 				_("Only when not available"), 2,
 				_("Always"), 3,
@@ -1776,13 +1776,13 @@
 static void
 set_idle_away(PurpleSavedStatus *status)
 {
-	purple_prefs_set_int("/core/savedstatus/idleaway", purple_savedstatus_get_creation_time(status));
+	purple_prefs_set_int("/purple/savedstatus/idleaway", purple_savedstatus_get_creation_time(status));
 }
 
 static void
 set_startupstatus(PurpleSavedStatus *status)
 {
-	purple_prefs_set_int("/core/savedstatus/startup", purple_savedstatus_get_creation_time(status));
+	purple_prefs_set_int("/purple/savedstatus/startup", purple_savedstatus_get_creation_time(status));
 }
 
 static GtkWidget *
@@ -1807,7 +1807,7 @@
 	vbox = pidgin_make_frame(ret, _("Idle"));
 
 	dd = pidgin_prefs_dropdown(vbox, _("_Report idle time:"),
-		PURPLE_PREF_STRING, "/core/away/idle_reporting",
+		PURPLE_PREF_STRING, "/purple/away/idle_reporting",
 		_("Never"), "none",
 		_("From last sent message"), "purple",
 #if defined(USE_SCREENSAVER) || defined(HAVE_IOKIT)
@@ -1821,7 +1821,7 @@
 	vbox = pidgin_make_frame(ret, _("Away"));
 
 	dd = pidgin_prefs_dropdown(vbox, _("_Auto-reply:"),
-		PURPLE_PREF_STRING, "/core/away/auto_reply",
+		PURPLE_PREF_STRING, "/purple/away/auto_reply",
 		_("Never"), "never",
 		_("When away"), "away",
 		_("When both away and idle"), "awayidle",
@@ -1833,10 +1833,10 @@
 	vbox = pidgin_make_frame(ret, _("Auto-away"));
 
 	button = pidgin_prefs_checkbox(_("Change status when _idle"),
-						   "/core/away/away_when_idle", vbox);
+						   "/purple/away/away_when_idle", vbox);
 
 	select = pidgin_prefs_labeled_spin_button(vbox,
-			_("_Minutes before changing status:"), "/core/away/mins_before_away",
+			_("_Minutes before changing status:"), "/purple/away/mins_before_away",
 			1, 24 * 60, sg);
 	g_signal_connect(G_OBJECT(button), "clicked",
 					 G_CALLBACK(pidgin_toggle_sensitive), select);
@@ -1858,7 +1858,7 @@
 			 G_CALLBACK(pidgin_toggle_sensitive), menu);
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), menu);
 
-	if (!purple_prefs_get_bool("/core/away/away_when_idle")) {
+	if (!purple_prefs_get_bool("/purple/away/away_when_idle")) {
 		gtk_widget_set_sensitive(GTK_WIDGET(menu), FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE);
@@ -1868,7 +1868,7 @@
 	vbox = pidgin_make_frame(ret, _("Status at Startup"));
 
 	button = pidgin_prefs_checkbox(_("Use status from last _exit at startup"),
-		"/core/savedstatus/startup_current_status", vbox);
+		"/purple/savedstatus/startup_current_status", vbox);
 
 	hbox = gtk_hbox_new(FALSE, 0);
 	gtk_container_add(GTK_CONTAINER(vbox), hbox);
@@ -1887,7 +1887,7 @@
 			 G_CALLBACK(pidgin_toggle_sensitive), menu);
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), menu);
 
-	if (purple_prefs_get_bool("/core/savedstatus/startup_current_status")) {
+	if (purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) {
 		gtk_widget_set_sensitive(GTK_WIDGET(menu), FALSE);
 		gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE);
 	}
@@ -2061,19 +2061,19 @@
 
 void pidgin_prefs_update_old() {
 	/* Rename some old prefs */
-	purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/core/logging/log_ims");
-	purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/core/logging/log_chats");
-	purple_prefs_rename("/core/conversations/placement",
+	purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/purple/logging/log_ims");
+	purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/purple/logging/log_chats");
+	purple_prefs_rename("/purple/conversations/placement",
 					  PIDGIN_PREFS_ROOT "/conversations/placement");
 
-	purple_prefs_rename(PIDGIN_PREFS_ROOT "/debug/timestamps", "/core/debug/timestamps");
+	purple_prefs_rename(PIDGIN_PREFS_ROOT "/debug/timestamps", "/purple/debug/timestamps");
 	purple_prefs_rename(PIDGIN_PREFS_ROOT "/conversations/im/raise_on_events", "/plugins/gtk/X11/notify/method_raise");
 
 	purple_prefs_rename_boolean_toggle(PIDGIN_PREFS_ROOT "/conversations/ignore_colors",
 									 PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting");
 
 	/* this string pref moved into the core, try to be friendly */
-	purple_prefs_rename(PIDGIN_PREFS_ROOT "/idle/reporting_method", "/core/away/idle_reporting");
+	purple_prefs_rename(PIDGIN_PREFS_ROOT "/idle/reporting_method", "/purple/away/idle_reporting");
 
 	/* Remove some no-longer-used prefs */
 	purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/auto_expand_contacts");
@@ -2123,4 +2123,5 @@
 	purple_prefs_remove(PIDGIN_PREFS_ROOT "/away/queue_messages");
 	purple_prefs_remove(PIDGIN_PREFS_ROOT "/away");
 	purple_prefs_remove("/plugins/gtk/docklet/queue_messages");
+	purple_prefs_rename("/gaim/gtk", "/pidgin");
 }
--- a/pidgin/gtkstatusbox.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/gtkstatusbox.c	Thu Apr 26 00:26:44 2007 +0000
@@ -899,7 +899,6 @@
 {
 	GList *list, *cur;
 	GdkPixbuf *pixbuf;
-	PidginStatusBoxItemType type = PIDGIN_STATUS_BOX_TYPE_POPULAR;
 
 	list = purple_savedstatuses_get_popular(6);
 	if (list == NULL)
@@ -914,6 +913,7 @@
 		const gchar *message;
 		gchar *stripped = NULL;
 		PurpleStatusPrimitive prim;
+		PidginStatusBoxItemType type = PIDGIN_STATUS_BOX_TYPE_POPULAR;
 
 		/* Get an appropriate status icon */
 		prim = purple_savedstatus_get_type(saved);
--- a/pidgin/pidgin.h	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/pidgin.h	Thu Apr 26 00:26:44 2007 +0000
@@ -43,7 +43,7 @@
 #define PIDGIN_UI "gtk-gaim"
 
 /* change this only when we have a sane upgrade path for old prefs */
-#define PIDGIN_PREFS_ROOT "/gaim/gtk"
+#define PIDGIN_PREFS_ROOT "/pidgin"
 
 #ifndef _WIN32
 # define PIDGIN_ALERT_TITLE ""
--- a/pidgin/plugins/contact_priority.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/plugins/contact_priority.c	Thu Apr 26 00:26:44 2007 +0000
@@ -80,7 +80,7 @@
 	PurpleAccount *account = NULL;
 	int i;
 
-	gboolean last_match = purple_prefs_get_bool("/core/contact/last_match");
+	gboolean last_match = purple_prefs_get_bool("/purple/contact/last_match");
 
 	sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
@@ -95,7 +95,7 @@
 	/* Status Spinboxes */
 	for (i = 0 ; statuses[i].id != NULL && statuses[i].description != NULL ; i++)
 	{
-		char *pref = g_strconcat("/core/status/scores/", statuses[i].id, NULL);
+		char *pref = g_strconcat("/purple/status/scores/", statuses[i].id, NULL);
 
 		hbox = gtk_hbox_new(FALSE, 5);
 		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
@@ -124,7 +124,7 @@
 
 	check = gtk_check_button_new_with_label(_("Use last buddy when scores are equal"));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), last_match);
-	g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(pref_update), "/core/contact/last_match");
+	g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(pref_update), "/purple/contact/last_match");
 	gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0);
 
 	frame = pidgin_make_frame(ret, _("Point values to use for account..."));
--- a/pidgin/plugins/history.c	Wed Apr 25 14:01:28 2007 +0000
+++ b/pidgin/plugins/history.c	Thu Apr 26 00:26:44 2007 +0000
@@ -52,7 +52,7 @@
 
 		/* If we're not logging, don't show anything.
 		 * Otherwise, we might show a very old log. */
-		if (!purple_prefs_get_bool("/core/logging/log_ims"))
+		if (!purple_prefs_get_bool("/purple/logging/log_ims"))
 			return;
 
 		/* Find buddies for this conversation. */
@@ -96,7 +96,7 @@
 	{
 		/* If we're not logging, don't show anything.
 		 * Otherwise, we might show a very old log. */
-		if (!purple_prefs_get_bool("/core/logging/log_chats"))
+		if (!purple_prefs_get_bool("/purple/logging/log_chats"))
 			return;
 
 		logs = purple_log_get_logs(PURPLE_LOG_CHAT, name, account);
@@ -141,8 +141,8 @@
 static void
 history_prefs_check(PurplePlugin *plugin)
 {
-	if (!purple_prefs_get_bool("/core/logging/log_ims") &&
-	    !purple_prefs_get_bool("/core/logging/log_chats"))
+	if (!purple_prefs_get_bool("/purple/logging/log_ims") &&
+	    !purple_prefs_get_bool("/purple/logging/log_chats"))
 	{
 		purple_notify_warning(plugin, NULL, _("History Plugin Requires Logging"),
 							_("Logging can be enabled from Tools -> Preferences -> Logging.\n\n"
@@ -164,9 +164,9 @@
 						"conversation-created",
 						plugin, PURPLE_CALLBACK(historize), NULL);
 
-	purple_prefs_connect_callback(plugin, "/core/logging/log_ims",
+	purple_prefs_connect_callback(plugin, "/purple/logging/log_ims",
 								history_prefs_cb, plugin);
-	purple_prefs_connect_callback(plugin, "/core/logging/log_chats",
+	purple_prefs_connect_callback(plugin, "/purple/logging/log_chats",
 								history_prefs_cb, plugin);
 
 	history_prefs_check(plugin);