summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-01-31 01:42:35 -0500
committerJune McEnroe <june@causal.agency>2021-01-31 01:48:27 -0500
commit6e4aeb7c9e8391626a627610592268807247572a (patch)
treef7a64489d558a99e7892b84cdf12e9047b763895
parentHandle getch ERR in menu (diff)
downloadplay-6e4aeb7c9e8391626a627610592268807247572a.tar.gz
play-6e4aeb7c9e8391626a627610592268807247572a.zip
Launch game immediately with SSH_ORIGINAL_COMMAND
-rw-r--r--play.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/play.c b/play.c
index ef6cb15..e83ab7e 100644
--- a/play.c
+++ b/play.c
@@ -187,7 +187,10 @@ static const struct Game {
 };
 
 static const struct Game *menu(void) {
-	curse();
+	const char *cmd = getenv("SSH_ORIGINAL_COMMAND");
+	for (uint i = 0; cmd && i < ARRAY_LEN(Games); ++i) {
+		if (!strcmp(Games[i].name, cmd)) return &Games[i];
+	}
 	uint game = 0;
 	for (;;) {
 		for (uint i = 0; i < ARRAY_LEN(Games); ++i) {
@@ -245,6 +248,7 @@ int main(int argc, char *argv[]) {
 		return EX_OK;
 	}
 
+	curse();
 	const struct Game *game = menu();
 	if (!game) goto done;
 	erase();