iDisplay joined channels in status bar. - irc - Unnamed repository; edit this file 'description' to name the repository. Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/irc.git URL:git://vernunftzentrum.de/irc.git vernunftzentrum.de 70 1Log /ckeen/repos/irc/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/irc/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/irc/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/irc/file/README.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit f8a2a7b155eef7c14cf0f08fb24cb04b46c70fa8 /ckeen/repos/irc/commit/f8a2a7b155eef7c14cf0f08fb24cb04b46c70fa8.gph vernunftzentrum.de 70 1parent 43b2c32a6d4ddbb64edbd7428a7d0a425cab6e96 /ckeen/repos/irc/commit/43b2c32a6d4ddbb64edbd7428a7d0a425cab6e96.gph vernunftzentrum.de 70 hAuthor: Quentin Carbonneaux URL:mailto:qcarbonneaux@gmail.com vernunftzentrum.de 70 iDate: Wed, 14 Mar 2012 23:46:13 +0100 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDisplay joined channels in status bar. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iThe status bar was not useful, now it displays the list of joined Err vernunftzentrum.de 70 ichannels. The function tdrawbar will redraw the whole bar (no clever Err vernunftzentrum.de 70 irefreshing here, it does not worth the complexity). Tdrawbar tries to Err vernunftzentrum.de 70 ikeep the current channel in the middle of the bar to maximize the Err vernunftzentrum.de 70 icontext on both sides. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i irc.c | 37 +++++++++++++++++++++++++++---- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 33 insertions(+), 4 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/irc.c b/irc.c /ckeen/repos/irc/file/irc.c.gph vernunftzentrum.de 70 i@@ -48,6 +48,7 @@ int nch, ch; /* Current number of channels, and current channel. */ Err vernunftzentrum.de 70 i char outb[BufSz], *outp=outb; /* Output buffer. */ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static void scmd(char *, char *, char *, char *); Err vernunftzentrum.de 70 i+static void tdrawbar(void); Err vernunftzentrum.de 70 i static void tredraw(void); Err vernunftzentrum.de 70 i static void treset(void); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -149,8 +150,9 @@ chadd(char *name) Err vernunftzentrum.de 70 i panic("Out of memory."); Err vernunftzentrum.de 70 i chl[nch].eol=chl[nch].buf; Err vernunftzentrum.de 70 i chl[nch].n=0; Err vernunftzentrum.de 70 i- ch=nch; Err vernunftzentrum.de 70 i- return nch++; Err vernunftzentrum.de 70 i+ ch=nch++; Err vernunftzentrum.de 70 i+ tdrawbar(); Err vernunftzentrum.de 70 i+ return nch; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static inline int Err vernunftzentrum.de 70 i@@ -175,6 +177,7 @@ chdel(char *name) Err vernunftzentrum.de 70 i free(chl[n].buf); Err vernunftzentrum.de 70 i memmove(&chl[n], &chl[n+1], (nch-n)*sizeof(struct Chan)); Err vernunftzentrum.de 70 i ch=nch-1; Err vernunftzentrum.de 70 i+ tdrawbar(); Err vernunftzentrum.de 70 i return 1; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -242,6 +245,7 @@ scmd(char *usr, char *cmd, char *par, char *data) Err vernunftzentrum.de 70 i if (!ch || !fch || !(s=chfind(ch))) return; Err vernunftzentrum.de 70 i chl[s].name[0] = 0; Err vernunftzentrum.de 70 i strncat(chl[s].name, fch, ChanLen-1); Err vernunftzentrum.de 70 i+ tdrawbar(); Err vernunftzentrum.de 70 i } else if (!strcmp(cmd, "471") || !strcmp(cmd, "473") Err vernunftzentrum.de 70 i || !strcmp(cmd, "474") || !strcmp(cmd, "475")) { /* Join error. */ Err vernunftzentrum.de 70 i if ((pm=strtok(0, " "))) { Err vernunftzentrum.de 70 i@@ -361,6 +365,7 @@ tresize(void) Err vernunftzentrum.de 70 i wresize(scr.sw, 1, scr.x); Err vernunftzentrum.de 70 i mvwin(scr.iw, scr.y-1, 0); Err vernunftzentrum.de 70 i tredraw(); Err vernunftzentrum.de 70 i+ tdrawbar(); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static void Err vernunftzentrum.de 70 i@@ -407,6 +412,30 @@ tredraw(void) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static void Err vernunftzentrum.de 70 i+tdrawbar(void) Err vernunftzentrum.de 70 i+{ Err vernunftzentrum.de 70 i+ size_t l; Err vernunftzentrum.de 70 i+ int fst=ch; Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+ for (l=0; fst>0 && l