X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=std.c;h=84048e4681f39e625120868507c6060c162c9f94;hb=d83cbc27b99427d00846832a73810f285d8f0d05;hp=5e192458d232481dd3dbc4acb79c68b08c109ce5;hpb=cf147ae9da0221123596b749d4742d06f0ea643b;p=st.git diff --git a/std.c b/std.c index 5e19245..84048e4 100644 --- a/std.c +++ b/std.c @@ -85,7 +85,7 @@ movea(int x, int y) { y = MAX(y, lines); cx = x; cy = y; - cmd("s %d,%d", x, y); + cmd("seek(%d,%d)", x, y); } void @@ -186,10 +186,10 @@ parseesc(void) { case 0: case 22: if(bold) - cmd("b"); + cmd("bold"); case 1: if(!bold) - cmd("b"); + cmd("bold"); break; } } @@ -204,7 +204,7 @@ parseesc(void) { void scroll(int l) { - cmd("s %d, %d", cx, cy + l); + cmd("seek(%d,%d)", cx, cy + l); } void @@ -280,14 +280,16 @@ main(int argc, char *argv[]) { if(r == -1) eprintn("error, cannot select"); if(FD_ISSET(ptm, &rfds)) { - c = getch(); - switch(c) { - case '\033': - parseesc(); - break; - default: - putchar(c); - } + do { + c = getch(); + switch(c) { + case '\033': + parseesc(); + break; + default: + putchar(c); + } + } while(rbuf.i < rbuf.n); fflush(stdout); } }