changeset 1119:c68b3c9f616e

Merge Franky's contrib scripts
author Mikael Berthe <mikael@lilotux.net>
date Sat, 06 Jan 2007 12:15:28 +0100
parents 14e458020e23 (diff) 71422d407a34 (current diff)
children c15e935a3b3f
files
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/hooks.c	Fri Jan 05 17:41:42 2007 +0100
+++ b/mcabber/src/hooks.c	Sat Jan 06 12:15:28 2007 +0100
@@ -65,6 +65,7 @@
         wmsg = mmsg = g_strdup_printf("*%s %s", resname, msg+4);
     }
   } else {
+    bmsg = g_strdup(msg);
     if (!strncmp(msg, COMMAND_ME, strlen(COMMAND_ME)))
       wmsg = mmsg = g_strdup_printf("*%s %s", bjid, msg+4);
     else
--- a/mcabber/src/screen.c	Fri Jan 05 17:41:42 2007 +0100
+++ b/mcabber/src/screen.c	Sat Jan 06 12:15:28 2007 +0100
@@ -1372,13 +1372,19 @@
     prefix |= HBB_PREFIX_IN;
 
   scr_WriteMessage(jidfrom, text, timestamp, prefix);
-  update_panels();
 }
 
 void scr_WriteOutgoingMessage(const char *jidto, const char *text, guint prefix)
 {
+  GSList *roster_elt;
+  roster_elt = roster_find(jidto, jidsearch,
+                           ROSTER_TYPE_USER|ROSTER_TYPE_AGENT|ROSTER_TYPE_ROOM);
+
   scr_WriteMessage(jidto, text, 0, prefix|HBB_PREFIX_OUT|HBB_PREFIX_HLIGHT);
-  scr_ShowWindow(jidto, FALSE);
+
+  // Show jidto's buffer unless the buddy is not in the buddylist
+  if (roster_elt && g_list_position(buddylist, roster_elt->data) != -1)
+    scr_ShowWindow(jidto, FALSE);
 }
 
 static inline void set_autoaway(bool setaway)