# HG changeset patch
# Node ID 06996c3eee43
# Parent  cc9e9b7c040a
diff --git a/libpurple/plugins/meson.build b/libpurple/plugins/meson.build
--- a/libpurple/plugins/meson.build
+++ b/libpurple/plugins/meson.build
@@ -6,7 +6,6 @@
 subdir('kwallet', if_found : kwallet)
 subdir('libsecret', if_found : libsecret)
 subdir('notification-sound')
-subdir('psychic')
 subdir('purple-toast')
 subdir('statenotify')
 subdir('wincred')
diff --git a/libpurple/plugins/psychic/im.pidgin.Purple.plugin.Psychic.gschema.xml b/libpurple/plugins/psychic/im.pidgin.Purple.plugin.Psychic.gschema.xml
deleted file mode 100644
--- a/libpurple/plugins/psychic/im.pidgin.Purple.plugin.Psychic.gschema.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<schemalist>
-  <schema path="/plugins/psychic/" id="im.pidgin.Purple.plugin.Psychic">
-    <key name="buddies-only" type="b">
-      <default>false</default>
-      <summary>Buddies only</summary>
-      <description>
-        Only enable for users on the buddy list.
-      </description>
-    </key>
-
-    <key name="show-notice" type="b">
-      <default>true</default>
-      <summary>Show notice in conversations</summary>
-      <description>
-        Display notification message in conversations.
-      </description>
-    </key>
-
-    <key name="activate-online" type="b">
-      <default>true</default>
-      <summary>Online only</summary>
-      <description>
-        Disable when away.
-      </description>
-    </key>
-
-    <key name="raise-conv" type="b">
-      <default>false</default>
-      <summary>Raise conversation</summary>
-      <description>
-        Raise psychic conversations when opened.
-      </description>
-    </key>
-  </schema>
-</schemalist>
diff --git a/libpurple/plugins/psychic/meson.build b/libpurple/plugins/psychic/meson.build
deleted file mode 100644
--- a/libpurple/plugins/psychic/meson.build
+++ /dev/null
@@ -1,17 +0,0 @@
-psychic = library('psychic', 'psychic.c',
-    c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="PurplePlugin-Psychic"'],
-    dependencies : [libpurple_dep],
-    name_prefix : '',
-    install : true, install_dir : PURPLE_PLUGINDIR)
-
-settings_schemas = [
-  'im.pidgin.Purple.plugin.Psychic.gschema.xml',
-]
-
-install_data(settings_schemas, install_dir: schemas_dir)
-gnome.post_install(glib_compile_schemas: true)
-
-# Compile the schemas in the current directory; this is only useful for testing
-gnome.compile_schemas(depend_files: files(settings_schemas))
-
-devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
diff --git a/libpurple/plugins/psychic/psychic.c b/libpurple/plugins/psychic/psychic.c
deleted file mode 100644
--- a/libpurple/plugins/psychic/psychic.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02111-1301, USA.
- */
-
-#include <glib/gi18n-lib.h>
-
-#include <gplugin.h>
-#include <gplugin-native.h>
-
-#include <purple.h>
-
-#define PLUGIN_ID       "core-psychic"
-#define PLUGIN_NAME     N_("Psychic Mode")
-#define PLUGIN_CATEGORY N_("Utility")
-#define PLUGIN_SUMMARY  N_("Psychic mode for incoming conversation")
-#define PLUGIN_DESC     N_("Causes conversation windows to appear as other" \
-			   " users begin to message you.  This works for XMPP")
-#define PLUGIN_AUTHORS  { "Christopher O'Brien <siege@preoccupied.net>", NULL }
-
-
-#define SETTINGS_SCHEMA_ID "im.pidgin.Purple.plugin.Psychic"
-#define PREF_BUDDIES "buddies-only"
-#define PREF_NOTICE "show-notice"
-#define PREF_STATUS "activate-online"
-#define PREF_RAISE "raise-conv"
-
-
-static void
-buddy_typing_cb(PurpleAccount *acct, const char *name,
-                G_GNUC_UNUSED gpointer data)
-{
-	GSettings *settings = NULL;
-	PurpleConversation *im;
-	PurpleConversationManager *manager;
-
-	settings = g_settings_new_with_backend(SETTINGS_SCHEMA_ID,
-	                                       purple_core_get_settings_backend());
-
-	if(g_settings_get_boolean(settings, PREF_STATUS) &&
-	   !purple_status_is_available(purple_account_get_active_status(acct))) {
-		purple_debug_info("psychic", "not available, doing nothing");
-		g_object_unref(settings);
-		return;
-	}
-
-	if(g_settings_get_boolean(settings, PREF_BUDDIES) &&
-	   !purple_blist_find_buddy(acct, name)) {
-		purple_debug_info("psychic", "not in blist, doing nothing");
-		g_object_unref(settings);
-		return;
-	}
-
-	manager = purple_conversation_manager_get_default();
-	im = purple_conversation_manager_find_im(manager, acct, name);
-	if(im == NULL) {
-		purple_debug_info("psychic", "no previous conversation exists");
-		im = purple_im_conversation_new(acct, name);
-
-		if(g_settings_get_boolean(settings, PREF_RAISE)) {
-			purple_conversation_present(im);
-		}
-
-		if(g_settings_get_boolean(settings, PREF_NOTICE)) {
-			/* This is a quote from Star Wars.  You should probably not
-			   translate it literally.  If you can't find a fitting cultural
-			   reference in your language, consider translating something
-			   like this instead: "You feel a new message coming." */
-			purple_conversation_write_system_message(
-			    im,
-			    _("You feel a disturbance in the force..."),
-			    PURPLE_MESSAGE_NO_LOG | PURPLE_MESSAGE_ACTIVE_ONLY);
-		}
-
-		/* Necessary because we may be creating a new conversation window. */
-		purple_im_conversation_set_typing_state(PURPLE_IM_CONVERSATION(im),
-		                                        PURPLE_IM_TYPING);
-	}
-
-	g_object_unref(settings);
-}
-
-
-static GPluginPluginInfo *
-psychic_query(G_GNUC_UNUSED GError **error) {
-  const gchar * const authors[] = PLUGIN_AUTHORS;
-
-  return purple_plugin_info_new(
-    "id",             PLUGIN_ID,
-    "name",           PLUGIN_NAME,
-    "version",        DISPLAY_VERSION,
-    "category",       PLUGIN_CATEGORY,
-    "summary",        PLUGIN_SUMMARY,
-    "description",    PLUGIN_DESC,
-    "authors",        authors,
-    "website",        PURPLE_WEBSITE,
-    "abi-version",    PURPLE_ABI_VERSION,
-    "settings-schema", SETTINGS_SCHEMA_ID,
-    NULL
-  );
-}
-
-
-static gboolean
-psychic_load(GPluginPlugin *plugin, G_GNUC_UNUSED GError **error) {
-
-  void *convs_handle;
-
-  convs_handle = purple_conversations_get_handle();
-
-  purple_signal_connect(convs_handle, "buddy-typing", plugin,
-		      G_CALLBACK(buddy_typing_cb), NULL);
-
-  return TRUE;
-}
-
-
-static gboolean
-psychic_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
-               G_GNUC_UNUSED gboolean shutdown,
-               G_GNUC_UNUSED GError **error)
-{
-  return TRUE;
-}
-
-GPLUGIN_NATIVE_PLUGIN_DECLARE(psychic)
diff --git a/po/POTFILES.in b/po/POTFILES.in
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -59,7 +59,6 @@
 libpurple/plugins/kwallet/purplekwallet.cpp
 libpurple/plugins/libsecret/libsecret.c
 libpurple/plugins/notification-sound/notification-sound.c
-libpurple/plugins/psychic/psychic.c
 libpurple/plugins/purple-toast/purple-toast.c
 libpurple/plugins/statenotify/statenotify.c
 libpurple/plugins/wincred/wincred.c
