1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

XEP-0392: theme, ui: conditionally colorize user nicks

* add theme_hash_attrs()
* when printing a user message check PREF_COLOR_NICK to decide whether
  to colorize it or not

ideally we should hash the jid instead of the nick but this is already
a first step.
This commit is contained in:
Aurelien Aptel 2019-12-03 20:59:18 +01:00
parent 4a672bda22
commit 7a0a578a8a
3 changed files with 11 additions and 0 deletions

View File

@ -670,6 +670,12 @@ theme_free_string(char *str)
}
}
int
theme_hash_attrs(const char *str)
{
return COLOR_PAIR(color_pair_cache_hash_str(str));
}
int
theme_attrs(theme_item_t attrs)
{

View File

@ -147,6 +147,7 @@ gboolean theme_load(const char *const theme_name);
gboolean theme_exists(const char *const theme_name);
GSList* theme_list(void);
void theme_close(void);
int theme_hash_attrs(const char *str);
int theme_attrs(theme_item_t attrs);
char* theme_get_string(char *str);
void theme_free_string(char *str);

View File

@ -1453,6 +1453,10 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
colour = theme_attrs(THEME_THEM);
}
if (prefs_get_boolean(PREF_COLOR_NICK)) {
colour = theme_hash_attrs(from);
}
if (flags & NO_COLOUR_FROM) {
colour = 0;
}