# HG changeset patch # User Mikael Berthe # Date 1168082128 -3600 # Node ID c68b3c9f616e7b2acb222dda6e6b8859e8ecb139 # Parent 14e458020e23db54298b4a395bf6f09c9bad6148# Parent 71422d407a34bd5818c3b99d4336f007183dd2e0 Merge Franky's contrib scripts diff -r 71422d407a34 -r c68b3c9f616e mcabber/src/hooks.c --- 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 diff -r 71422d407a34 -r c68b3c9f616e mcabber/src/screen.c --- 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)