diff options
author | Klemens Nanni <klemens@posteo.de> | 2021-05-23 17:26:19 +0000 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-05-25 16:11:31 -0400 |
commit | 868c604a5548b19cb1678f686172978e3ba52b1a (patch) | |
tree | 761d5dcdded4ad653d7e414e3d1f60b2f405c64e /handle.c | |
parent | Use color enum instead of hardcoded value (diff) | |
download | catgirl-868c604a5548b19cb1678f686172978e3ba52b1a.tar.gz catgirl-868c604a5548b19cb1678f686172978e3ba52b1a.zip |
Use reverse video not colors for topic change when disabled
`-H 0,0`/"hash = 0,0" makes catgirl mostly colorless which is great, but topic changes still hardcode brown/green colors to show differences which is usually not desired by users (like me) disabling colors. Go for a less eye stressing topic change message that shows both old and new in reverse video with default terminal colors. This isn't perfect, other parts of catgirl still hardcode colors and `-H 0,0`/"hash = 0,0" was never meant to disable colors completely, but topics change often enough that avoiding less readable^Waccessible topic diffs seems sensible enough. NB: parseHash() is brittle and "0,0" is not the only value disabling colors...
Diffstat (limited to 'handle.c')
-rw-r--r-- | handle.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/handle.c b/handle.c index 09b28d5..2607420 100644 --- a/handle.c +++ b/handle.c @@ -662,6 +662,11 @@ static void handleTopic(struct Message *msg) { if (swprintf(old, ARRAY_LEN(old), L"%s", prev) < 0) goto plain; if (swprintf(new, ARRAY_LEN(new), L"%s", msg->params[1]) < 0) goto plain; + if (!hashBound) { + catf(&cat, "%c%ls%c -> %c%ls%c", R, old, O, R, new, O); + goto plain; + } + size_t pre; for (pre = 0; old[pre] && new[pre] && old[pre] == new[pre]; ++pre); wchar_t *osuf = &old[wcslen(old)]; |