parent
cd3dc4ef4c
commit
05256b68fe
14
chat.c
14
chat.c
|
@ -76,7 +76,19 @@ int main(int argc, char *argv[]) {
|
||||||
ircConfig(insecure, cert, priv);
|
ircConfig(insecure, cert, priv);
|
||||||
|
|
||||||
uiInit();
|
uiInit();
|
||||||
uiFormat(Network, Cold, NULL, C "3Trave" U "ling" U C "0,3.." C "0,4.");
|
uiFormat(Network, Cold, NULL, C "3Trave" U "ling" U C "0,3.." C "0,4." R);
|
||||||
|
uiFormat(
|
||||||
|
Network, Cold, NULL,
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
"The quick brown fox jumps over the lazy dog. "
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
"The quick brown fox jumps over the lazy dog. "
|
||||||
|
"The quick brown fox jumps over the lazy dog. "
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
"Jackdaws love my big sphinx of quartz. "
|
||||||
|
);
|
||||||
uiDraw();
|
uiDraw();
|
||||||
|
|
||||||
int irc = ircConnect(host, port);
|
int irc = ircConnect(host, port);
|
||||||
|
|
22
ui.c
22
ui.c
|
@ -209,11 +209,33 @@ static void styleParse(struct Style *style, const char **str, size_t *len) {
|
||||||
*len = strcspn(*str, "\2\3\17\26\35\37");
|
*len = strcspn(*str, "\2\3\17\26\35\37");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int wordWidth(const char *str) {
|
||||||
|
size_t len = strcspn(str, " ");
|
||||||
|
// TODO: wcswidth.
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
static void styleAdd(WINDOW *win, const char *str) {
|
static void styleAdd(WINDOW *win, const char *str) {
|
||||||
|
int _, x, width;
|
||||||
|
getmaxyx(win, _, width);
|
||||||
|
|
||||||
size_t len;
|
size_t len;
|
||||||
struct Style style = Reset;
|
struct Style style = Reset;
|
||||||
while (*str) {
|
while (*str) {
|
||||||
|
if (*str == ' ') {
|
||||||
|
const char *word = &str[strspn(str, " ")];
|
||||||
|
getyx(win, _, x);
|
||||||
|
if (width - x - 1 < wordWidth(word)) {
|
||||||
|
waddch(win, '\n');
|
||||||
|
str = word;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
styleParse(&style, &str, &len);
|
styleParse(&style, &str, &len);
|
||||||
|
size_t sp = strspn(str, " ");
|
||||||
|
sp += strcspn(&str[sp], " ");
|
||||||
|
if (sp < len) len = sp;
|
||||||
|
|
||||||
wattr_set(
|
wattr_set(
|
||||||
win,
|
win,
|
||||||
style.attr | colorAttr(mapColor(style.fg)),
|
style.attr | colorAttr(mapColor(style.fg)),
|
||||||
|
|
Loading…
Reference in New Issue