From e18c0f2a23fc9e62a5be13af270cb81326ee6550 Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Tue, 23 Aug 2016 00:06:02 +0300 Subject: flowtop: Add horizontal scrolling over flows table Add left/right scrolling for flows list table to make possible see all the columns with a smaller display size. Handle 'Left' & 'Right' keypress to scroll left or right. Signed-off-by: Vadim Kochan Signed-off-by: Tobias Klauser --- flowtop.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'flowtop.c') diff --git a/flowtop.c b/flowtop.c index d98a7b6..1052e08 100644 --- a/flowtop.c +++ b/flowtop.c @@ -1190,22 +1190,24 @@ static void draw_help(void) mvaddnstr(row + 4, col + 3, "Up, u, k Move up", -1); mvaddnstr(row + 5, col + 3, "Down, d, j Move down", -1); - mvaddnstr(row + 6, col + 3, "? Toggle help window", -1); - mvaddnstr(row + 7, col + 3, "q, Ctrl+C Quit", -1); + mvaddnstr(row + 6, col + 3, "Left,l Scroll left", -1); + mvaddnstr(row + 7, col + 3, "Right,h Scroll right", -1); + mvaddnstr(row + 8, col + 3, "? Toggle help window", -1); + mvaddnstr(row + 9, col + 3, "q, Ctrl+C Quit", -1); attron(A_BOLD | A_UNDERLINE); - mvaddnstr(row + 9, col + 2, "Display Settings", -1); + mvaddnstr(row + 11, col + 2, "Display Settings", -1); attroff(A_BOLD | A_UNDERLINE); - mvaddnstr(row + 11, col + 3, "b Toggle rate units (bits/bytes)", -1); - mvaddnstr(row + 12, col + 3, "a Toggle display of active flows (rate > 0) only", -1); - mvaddnstr(row + 13, col + 3, "s Toggle show source peer info", -1); + mvaddnstr(row + 13, col + 3, "b Toggle rate units (bits/bytes)", -1); + mvaddnstr(row + 14, col + 3, "a Toggle display of active flows (rate > 0) only", -1); + mvaddnstr(row + 15, col + 3, "s Toggle show source peer info", -1); - mvaddnstr(row + 15, col + 3, "T Toggle display TCP flows", -1); - mvaddnstr(row + 16, col + 3, "U Toggle display UDP flows", -1); - mvaddnstr(row + 17, col + 3, "D Toggle display DCCP flows", -1); - mvaddnstr(row + 18, col + 3, "I Toggle display ICMP flows", -1); - mvaddnstr(row + 19, col + 3, "S Toggle display SCTP flows", -1); + mvaddnstr(row + 17, col + 3, "T Toggle display TCP flows", -1); + mvaddnstr(row + 18, col + 3, "U Toggle display UDP flows", -1); + mvaddnstr(row + 19, col + 3, "D Toggle display DCCP flows", -1); + mvaddnstr(row + 20, col + 3, "I Toggle display ICMP flows", -1); + mvaddnstr(row + 21, col + 3, "S Toggle display SCTP flows", -1); } static void draw_header(WINDOW *screen) @@ -1332,6 +1334,14 @@ static void presenter(void) if (skip_lines > SCROLL_MAX) skip_lines = SCROLL_MAX; break; + case KEY_LEFT: + case 'h': + ui_table_event_send(&flows_tbl, UI_EVT_SCROLL_LEFT); + break; + case KEY_RIGHT: + case 'l': + ui_table_event_send(&flows_tbl, UI_EVT_SCROLL_RIGHT); + break; case 'b': if (rate_type == RATE_BYTES) rate_type = RATE_BITS; -- cgit v1.2.3-54-g00ecf