]> granicus.if.org Git - procps-ng/commitdiff
top: restore ending ']' when summary graphs are scaled
authorJim Warner <james.warner@comcast.net>
Mon, 4 Oct 2021 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Fri, 8 Oct 2021 07:30:44 +0000 (18:30 +1100)
When a visual separator was added to 2 abreast summary
items in a recent commit, this bug was introduced. So,
from that earlier patch we'll revert one line of code.

The bug surfaced under an 80/even column terminal only
when that '4' toggle was off. With an an 81/odd column
screen, it existed in both single and 2 abreast modes.

[ this commit also goes the extra distance to ensure ]
[ two abreast mode maximizes available screen width. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c

index 2c92212c8f4c0bfb148768161607db76cb30fdc5..94a1ff87174d81ea077c5d3f141951909123bf2d 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -192,7 +192,7 @@ static int Numa_node_sel = -1;
            commands -- which are now both 4-way toggles */
 #define GRAPH_prefix  25     // beginning text + opening '['
 #define GRAPH_actual  100    // the actual bars or blocks
-#define GRAPH_suffix  1      // ending ']'
+#define GRAPH_suffix  2      // ending ']' + trailing space
 static float Graph_adj;      // bars/blocks scaling factor
 static int   Graph_len;      // scaled length (<= GRAPH_actual)
 static const char Graph_blks[] = "                                                                                                    ";
@@ -1842,6 +1842,7 @@ static void adj_geometry (void) {
    if (Screen_cols < DOUBLE_limit) Curwin->rc.double_up = 0;
    if (Curwin->rc.double_up) {
       Graph_len = (Screen_cols - DOUBLE_space - (2 * (GRAPH_prefix + GRAPH_suffix))) / 2;
+      Graph_len += (Screen_cols % 2) ? 0 : 1;
       if (Graph_len > GRAPH_actual) Graph_len = GRAPH_actual;
    }
    Graph_adj = (float)Graph_len / 100.0;