@@ -, +, @@ --- src/common/cfgfiles.c | 2 ++ src/common/text.c | 6 ++++-- src/common/xchat.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) --- a/src/common/cfgfiles.c +++ a/src/common/cfgfiles.c @@ -554,6 +554,7 @@ const struct prefs vars[] = { {"text_max_indent", P_OFFINT (max_auto_indent), TYPE_INT}, {"text_max_lines", P_OFFINT (max_lines), TYPE_INT}, {"text_replay", P_OFFINT (text_replay), TYPE_BOOL}, + {"text_replay_strip_color", P_OFFINT (text_replay_strip_color), TYPE_BOOL}, {"text_show_marker", P_OFFINT (show_marker), TYPE_BOOL}, {"text_show_sep", P_OFFINT (show_separator), TYPE_BOOL}, {"text_stripcolor", P_OFFINT (stripcolor), TYPE_BOOL}, @@ -634,6 +635,7 @@ load_config (void) prefs.autoreconnect = 1; prefs.recon_delay = 10; prefs.text_replay = 1; + prefs.text_replay_strip_color = 1; prefs.tabchannels = 1; prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */ prefs.tab_sort = 1; --- a/src/common/text.c +++ a/src/common/text.c @@ -328,9 +328,11 @@ scrollback_load (session *sess) text = strchr (buf + 3, ' '); if (text) { - text = strip_color (text + 1, -1, STRIP_COLOR); + if (prefs.text_replay_strip_color) + text = strip_color (text + 1, -1, STRIP_COLOR); fe_print_text (sess, text, stamp); - g_free (text); + if (prefs.text_replay_strip_color) + g_free (text); } lines++; } --- a/src/common/xchat.h +++ a/src/common/xchat.h @@ -270,6 +270,7 @@ struct xchatprefs unsigned int windows_as_tabs; unsigned int indent_nicks; unsigned int text_replay; + unsigned int text_replay_strip_color; unsigned int show_marker; unsigned int show_separator; unsigned int thin_separator; --