From 2aca963f305fc313c71c0f9bddd9825a8ae80608 Mon Sep 17 00:00:00 2001 From: aristocratos Date: Fri, 24 Sep 2021 22:24:15 +0200 Subject: [PATCH] Fixed: Scrollbar position incorrect in small lists and selection not working when filtering --- src/btop_draw.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/btop_draw.cpp b/src/btop_draw.cpp index 1329a4eb..91a239a6 100644 --- a/src/btop_draw.cpp +++ b/src/btop_draw.cpp @@ -1347,7 +1347,7 @@ namespace Proc { //* Iteration over processes int lc = 0; for (int n=0; auto& p : plist) { - if (n++ < start or p.filtered or (proc_tree and p.tree_index == plist.size())) continue; + if (p.filtered or (proc_tree and p.tree_index == plist.size()) or n++ < start) continue; bool is_selected = (lc + 1 == selected); if (is_selected) { selected_pid = (int)p.pid; @@ -1451,7 +1451,7 @@ namespace Proc { //? Draw scrollbar if needed if (numpids > select_max) { - const int scroll_pos = clamp((int)round((double)start * (select_max - 2) / (numpids - (select_max - 2))), 0, height - 5); + const int scroll_pos = clamp((int)round((double)start * select_max / (numpids - select_max)), 0, height - 5); out += Mv::to(y + 1, x + width - 2) + Fx::b + Theme::c("main_fg") + Symbols::up + Mv::to(y + height - 2, x + width - 2) + Symbols::down + Mv::to(y + 2 + scroll_pos, x + width - 2) + "█";