From 80276bf4d2e185724ac104f990fa5f78de256a6d Mon Sep 17 00:00:00 2001 From: Rene Richarz Date: Wed, 18 Oct 2023 10:15:10 +0200 Subject: [PATCH] -wait n argument added --- README.md | 3 +++ tek4010 | Bin 50272 -> 50396 bytes tube.c | 31 ++++++++++++++++++++++++++++--- tube.h | 1 + versions.txt | 6 ++++++ 5 files changed, 38 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 782314b..52004e8 100644 --- a/README.md +++ b/README.md @@ -366,6 +366,9 @@ tek4010 has the following options: -hidecursor hides the cursor. Do not set while using GIN mode. + -wait n Close window n seconds after completion of "command". + It does not make sense to use -noexit together with -wait. + **APL mode** If tek4010 is called with the -APL argument, a Tektronix 4013 and Tektronix 4015 is emulated diff --git a/tek4010 b/tek4010 index d9c6ddecf50dd8ab749b7660a0d076fb92f375a9..d906abc0807c24dd721bd3ed5e490e220837b682 100755 GIT binary patch literal 50396 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 delta 20476 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 diff --git a/tube.c b/tube.c index 3230379..dc9fdce 100755 --- a/tube.c +++ b/tube.c @@ -82,6 +82,7 @@ int argAPL = 0; int argAutoClear = 0; int argKeepSize = 0; int argHideCursor = 0; +int argWait = 0; int refresh_interval; // after this time in msec next refresh is done @@ -119,6 +120,7 @@ static int currentFontSize = 18; static int currentCharacterOffset = 0; long startPaintTime; +long firstWait; int leftmargin; @@ -288,7 +290,7 @@ void tube_init(int argc, char* argv[]) char *argv2[20]; size_t bufsize = 127; int firstArg = 1; - printf("tek4010 version 1.6\n"); + printf("tek4010 version 1.7\n"); windowName = "Tektronix 4010/4014 emulator"; if ((argc<2) || (argc>19)) { printf("Error:number of arguments\n"); @@ -301,7 +303,7 @@ void tube_init(int argc, char* argv[]) argc--; } - while ((argv[firstArg][0] == '-') && firstArg < argc-1) { + while ((argv[firstArg][0] == '-') && (firstArg < argc-1)) { if (strcmp(argv[firstArg],"-raw") == 0) argRaw = 1; else if (strcmp(argv[firstArg],"-noexit") == 0) @@ -346,6 +348,17 @@ void tube_init(int argc, char* argv[]) argARDS = 1; windowName = "ARDS emulator"; } + else if (strcmp(argv[firstArg],"-wait") == 0) { + argWait = 3; + if (firstArg < argc-2) { + if ((argv[firstArg+1][0] >= '0') && + (argv[firstArg+1][0] <= '9')) { + firstArg++; + argWait = atoi(argv[firstArg]); + } + } + // printf("Waiting %d seconds after end of plot\n", argWait); + } else { printf("tek4010: unknown argument %s\n", argv[firstArg]); exit(1); @@ -486,7 +499,19 @@ int tube_on_timer_event() // is child process still running? int status; - if ((!argNoexit) && (tube_isInput() == 0) && (waitpid(-1, &status, WNOHANG))) { + if (argWait) { + if (firstWait == 0) + firstWait = tube_mSeconds(); + else { + if ((int)((tube_mSeconds() - firstWait) / 1000) > argWait) { + tube_quit(); + gtk_main_quit(); + printf("Process has been terminated after %d seconds\n", argWait); + exit(0); + } + } + } + else if ((!argNoexit) && (tube_isInput() == 0) && (waitpid(-1, &status, WNOHANG))) { long t = tube_mSeconds(); // printf("Execution time: %0.3f sec\n", (double)t/1000.0); // if (t > 0) { diff --git a/tube.h b/tube.h index b39e06c..6f83fa8 100755 --- a/tube.h +++ b/tube.h @@ -20,6 +20,7 @@ extern int argAPL; extern int argAutoClear; extern int argKeepSize; extern int argHideCursor; +extern int argWait; extern int hDotsPerChar; extern int vDotsPerChar; diff --git a/versions.txt b/versions.txt index 031491f..634e434 100644 --- a/versions.txt +++ b/versions.txt @@ -168,3 +168,9 @@ New features: - Added versions.txt Bug fixes: - fixed demo.sh to display dodekagon.plt instead of captured_data + +Version 1.7 October 18, 2023 +============================ +Added -wait n seconds as argument, staying alive n seconds after +completion. +