From c210bb036dcb4ce2e9a276d590be815fc4b09897 Mon Sep 17 00:00:00 2001 From: Kirill Petrashin Date: Mon, 13 Apr 2026 15:03:08 +0300 Subject: Fix the filename prompt --- config.h | 1 + main.c | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/config.h b/config.h index 581c6c6..f435d7d 100644 --- a/config.h +++ b/config.h @@ -19,5 +19,6 @@ #define CURSOR_CHAR_2 '>' #define FILENAME_BUF_SIZE 128 +#define FILENAME_PROMPT "Filename:" #endif /*CONFIG_H_ */ diff --git a/main.c b/main.c index 18b8d96..b60b36c 100644 --- a/main.c +++ b/main.c @@ -147,7 +147,6 @@ int main(int argc, char **argv) { draw_map(map, width, height, start_pos, end_pos, NULL, path, visited, NULL); int c = getch(); /* TODO: add a keybinding to calculate the path again, or maybe do it on 'a' */ - /* TODO: maybe a kbng to move to start/end? */ switch (c) { case 'h': map_offset_x += 2; break; case 'l': map_offset_x -= 2; break; @@ -206,15 +205,18 @@ int main(int argc, char **argv) { break; case 's': - message(height, "Filename: "); - /* TODO: figure out how to show the cursor and echo the characters */ - curs_set(2); /* Hide the cursor */ - echo(); /* Don't echo characters */ + curs_set(2); /* Show the cursor */ + echo(); /* Echo characters */ + + message(height, FILENAME_PROMPT); char filename[FILENAME_BUF_SIZE] = "out.bmp"; + mvgetnstr(height + map_offset_y + 1, map_offset_x - 2 + sizeof(FILENAME_PROMPT), filename, FILENAME_BUF_SIZE - 1); + + map_to_bmp(map, width, height, start_pos, end_pos, path, visited, filename); + curs_set(0); /* Hide the cursor */ noecho(); /* Don't echo characters */ - mvgetnstr(height + map_offset_y + 1, map_offset_x - 2, filename, FILENAME_BUF_SIZE - 1); - map_to_bmp(map, width, height, start_pos, end_pos, path, visited, filename); + message(height, "Saved to %s", filename); getch(); break; -- cgit v1.2.3