lchat

A line oriented chat front end for ii.
git clone git://git.suckless.org/lchat
Log | Files | Refs

commit eaaf97e1cfa06ef15e4e8a3dbf03b7efd443c8cd
parent b6a559806b16ec704b2bb2cc304aff99a9a96434
Author: Jan Klemkow <j.klemkow@wemelug.de>
Date:   Wed, 22 Feb 2017 17:42:03 +0100

filter/indent: add color swap via nich swap

Diffstat:
filter/indent.c | 12++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/filter/indent.c b/filter/indent.c @@ -6,6 +6,9 @@ #include <time.h> #include <unistd.h> +#define color1 34 +#define color2 36 + int main(void) { @@ -16,6 +19,7 @@ main(void) char *next, *nick, *word; struct tm tm; int cols = 80; /* terminal width */ + int color = color1; while (fgets(buf, sizeof buf, stdin) != NULL) { next = strptime(buf, "%Y-%m-%d %H:%M ", &tm); @@ -32,9 +36,13 @@ main(void) strftime(timestr, sizeof timestr, fmt, &tm); + /* swap color */ + if (strcmp(nick, old_nick) != 0) + color = color == color1 ? color2 : color1; + /* print prompt */ /* HH:MM nnnnnnnnnnnn ttttttttttttt */ - printf("%s %*s", timestr, 12, + printf("\033[%dm%s %*s", color, timestr, 12, strcmp(nick, old_nick) == 0 ? "" : nick); strlcpy(old_nick, nick, sizeof old_nick); @@ -56,7 +64,7 @@ main(void) fputs(word, stdout); first = false; } - + fputs("\033[0m", stdout); /* turn color off */ fflush(stdout); }