hdt: enhance user experience (CLI)
authorPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 23 Aug 2009 21:31:53 +0000 (14:31 -0700)
committerPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 23 Aug 2009 21:31:53 +0000 (14:31 -0700)
Some users have reported that reading the CLI can be difficult,
especially when spitting out a lot of information.

This patch:

  * adds a missing reset_more_printf() in the disk CLI
  * reduces the total scrolling to 20 lines (seems better in my testing)
  * removes a reset_more_printf() in the show disk function. This can potentially
    be bad when doing a lot of show disk 0xXX (especially after 4 in a row)
    but enhances the display when running show disks with lots of disks.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
com32/hdt/hdt-cli-disk.c
com32/hdt/hdt-common.h

index 4e2994d..5836d21 100644 (file)
@@ -99,7 +99,6 @@ static void show_partition_information(struct driveinfo *drive_info,
 void main_show_disk(int argc, char **argv,
                    struct s_hardware *hardware)
 {
-       reset_more_printf();
        if (!argc) {
                more_printf("Which disk?\n");
                return;
@@ -145,6 +144,8 @@ void main_show_disk(int argc, char **argv,
                }
                fprintf(stderr, "\n");
        }
+
+       more_printf("\n");
 }
 
 void main_show_disks(int argc __unused, char **argv __unused,
@@ -167,6 +168,7 @@ void disks_summary(int argc __unused, char** argv __unused,
        int i = -1;
 
        detect_disks(hardware);
+       reset_more_printf();
 
        for (int drive = 0x80; drive < 0xff; drive++) {
                i++;
index 2b67f9c..b3b71dc 100644 (file)
@@ -51,8 +51,8 @@
 extern int display_line_nb;
 
 #define more_printf(...) do {\
- if (display_line_nb == 23) {\
-   printf("Press any key to continue\n");\
+ if (display_line_nb == 20) {\
+   printf("\nPress any key to continue");\
    display_line_nb=0;\
    get_key(stdin, 0);\
  }\