From 4aa054aadad016b063c31656d810b050a1cb4371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5vard=20Pettersson?= Date: Tue, 10 May 2016 11:29:50 +0200 Subject: [PATCH] Add basic nick coloring functionality. --- src/twc-chat.c | 13 +++++++++---- src/twc-chat.h | 1 + src/twc-tox-callbacks.c | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/twc-chat.c b/src/twc-chat.c index 1473d4e..d51734a 100644 --- a/src/twc-chat.c +++ b/src/twc-chat.c @@ -279,6 +279,7 @@ twc_chat_search_buffer(struct t_gui_buffer *buffer) void twc_chat_print_message(struct t_twc_chat *chat, const char *tags, + const char *color, const char *sender, const char *message, enum TWC_MESSAGE_TYPE message_type) @@ -287,14 +288,16 @@ twc_chat_print_message(struct t_twc_chat *chat, { case TWC_MESSAGE_TYPE_MESSAGE: weechat_printf_tags(chat->buffer, tags, - "%s\t%s", - sender, message); + "%s%s%s\t%s", + color, sender, + weechat_color("reset"), message); break; case TWC_MESSAGE_TYPE_ACTION: weechat_printf_tags(chat->buffer, tags, "%s%s %s", weechat_prefix("action"), - sender, message); + color, sender, + weechat_color("reset"), message); break; } } @@ -312,7 +315,9 @@ twc_chat_send_message(struct t_twc_chat *chat, const char *message, chat->friend_number, message, message_type); char *name = twc_get_self_name_nt(chat->profile->tox); - twc_chat_print_message(chat, "", name, message, message_type); + twc_chat_print_message(chat, "", + weechat_color("chat_nick_self"), name, + message, message_type); free(name); } else if (chat->group_number >= 0) diff --git a/src/twc-chat.h b/src/twc-chat.h index ef0dfb2..b29d751 100644 --- a/src/twc-chat.h +++ b/src/twc-chat.h @@ -61,6 +61,7 @@ twc_chat_search_buffer(struct t_gui_buffer *target_buffer); void twc_chat_print_message(struct t_twc_chat *chat, const char *tags, + const char *color, const char *sender, const char *message, enum TWC_MESSAGE_TYPE message_type); diff --git a/src/twc-tox-callbacks.c b/src/twc-tox-callbacks.c index e3d79c0..522f704 100644 --- a/src/twc-tox-callbacks.c +++ b/src/twc-tox-callbacks.c @@ -67,7 +67,7 @@ twc_friend_message_callback(Tox *tox, uint32_t friend_number, char *name = twc_get_name_nt(profile->tox, friend_number); char *message_nt = twc_null_terminate(message, length); - twc_chat_print_message(chat, "", name, + twc_chat_print_message(chat, "", weechat_color("chat_nick_other"), name, message_nt, type); free(name); @@ -256,7 +256,13 @@ twc_handle_group_message(Tox *tox, char *name = twc_get_peer_name_nt(profile->tox, group_number, peer_number); char *message_nt = twc_null_terminate(message, length); - twc_chat_print_message(chat, "", name, + const char *nick_color; + if (tox_group_peernumber_is_ours(tox, group_number, peer_number)) + nick_color = weechat_color("chat_nick_self"); + else + nick_color = weechat_info_get("nick_color", name); + + twc_chat_print_message(chat, "", nick_color, name, message_nt, message_type); free(name);