diff -ru mcabber-0.9.6/src/hooks.c mcabber-0.9.6_name_fix/src/hooks.c --- mcabber-0.9.6/src/hooks.c 2008-01-13 20:36:27.000000000 +1000 +++ mcabber-0.9.6_name_fix/src/hooks.c 2008-04-16 11:51:47.000000000 +1100 @@ -189,7 +189,12 @@ // - We do call hk_ext_cmd() for private messages in a room // - We do call hk_ext_cmd() for messages to the current window if (!active_window && ((is_groupchat && !timestamp) || !is_groupchat)) - hk_ext_cmd(bjid, (is_groupchat ? 'G' : 'M'), 'R', wmsg); + { + const char *nick = roster_getname(bjid); + //hk_ext_cmd(bjid, (is_groupchat ? 'G' : 'M'), 'R', wmsg); + // Fix, that send real name from roster to ext-cmd (such osd_cat): + hk_ext_cmd(nick, (is_groupchat ? 'G' : 'M'), 'R', wmsg); + } // Display the sender in the log window if ((!is_groupchat) && !(message_flags & HBB_PREFIX_ERR) && @@ -272,6 +277,9 @@ enum imstatus oldstat; char *bn = NULL; char *logsmsg; + // Fix, that send real name from roster to ext-cmd (such osd_cat): + const char *nick; + const char *rn = (resname ? resname : ""); st_in_buf = settings_opt_get_int("show_status_in_buffer"); @@ -320,7 +328,10 @@ scr_DrawRoster(); hlog_write_status(bjid, timestamp, status, status_msg); // External command - hk_ext_cmd(bjid, 'S', imstatus2char[status], NULL); + // Fix, that send real name from roster to ext-cmd (such osd_cat): + nick = roster_getname(bjid); + //hk_ext_cmd(bjid, 'S', imstatus2char[status], NULL); + hk_ext_cmd(nick, 'S', imstatus2char[status], NULL); } void hk_mystatuschange(time_t timestamp, enum imstatus old_status,