From: Jim Warner Date: Wed, 6 Jun 2018 05:00:00 +0000 (-0500) Subject: top: force return to row 1 for thread mode transitions X-Git-Tag: v3.3.16~68 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9dd7a97c4a6861aa3a6217c8a03fc0d2397b2bef;p=procps-ng top: force return to row 1 for thread mode transitions This program does a good job of policing that vertical scrolled position, ensuring that total tasks are never exceeded. However, during transitions from thread mode to normal task mode (the 'H' toggle) that wasn't true. And while there was no real harm done, it did make the use of up/down arrow keys "appear" disabled especially if that scroll message was not displayed ('C' toggle). This patch simply forces a return to row #1 whenever a user toggles that display between thread & task modes. Signed-off-by: Jim Warner --- diff --git a/top/top.c b/top/top.c index 174379b4..76ae0dee 100644 --- a/top/top.c +++ b/top/top.c @@ -4802,6 +4802,7 @@ static void keys_global (int ch) { if (!CHKw(w, View_STATES)) show_msg(fmtmk(N_fmt(THREADS_show_fmt) , Thread_mode ? N_txt(ON_word_only_txt) : N_txt(OFF_one_word_txt))); + Winstk[0].begtask = Winstk[1].begtask = Winstk[2].begtask = Winstk[3].begtask = 0; // force an extra procs refresh to avoid %cpu distortions... Pseudo_row = PROC_XTRA; break;