From f46115c8fbef8b68bdb426cf7d25ba84b864cdbe Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 30 Apr 2022 14:29:13 -0700 Subject: New a, d commands to advance or delay triggers. --- pw.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'pw.c') diff --git a/pw.c b/pw.c index 4c25464..81494de 100644 --- a/pw.c +++ b/pw.c @@ -909,6 +909,34 @@ int main(int argc, char **argv) cmdbuf[1] = 0; curcmd = cmdbuf; break; + case 'a': case 'd': + if ((stat & (stat_htmode | stat_ttmode))) { + int step = ((((stat & stat_htmode) && ch == 'a') || + ((stat & stat_ttmode) && ch == 'd')) + ? -1 : 1); + + if (cmdcount == UINT_MAX) + cmdcount = 1; + + if (step < 0) { + for (; cmdcount && !triglist[0]; cmdcount --) { + memmove(triglist, triglist + 1, + (maxtrig - 1) * sizeof *triglist); + triglist[maxtrig - 1] = 0; + } + } else if (nlines <= maxtrig) { + for (; (cmdcount && + !triglist[nlines - 1] && + !triglist[maxtrig - 1]); + cmdcount --) + { + memmove(triglist + 1, triglist, + (maxtrig - 1) * sizeof *triglist); + triglist[0] = 0; + } + } + } + break; case '+': if (ws.ws_row && maxlines >= ws.ws_row - 1) { break; -- cgit v1.2.3