diff options
author | June McEnroe <june@causal.agency> | 2021-10-18 14:48:29 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-10-18 14:48:29 -0400 |
commit | e52b86b69b9dc6a7b7ec9d578c20d88fc1ccb330 (patch) | |
tree | 8ac65c57b61d0fedfc6e2621a5c035b1131aaf95 /bin/shotty.l | |
parent | Add ptee -t to output media copy at an interval (diff) | |
download | src-e52b86b69b9dc6a7b7ec9d578c20d88fc1ccb330.tar.gz src-e52b86b69b9dc6a7b7ec9d578c20d88fc1ccb330.zip |
Add shotty -t to animate (crudely) between snapshots
Diffstat (limited to '')
-rw-r--r-- | bin/shotty.l | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/bin/shotty.l b/bin/shotty.l index 070022a2..1655a09a 100644 --- a/bin/shotty.l +++ b/bin/shotty.l @@ -507,8 +507,9 @@ int main(int argc, char *argv[]) { bool debug = false; bool size = false; bool hide = false; + int interval = 0; - for (int opt; 0 < (opt = getopt(argc, argv, "Bb:df:h:insw:"));) { + for (int opt; 0 < (opt = getopt(argc, argv, "Bb:df:h:inst:w:"));) { switch (opt) { break; case 'B': bright = true; break; case 'b': defaultBg = atoi(optarg); @@ -518,6 +519,7 @@ int main(int argc, char *argv[]) { break; case 'i': colors = true; break; case 'n': hide = true; break; case 's': size = true; + break; case 't': interval = atoi(optarg); break; case 'w': cols = atoi(optarg); break; default: return EX_USAGE; } @@ -559,4 +561,25 @@ int main(int argc, char *argv[]) { } if (hide) mode &= ~Cursor; if (!mc) html(); + + if (interval) { + printf( + Q( + <script> + let frames = document.querySelectorAll("pre"); + let frame = 0; + function animate() { + for (let i = 0; i < frames.length; ++i) { + frames[i].hidden = (i != frame); + } + frame++; + if (frame == frames.length) frame = 0; + } + animate(); + setInterval(animate, %d); + </script> + ), + interval + ); + } } |