diff --git a/src/config/theme.c b/src/config/theme.c index 6c346b91..846d0d97 100644 --- a/src/config/theme.c +++ b/src/config/theme.c @@ -120,6 +120,8 @@ static struct colours_t { NCURSES_COLOR_T otrtrusted; NCURSES_COLOR_T otruntrusted; NCURSES_COLOR_T rosterheader; + NCURSES_COLOR_T rosterroom; + NCURSES_COLOR_T rosterroomunread; NCURSES_COLOR_T occupantsheader; NCURSES_COLOR_T receiptsent; } colour_prefs; @@ -284,19 +286,23 @@ theme_init_colours(void) init_pair(43, colour_prefs.otrtrusted, colour_prefs.bkgnd); init_pair(44, colour_prefs.otruntrusted, colour_prefs.bkgnd); - // subwin headers + // roster init_pair(45, colour_prefs.rosterheader, colour_prefs.bkgnd); - init_pair(46, colour_prefs.occupantsheader, colour_prefs.bkgnd); + init_pair(46, colour_prefs.rosterroom, colour_prefs.bkgnd); + init_pair(47, colour_prefs.rosterroomunread, colour_prefs.bkgnd); + + // occupants + init_pair(48, colour_prefs.occupantsheader, colour_prefs.bkgnd); // raw - init_pair(47, COLOR_WHITE, colour_prefs.bkgnd); - init_pair(48, COLOR_GREEN, colour_prefs.bkgnd); - init_pair(49, COLOR_RED, colour_prefs.bkgnd); - init_pair(50, COLOR_YELLOW, colour_prefs.bkgnd); - init_pair(51, COLOR_BLUE, colour_prefs.bkgnd); - init_pair(52, COLOR_CYAN, colour_prefs.bkgnd); - init_pair(53, COLOR_BLACK, colour_prefs.bkgnd); - init_pair(54, COLOR_MAGENTA, colour_prefs.bkgnd); + init_pair(49, COLOR_WHITE, colour_prefs.bkgnd); + init_pair(50, COLOR_GREEN, colour_prefs.bkgnd); + init_pair(51, COLOR_RED, colour_prefs.bkgnd); + init_pair(52, COLOR_YELLOW, colour_prefs.bkgnd); + init_pair(53, COLOR_BLUE, colour_prefs.bkgnd); + init_pair(54, COLOR_CYAN, colour_prefs.bkgnd); + init_pair(55, COLOR_BLACK, colour_prefs.bkgnd); + init_pair(56, COLOR_MAGENTA, colour_prefs.bkgnd); } static NCURSES_COLOR_T @@ -401,6 +407,8 @@ _load_colours(void) _set_colour("me", &colour_prefs.me, COLOR_YELLOW, THEME_ME); _set_colour("them", &colour_prefs.them, COLOR_GREEN, THEME_THEM); _set_colour("roster.header", &colour_prefs.rosterheader, COLOR_YELLOW, THEME_ROSTER_HEADER); + _set_colour("roster.room", &colour_prefs.rosterroom, COLOR_GREEN, THEME_ROSTER_ROOM); + _set_colour("roster.room.unread", &colour_prefs.rosterroomunread, COLOR_GREEN, THEME_ROSTER_ROOM_UNREAD); _set_colour("occupants.header", &colour_prefs.occupantsheader, COLOR_YELLOW, THEME_OCCUPANTS_HEADER); _set_colour("receipt.sent", &colour_prefs.receiptsent, COLOR_RED, THEME_RECEIPT_SENT); } @@ -663,23 +671,25 @@ theme_attrs(theme_item_t attrs) case THEME_OTR_TRUSTED: result = COLOR_PAIR(43); break; case THEME_OTR_UNTRUSTED: result = COLOR_PAIR(44); break; case THEME_ROSTER_HEADER: result = COLOR_PAIR(45); break; - case THEME_OCCUPANTS_HEADER: result = COLOR_PAIR(46); break; - case THEME_WHITE: result = COLOR_PAIR(47); break; - case THEME_WHITE_BOLD: result = COLOR_PAIR(47); break; - case THEME_GREEN: result = COLOR_PAIR(48); break; - case THEME_GREEN_BOLD: result = COLOR_PAIR(48); break; - case THEME_RED: result = COLOR_PAIR(49); break; - case THEME_RED_BOLD: result = COLOR_PAIR(49); break; - case THEME_YELLOW: result = COLOR_PAIR(50); break; - case THEME_YELLOW_BOLD: result = COLOR_PAIR(50); break; - case THEME_BLUE: result = COLOR_PAIR(51); break; - case THEME_BLUE_BOLD: result = COLOR_PAIR(51); break; - case THEME_CYAN: result = COLOR_PAIR(52); break; - case THEME_CYAN_BOLD: result = COLOR_PAIR(52); break; - case THEME_BLACK: result = COLOR_PAIR(53); break; - case THEME_BLACK_BOLD: result = COLOR_PAIR(53); break; - case THEME_MAGENTA: result = COLOR_PAIR(54); break; - case THEME_MAGENTA_BOLD: result = COLOR_PAIR(54); break; + case THEME_ROSTER_ROOM: result = COLOR_PAIR(46); break; + case THEME_ROSTER_ROOM_UNREAD: result = COLOR_PAIR(47); break; + case THEME_OCCUPANTS_HEADER: result = COLOR_PAIR(48); break; + case THEME_WHITE: result = COLOR_PAIR(49); break; + case THEME_WHITE_BOLD: result = COLOR_PAIR(49); break; + case THEME_GREEN: result = COLOR_PAIR(50); break; + case THEME_GREEN_BOLD: result = COLOR_PAIR(50); break; + case THEME_RED: result = COLOR_PAIR(51); break; + case THEME_RED_BOLD: result = COLOR_PAIR(51); break; + case THEME_YELLOW: result = COLOR_PAIR(52); break; + case THEME_YELLOW_BOLD: result = COLOR_PAIR(52); break; + case THEME_BLUE: result = COLOR_PAIR(53); break; + case THEME_BLUE_BOLD: result = COLOR_PAIR(53); break; + case THEME_CYAN: result = COLOR_PAIR(54); break; + case THEME_CYAN_BOLD: result = COLOR_PAIR(54); break; + case THEME_BLACK: result = COLOR_PAIR(55); break; + case THEME_BLACK_BOLD: result = COLOR_PAIR(55); break; + case THEME_MAGENTA: result = COLOR_PAIR(56); break; + case THEME_MAGENTA_BOLD: result = COLOR_PAIR(56); break; default: break; } diff --git a/src/config/theme.h b/src/config/theme.h index 59db9f57..c0380354 100644 --- a/src/config/theme.h +++ b/src/config/theme.h @@ -85,6 +85,8 @@ typedef enum { THEME_OTR_UNTRUSTED, THEME_OCCUPANTS_HEADER, THEME_ROSTER_HEADER, + THEME_ROSTER_ROOM, + THEME_ROSTER_ROOM_UNREAD, THEME_RECEIPT_SENT, THEME_NONE, THEME_WHITE, diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c index f54b2734..67f23442 100644 --- a/src/ui/rosterwin.c +++ b/src/ui/rosterwin.c @@ -375,9 +375,9 @@ _rosterwin_room(ProfLayoutSplit *layout, ProfMucWin *mucwin) GString *msg = g_string_new(" "); if (mucwin->unread > 0) { - wattron(layout->subwin, theme_attrs(THEME_GREEN_BOLD)); + wattron(layout->subwin, theme_attrs(THEME_ROSTER_ROOM_UNREAD)); } else { - wattron(layout->subwin, theme_attrs(THEME_GREEN)); + wattron(layout->subwin, theme_attrs(THEME_ROSTER_ROOM)); } int indent = prefs_get_roster_contact_indent(); @@ -405,9 +405,9 @@ _rosterwin_room(ProfLayoutSplit *layout, ProfMucWin *mucwin) g_string_free(msg, TRUE); if (mucwin->unread > 0) { - wattroff(layout->subwin, theme_attrs(THEME_GREEN_BOLD)); + wattroff(layout->subwin, theme_attrs(THEME_ROSTER_ROOM_UNREAD)); } else { - wattroff(layout->subwin, theme_attrs(THEME_GREEN)); + wattroff(layout->subwin, theme_attrs(THEME_ROSTER_ROOM)); } } diff --git a/theme_template b/theme_template index be6a9cd5..db9e9cd9 100644 --- a/theme_template +++ b/theme_template @@ -46,6 +46,8 @@ roommention= me= them= roster.header= +roster.room= +roster.room.unread= occupants.header= receipt.sent= diff --git a/themes/aqua b/themes/aqua index 11c250f4..76dd53a6 100644 --- a/themes/aqua +++ b/themes/aqua @@ -46,5 +46,7 @@ roommention=bold_blue me=cyan them=white roster.header=bold_white +roster.room=cyan +roster.room.unread=bold_cyan occupants.header=bold_white receipt.sent=white diff --git a/themes/batman b/themes/batman index 4d346ac1..f856ebb0 100644 --- a/themes/batman +++ b/themes/batman @@ -46,5 +46,7 @@ subscribed=magenta unsubscribed=black_bold roommention=cyan roster.header=yellow +roster.room=green +roster.room.unread=green occupants.header=yellow receipt.sent=red diff --git a/themes/boothj5 b/themes/boothj5 index 3273d688..d496ab78 100644 --- a/themes/boothj5 +++ b/themes/boothj5 @@ -46,6 +46,8 @@ roommention=bold_red me=blue them=bold_green roster.header=bold_yellow +roster.room=green +roster.room.unread=bold_green occupants.header=bold_yellow receipt.sent=bold_black diff --git a/themes/forest b/themes/forest index f5bbbafd..65407c93 100644 --- a/themes/forest +++ b/themes/forest @@ -46,5 +46,7 @@ roommention=bold_cyan me=blue them=bold_blue roster.header=bold_green +roster.room=green +roster.room.unread=bold_green occupants.header=bold_green receipt.sent=bold_black diff --git a/themes/hacker b/themes/hacker index 8fdc0c96..ff726544 100644 --- a/themes/hacker +++ b/themes/hacker @@ -46,5 +46,7 @@ roommention=bold_green me=green them=bold_green roster.header=bold_green +roster.room=green +roster.room=bold_green occupants.header=bold_green receipt.sent=bold_black diff --git a/themes/headache b/themes/headache index 5c06ca78..e9c63cbf 100644 --- a/themes/headache +++ b/themes/headache @@ -46,5 +46,7 @@ roommention=bold_green me=white them=white roster.header=bold_cyan +roster.room=red +roster.room.unread=bold_red occupants.header=bold_cyan -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/joker b/themes/joker index 59e9ed94..6076339a 100644 --- a/themes/joker +++ b/themes/joker @@ -46,5 +46,7 @@ roommention=green me=magenta them=green roster.header=magenta +roster.room=green +roster.room.unread=green occupants.header=magenta -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/mono b/themes/mono index 8efd7369..86265336 100644 --- a/themes/mono +++ b/themes/mono @@ -46,5 +46,7 @@ roommention=white me=white them=white roster.header=white +roster.room=white +roster.room.unread=white occupants.header=white -receipt.sent=white \ No newline at end of file +receipt.sent=white diff --git a/themes/orange b/themes/orange index 5fc6ddf2..035d4b45 100644 --- a/themes/orange +++ b/themes/orange @@ -46,5 +46,7 @@ roommention=blue me=black them=black roster.header=black +roster.room=blue +roster.room.unread=blue occupants.header=black -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/original b/themes/original index d1c0b26a..5c4fa88e 100644 --- a/themes/original +++ b/themes/original @@ -46,5 +46,7 @@ roommention=yellow me=yellow them=green roster.header=yellow +roster.room=green +roster.room.unread=green occupants.header=yellow -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/original_bright b/themes/original_bright index c584ff60..90dcae54 100644 --- a/themes/original_bright +++ b/themes/original_bright @@ -46,5 +46,7 @@ roommention=bold_yellow me=bold_yellow them=bold_green roster.header=bold_yellow +roster.room=bold_green +roster.room.unread=bold_green occupants.header=bold_yellow receipt.sent=bold_red diff --git a/themes/shade b/themes/shade index 38d42860..4a671717 100644 --- a/themes/shade +++ b/themes/shade @@ -46,5 +46,7 @@ roommention=green me=bold_black them=magenta roster.header=magenta +roster.room=green +roster.room.unread=green occupants.header=magenta -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/spawn b/themes/spawn index b32862d3..907c10c5 100644 --- a/themes/spawn +++ b/themes/spawn @@ -46,5 +46,7 @@ roommention=red me=green them=yellow roster.header=white +roster.room=green +roster.room.unread=green occupants.header=white -receipt.sent=red \ No newline at end of file +receipt.sent=red diff --git a/themes/whiteness b/themes/whiteness index ff7d370a..ad26afcf 100644 --- a/themes/whiteness +++ b/themes/whiteness @@ -46,5 +46,7 @@ roommention=yellow me=black them=black roster.header=black +roster.room=green +roster.room.unread=green occupants.header=black receipt.sent=red