diff options
author | James Booth <boothj5@gmail.com> | 2014-01-16 22:44:23 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-01-16 22:44:23 +0000 |
commit | 4f98bc8c25075891a1fd5a954ae83e961405a664 (patch) | |
tree | 9533784aa0fe7ae81ace0ee173235a9cd801a201 /src/config | |
parent | 6c59bb26da67f2d48e0203e8df328205313d6c57 (diff) | |
download | profani-tty-4f98bc8c25075891a1fd5a954ae83e961405a664.tar.gz |
Show OTR coloured status
Customisable within theme files e.g.: titlebar.unencrypted=red titlebar.encrypted=green titlebar.trusted=red titlebar.untrusted=green Shows [unencrypted] for all non-OTR chat Disable with '/otr warn off'
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/preferences.c | 4 | ||||
-rw-r--r-- | src/config/preferences.h | 3 | ||||
-rw-r--r-- | src/config/theme.c | 24 | ||||
-rw-r--r-- | src/config/theme.h | 54 |
4 files changed, 59 insertions, 26 deletions
diff --git a/src/config/preferences.c b/src/config/preferences.c index 216e4988..2e7a67ce 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -293,6 +293,7 @@ _get_group(preference_t pref) case PREF_HISTORY: case PREF_MOUSE: case PREF_STATUSES: + case PREF_OTR_WARN: return "ui"; case PREF_STATES: case PREF_OUTTYPE: @@ -368,6 +369,8 @@ _get_key(preference_t pref) return "account"; case PREF_OTR_LOG: return "otr"; + case PREF_OTR_WARN: + return "otr.warn"; default: return NULL; } @@ -380,6 +383,7 @@ _get_default_boolean(preference_t pref) { case PREF_STATUSES: case PREF_AUTOAWAY_CHECK: + case PREF_OTR_WARN: return TRUE; default: return FALSE; diff --git a/src/config/preferences.h b/src/config/preferences.h index df89ac04..20b3c271 100644 --- a/src/config/preferences.h +++ b/src/config/preferences.h @@ -58,7 +58,8 @@ typedef enum { PREF_AUTOAWAY_MODE, PREF_AUTOAWAY_MESSAGE, PREF_CONNECT_ACCOUNT, - PREF_OTR_LOG + PREF_OTR_LOG, + PREF_OTR_WARN } preference_t; void prefs_load(void); diff --git a/src/config/theme.c b/src/config/theme.c index 1c0d176a..1d7d04cf 100644 --- a/src/config/theme.c +++ b/src/config/theme.c @@ -64,6 +64,10 @@ static struct colours_t { NCURSES_COLOR_T statusbar; NCURSES_COLOR_T titlebartext; NCURSES_COLOR_T titlebarbrackets; + NCURSES_COLOR_T titlebarunencrypted; + NCURSES_COLOR_T titlebarencrypted; + NCURSES_COLOR_T titlebaruntrusted; + NCURSES_COLOR_T titlebartrusted; NCURSES_COLOR_T statusbartext; NCURSES_COLOR_T statusbarbrackets; NCURSES_COLOR_T statusbaractive; @@ -197,6 +201,10 @@ theme_init_colours(void) // title bar init_pair(10, colour_prefs.titlebartext, colour_prefs.titlebar); init_pair(11, colour_prefs.titlebarbrackets, colour_prefs.titlebar); + init_pair(12, colour_prefs.titlebarunencrypted, colour_prefs.titlebar); + init_pair(13, colour_prefs.titlebarencrypted, colour_prefs.titlebar); + init_pair(14, colour_prefs.titlebaruntrusted, colour_prefs.titlebar); + init_pair(15, colour_prefs.titlebartrusted, colour_prefs.titlebar); // status bar init_pair(20, colour_prefs.statusbartext, colour_prefs.statusbar); @@ -280,6 +288,22 @@ _load_colours(void) _set_colour(titlebarbrackets_val, &colour_prefs.titlebarbrackets, COLOR_CYAN); g_free(titlebarbrackets_val); + gchar *titlebarunencrypted_val = g_key_file_get_string(theme, "colours", "titlebar.unencrypted", NULL); + _set_colour(titlebarunencrypted_val, &colour_prefs.titlebarunencrypted, COLOR_RED); + g_free(titlebarunencrypted_val); + + gchar *titlebarencrypted_val = g_key_file_get_string(theme, "colours", "titlebar.encrypted", NULL); + _set_colour(titlebarencrypted_val, &colour_prefs.titlebarencrypted, COLOR_WHITE); + g_free(titlebarencrypted_val); + + gchar *titlebaruntrusted_val = g_key_file_get_string(theme, "colours", "titlebar.untrusted", NULL); + _set_colour(titlebaruntrusted_val, &colour_prefs.titlebaruntrusted, COLOR_RED); + g_free(titlebaruntrusted_val); + + gchar *titlebartrusted_val = g_key_file_get_string(theme, "colours", "titlebar.trusted", NULL); + _set_colour(titlebartrusted_val, &colour_prefs.titlebartrusted, COLOR_WHITE); + g_free(titlebartrusted_val); + gchar *statusbartext_val = g_key_file_get_string(theme, "colours", "statusbar.text", NULL); _set_colour(statusbartext_val, &colour_prefs.statusbartext, COLOR_WHITE); g_free(statusbartext_val); diff --git a/src/config/theme.h b/src/config/theme.h index 8878d7b2..b7f26f3f 100644 --- a/src/config/theme.h +++ b/src/config/theme.h @@ -32,31 +32,35 @@ #include <ncurses.h> #endif -#define COLOUR_TEXT COLOR_PAIR(1) -#define COLOUR_SPLASH COLOR_PAIR(2) -#define COLOUR_ERROR COLOR_PAIR(3) -#define COLOUR_INCOMING COLOR_PAIR(4) -#define COLOUR_INPUT_TEXT COLOR_PAIR(5) -#define COLOUR_TIME COLOR_PAIR(6) -#define COLOUR_TITLE_TEXT COLOR_PAIR(10) -#define COLOUR_TITLE_BRACKET COLOR_PAIR(11) -#define COLOUR_STATUS_TEXT COLOR_PAIR(20) -#define COLOUR_STATUS_BRACKET COLOR_PAIR(21) -#define COLOUR_STATUS_ACTIVE COLOR_PAIR(22) -#define COLOUR_STATUS_NEW COLOR_PAIR(23) -#define COLOUR_ME COLOR_PAIR(30) -#define COLOUR_THEM COLOR_PAIR(31) -#define COLOUR_ROOMINFO COLOR_PAIR(40) -#define COLOUR_ONLINE COLOR_PAIR(50) -#define COLOUR_OFFLINE COLOR_PAIR(51) -#define COLOUR_AWAY COLOR_PAIR(52) -#define COLOUR_CHAT COLOR_PAIR(53) -#define COLOUR_DND COLOR_PAIR(54) -#define COLOUR_XA COLOR_PAIR(55) -#define COLOUR_TYPING COLOR_PAIR(60) -#define COLOUR_GONE COLOR_PAIR(61) -#define COLOUR_SUBSCRIBED COLOR_PAIR(70) -#define COLOUR_UNSUBSCRIBED COLOR_PAIR(71) +#define COLOUR_TEXT COLOR_PAIR(1) +#define COLOUR_SPLASH COLOR_PAIR(2) +#define COLOUR_ERROR COLOR_PAIR(3) +#define COLOUR_INCOMING COLOR_PAIR(4) +#define COLOUR_INPUT_TEXT COLOR_PAIR(5) +#define COLOUR_TIME COLOR_PAIR(6) +#define COLOUR_TITLE_TEXT COLOR_PAIR(10) +#define COLOUR_TITLE_BRACKET COLOR_PAIR(11) +#define COLOUR_TITLE_UNENCRYPTED COLOR_PAIR(12) +#define COLOUR_TITLE_ENCRYPTED COLOR_PAIR(13) +#define COLOUR_TITLE_UNTRUSTED COLOR_PAIR(14) +#define COLOUR_TITLE_TRUSTED COLOR_PAIR(15) +#define COLOUR_STATUS_TEXT COLOR_PAIR(20) +#define COLOUR_STATUS_BRACKET COLOR_PAIR(21) +#define COLOUR_STATUS_ACTIVE COLOR_PAIR(22) +#define COLOUR_STATUS_NEW COLOR_PAIR(23) +#define COLOUR_ME COLOR_PAIR(30) +#define COLOUR_THEM COLOR_PAIR(31) +#define COLOUR_ROOMINFO COLOR_PAIR(40) +#define COLOUR_ONLINE COLOR_PAIR(50) +#define COLOUR_OFFLINE COLOR_PAIR(51) +#define COLOUR_AWAY COLOR_PAIR(52) +#define COLOUR_CHAT COLOR_PAIR(53) +#define COLOUR_DND COLOR_PAIR(54) +#define COLOUR_XA COLOR_PAIR(55) +#define COLOUR_TYPING COLOR_PAIR(60) +#define COLOUR_GONE COLOR_PAIR(61) +#define COLOUR_SUBSCRIBED COLOR_PAIR(70) +#define COLOUR_UNSUBSCRIBED COLOR_PAIR(71) void theme_init(const char * const theme_name); void theme_init_colours(void); |