From 1091ed8269e4bf170a1a3d01d28c9b7e0eb4b3cb Mon Sep 17 00:00:00 2001 From: Krzysztof Karas Date: Fri, 25 Nov 2022 11:32:32 +0100 Subject: [PATCH] spdk_top: add support for scrolling pages with arrow keys Currently user can only use PgDn and PgUp to scroll pages, which may be confusing. Change-Id: I61632a9eba35bcc2c817d202935ef5999ba00bbb Signed-off-by: Krzysztof Karas Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15656 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki --- app/spdk_top/spdk_top.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/spdk_top/spdk_top.c b/app/spdk_top/spdk_top.c index e3f21d37a..43d209e39 100644 --- a/app/spdk_top/spdk_top.c +++ b/app/spdk_top/spdk_top.c @@ -3098,11 +3098,25 @@ show_stats(pthread_t *data_thread) case KEY_UP: /* Arrow up */ if (g_selected_row > 0) { g_selected_row--; + } else if (g_selected_row == 0) { + if (current_page > 0) { + current_page--; + g_selected_row = g_max_data_rows - 1; + wclear(g_tabs[active_tab]); + draw_tabs(active_tab, g_current_sort_col[active_tab], g_current_sort_col2[active_tab]); + } } break; case KEY_DOWN: /* Arrow down */ if (g_selected_row < g_max_selected_row) { g_selected_row++; + } else if (g_selected_row == g_max_selected_row) { + if (current_page + 1 < max_pages) { + current_page++; + g_selected_row = 0; + wclear(g_tabs[active_tab]); + draw_tabs(active_tab, g_current_sort_col[active_tab], g_current_sort_col2[active_tab]); + } } break; case 10: /* Enter */