Index: doc/user-guide/commands.xml
===================================================================
--- doc/user-guide/commands.xml	(revision 34afea7dd6b066a9e7153d16a8e386c7c90ffe87)
+++ doc/user-guide/commands.xml	(revision 0ca1d79cff9e6a9fb9fa4796814c9e77a9cfcc19)
@@ -1091,66 +1091,4 @@
 	</bitlbee-setting>
 
-	<bitlbee-setting name="format_string" type="string" scope="account">
-		<default>^B[^B%i^B]^B %c</default>
-
-		<description>
-			<para>
-				This setting controls how tweets are displayed. Below are listed the two replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%").
-			</para>
-
-			<para>
-				The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes.
-			</para>
-
-			<variablelist>
-				<varlistentry><term>%i</term><listitem><para>The ID of the tweet</para></listitem></varlistentry>
-				<varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry>
-			</variablelist>
-		</description>
-
-	</bitlbee-setting>
-
-	<bitlbee-setting name="reply_format_string" type="string" scope="account">
-		<default>^B[^B%i->%t^B]^B %c</default>
-
-		<description>
-			<para>
-				This setting controls how replies to tweets are displayed. Below are listed the three replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%").
-			</para>
-
-			<para>
-				The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes.
-			</para>
-
-			<variablelist>
-				<varlistentry><term>%i</term><listitem><para>The ID of this tweet</para></listitem></varlistentry>
-				<varlistentry><term>%r</term><listitem><para>The ID of the tweet being replied to</para></listitem></varlistentry>
-				<varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry>
-			</variablelist>
-		</description>
-
-	</bitlbee-setting>
-
-	<bitlbee-setting name="retweet_format_string" type="string" scope="account">
-		<default>^B[^B%i^B]^B RT @%a: %c</default>
-
-		<description>
-			<para>
-				This setting controls how retweets are displayed. Below are listed the three replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%").
-			</para>
-
-			<para>
-				The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes.
-			</para>
-
-			<variablelist>
-				<varlistentry><term>%i</term><listitem><para>The ID of the tweet</para></listitem></varlistentry>
-				<varlistentry><term>%a</term><listitem><para>The author of the original tweet</para></listitem></varlistentry>
-				<varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry>
-			</variablelist>
-		</description>
-
-	</bitlbee-setting>
-
 	<bitlbee-setting name="mobile_is_away" type="boolean" scope="global">
 		<default>false</default>
Index: protocols/twitter/twitter.c
===================================================================
--- protocols/twitter/twitter.c	(revision 34afea7dd6b066a9e7153d16a8e386c7c90ffe87)
+++ protocols/twitter/twitter.c	(revision 0ca1d79cff9e6a9fb9fa4796814c9e77a9cfcc19)
@@ -539,8 +539,4 @@
 
 	s = set_add(&acc->set, "strip_newlines", "false", set_eval_bool, acc);
-
-	s = set_add(&acc->set, "format_string", "\002[\002%i\002]\002 %c", NULL, acc);
-	s = set_add(&acc->set, "retweet_format_string", "\002[\002%i\002]\002 RT @%a: %c", NULL, acc);
-	s = set_add(&acc->set, "reply_format_string", "\002[\002%i->%r\002]\002 %c", NULL, acc);
 	
 	s = set_add(&acc->set, "_last_tweet", "0", NULL, acc);
Index: protocols/twitter/twitter_lib.c
===================================================================
--- protocols/twitter/twitter_lib.c	(revision 34afea7dd6b066a9e7153d16a8e386c7c90ffe87)
+++ protocols/twitter/twitter_lib.c	(revision 0ca1d79cff9e6a9fb9fa4796814c9e77a9cfcc19)
@@ -63,5 +63,4 @@
 	guint64 reply_to;
 	gboolean from_filter;
-	struct twitter_xml_status *rt;
 };
 
@@ -89,5 +88,4 @@
 	g_free(txs->text);
 	txu_free(txs->user);
-	txs_free(txs->rt);
 	g_free(txs);
 }
@@ -491,7 +489,7 @@
 		if (rtxs) {
 			g_free(txs->text);
-			txs->text = g_strdup(rtxs->text);
+			txs->text = g_strdup_printf("RT @%s: %s", rtxs->user->screen_name, rtxs->text);
 			txs->id = rtxs->id;
-			txs->rt = rtxs;
+			txs_free(rtxs);
 		}
 	} else if (entities) {
@@ -611,47 +609,4 @@
 }
 
-/**
- * Function to properly format a tweet as per the users configuration.
- */
-static char *twitter_msg_get_text(struct im_connection *ic, int log_id, int reply_to,
-				struct twitter_xml_status *txs, const char *prefix) {
-	gchar * format = set_getstr(&ic->acc->set, "format_string");
-	GString * text = g_string_new(NULL);
-
-	gchar *c;
-	if (reply_to != -1)
-		format = set_getstr(&ic->acc->set, "reply_format_string");
-	if (txs->rt)
-		format = set_getstr(&ic->acc->set, "retweet_format_string");
-
-	for (c = format; *c ; c++) {
-		if (!(*c == '%' && *(c+1))) {
-			text = g_string_append_c(text, *c);
-			continue;
-		}
-		c++; // Move past the %
-		switch (*c) {
-			case 'i':
-				g_string_append_printf(text, "%02x", log_id);
-				break;
-			case 'r':
-				if (reply_to != -1) // In case someone does put %r in the wrong format_string
-				g_string_append_printf(text, "%02x", reply_to);
-				break;
-			case 'a':
-				if (txs->rt) // In case someone does put %a in the wrong format_string
-					text = g_string_append(text, txs->rt->user->screen_name);
-				break;
-			case 'c':
-				text = g_string_append(text, txs->text);
-				break;
-			default:
-				text = g_string_append_c(text, *c);
-		}
-	}
-	text = g_string_prepend(text, prefix);
-	return g_string_free(text, FALSE);
-}
-
 /* Will log messages either way. Need to keep track of IDs for stream deduping.
    Plus, show_ids is on by default and I don't see why anyone would disable it. */
@@ -692,5 +647,17 @@
 		td->log[td->log_id].id = txs->rt_id;
 	
-	return twitter_msg_get_text(ic, td->log_id, reply_to, txs, prefix);
+	if (set_getbool(&ic->acc->set, "show_ids")) {
+		if (reply_to != -1)
+			return g_strdup_printf("\002[\002%02x->%02x\002]\002 %s%s",
+			                       td->log_id, reply_to, prefix, txs->text);
+		else
+			return g_strdup_printf("\002[\002%02x\002]\002 %s%s",
+			                       td->log_id, prefix, txs->text);
+	} else {
+		if (*prefix)
+			return g_strconcat(prefix, txs->text, NULL);
+		else
+			return NULL;
+	}
 }
 
