# HG changeset patch # User Mikael Berthe # Date 1141552824 -3600 # Node ID 23068490d06388af23ea05edeb097c7ea05b9424 # Parent 9054697b1a06f421d3572e0c0cc1acbc6019b16b Add text color when the selected buddy has an unread message (Only when chat mode is disabled, of course.) diff -r 9054697b1a06 -r 23068490d063 mcabber/mcabberrc.example --- a/mcabber/mcabberrc.example Sun Mar 05 10:43:36 2006 +0100 +++ b/mcabber/mcabberrc.example Sun Mar 05 11:00:24 2006 +0100 @@ -144,6 +144,7 @@ # roster: text color of the roster (buddylist) normal items # bgrostersel: background color of the selected roster item # rostersel: text color of the selected roster item +# rosterselmsg:text color of the selected roster item, if there is a new msg # rosternewmsg: text color of items with unread messages # #set color_background = blue @@ -153,6 +154,7 @@ #set color_roster = green #set color_bgrostersel = cyan #set color_rostersel = blue +#set color_rosterselmsg = red #set color_rosternewmsg = red # Style diff -r 9054697b1a06 -r 23068490d063 mcabber/src/screen.c --- a/mcabber/src/screen.c Sun Mar 05 10:43:36 2006 +0100 +++ b/mcabber/src/screen.c Sun Mar 05 11:00:24 2006 +0100 @@ -127,12 +127,13 @@ static void ParseColors(void) { - const char *colors[8] = { + const char *colors[9] = { "", "", "general", "status", "roster", "rostersel", + "rosterselmsg", "rosternewmsg", NULL }; @@ -176,6 +177,10 @@ init_pair(i+1, ((color) ? FindColor(color) : COLOR_BLUE), FindColor(backselected)); break; + case COLOR_ROSTERSELNMSG: + init_pair(i+1, ((color) ? FindColor(color) : COLOR_RED), + FindColor(backselected)); + break; case COLOR_ROSTERNMSG: init_pair(i+1, ((color) ? FindColor(color) : COLOR_RED), FindColor(background)); @@ -897,8 +902,11 @@ status = imstatus2char[budstate]; } if (buddy == current_buddy) { - wattrset(rosterWnd, COLOR_PAIR(COLOR_ROSTERSEL)); - // The 3 following lines aim to color the whole line + if (pending == '#') + wattrset(rosterWnd, COLOR_PAIR(COLOR_ROSTERSELNMSG)); + else + wattrset(rosterWnd, COLOR_PAIR(COLOR_ROSTERSEL)); + // The 3 following lines aim at coloring the whole line wmove(rosterWnd, i, 0); for (n = 0; n < maxx; n++) waddch(rosterWnd, ' '); diff -r 9054697b1a06 -r 23068490d063 mcabber/src/screen.h --- a/mcabber/src/screen.h Sun Mar 05 10:43:36 2006 +0100 +++ b/mcabber/src/screen.h Sun Mar 05 11:00:24 2006 +0100 @@ -6,11 +6,12 @@ #include "logprint.h" -#define COLOR_GENERAL 3 -#define COLOR_STATUS 4 -#define COLOR_ROSTER 5 -#define COLOR_ROSTERSEL 6 -#define COLOR_ROSTERNMSG 7 +#define COLOR_GENERAL 3 +#define COLOR_STATUS 4 +#define COLOR_ROSTER 5 +#define COLOR_ROSTERSEL 6 +#define COLOR_ROSTERSELNMSG 7 +#define COLOR_ROSTERNMSG 8 // Length of the timestamp & flag prefix in the chat buffer window #define PREFIX_WIDTH 17