From 88e2197a8f3272abbdc9a322806a7bdc9fff2daa Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 26 May 2020 15:18:55 -0400 Subject: Don't send zero-width characters to ncurses --- ui.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ui.c b/ui.c index 5b7ef5e..fd9bfab 100644 --- a/ui.c +++ b/ui.c @@ -563,6 +563,19 @@ static int wordWidth(const char *str) { return width; } +// XXX: ncurses likes to render zero-width characters as spaces... +static int waddnstrnzw(WINDOW *win, const char *str, int len) { + wchar_t wc; + while (len) { + int n = mbtowc(&wc, str, len); + if (n < 1) return waddnstr(win, str, len); + if (wcwidth(wc)) waddnstr(win, str, n); + str += n; + len -= n; + } + return OK; +} + static int wordWrap(WINDOW *win, const char *str) { int y, x, width; getmaxyx(win, y, width); @@ -601,7 +614,7 @@ static int wordWrap(WINDOW *win, const char *str) { colorPair(Colors[style.fg], Colors[style.bg]), NULL ); - waddnstr(win, str, len); + waddnstrnzw(win, str, len); str += len; } return lines; -- cgit 1.4.1 a> tree commit diff
path: root/home/.shrc (unfollow)
Commit message (Expand)Author
2022-09-18Remove some filesJune McEnroe
2022-09-18Remove doc/pdfJune McEnroe
2022-09-11Reread A Closed and Common OrbitJune McEnroe
2022-09-09Add I've Got a Time BombJune McEnroe
2022-09-02Update "Care" with initial electrolysis reportJune McEnroe
2022-08-17Add The Book of Form and EmptinessJune McEnroe
2022-08-15Load dates from ~/.config/when/datesJune McEnroe
2022-08-15Allow names with prefixes of months and daysJune McEnroe
2022-08-15Add named dates to whenJune McEnroe
2022-08-14Remove tweets text fileJune McEnroe
2022-08-04Add Conversations With FriendsJune McEnroe
2022-07-30Add Normal PeopleJune McEnroe
2022-07-26Rewrite glitch from new pngoJune McEnroe
2022-07-26Update Care with time-to-ID and piercingsJune McEnroe
2022-07-26Add -w to upJune McEnroe
2022-07-13Set push.autoSetupRemoteJune McEnroe
2022-07-08Remove TOURJune McEnroe
2022-07-03Add The Bone Shard EmperorJune McEnroe
2022-06-25Bump xterm font size to 12June McEnroe
2022-06-10Handle subshells (and functions) inside substitutionsJune McEnroe
2022-06-10Switch to jorts Install scriptJune McEnroe
2022-06-08Indicate if still reading or no resultsJune McEnroe
2022-06-08Add Maiden, Mother, CroneJune McEnroe
2022-06-05FIRST SHOW IN 2.5 YEARS BABEY!!!June McEnroe
2022-06-03Set line number on File linesJune McEnroe
2022-06-03Stop polling stdin after EOFJune McEnroe
2022-06-02Set TABSIZE=4June McEnroe
2022-06-02Do basic match highlightingJune McEnroe
2022-06-02Clean up parsing a littleJune McEnroe
2022-06-02Don't duplicate path stringJune McEnroe
2022-06-02Use stderr instead of /dev/tty, realloc buffer if lines too longJune McEnroe
2022-06-02Add initial working version of qfJune McEnroe
2022-05-29Set prompt for okshJune McEnroe