@@ -155,17 +155,19 @@ proc header(tui: Tui, tb: var TerminalBuffer, info: FullInfoRef, cnt: int,
155155 tb.write fgCyan, k, fgColor, " " , formatS (net.netInDiff,
156156 net.netOutDiff)
157157
158- proc graphData (stats: seq [StatV2 ], sort: SortField , width: int ): seq [float ] =
158+ proc graphData (stats, live: seq [StatV2 ], sort: SortField , width: int , isLive: bool ): seq [float ] =
159+ let data = if isLive: live else : stats
160+
159161 case sort:
160- of Cpu : result = stats .mapIt (it.cpu)
161- of Mem : result = stats .mapIt (int (it.memTotal - it.memAvailable).formatSPair ()[0 ])
162- of Io : result = stats .mapIt (float (it.io))
163- else : result = stats .mapIt (float (it.prc))
162+ of Cpu : result = data .mapIt (it.cpu)
163+ of Mem : result = data .mapIt (int (it.memTotal - it.memAvailable).formatSPair ()[0 ])
164+ of Io : result = data .mapIt (float (it.io))
165+ else : result = data .mapIt (float (it.prc))
164166
165167 if result .len < width:
166168 let diff = width - stats.len
167169 result .insert (float (0 ).repeat (diff), 0 )
168- elif result .len > width:
170+ elif isLive and result .len > width:
169171 result = result [^ width..^ 1 ]
170172
171173proc graph (tui: Tui , tb: var TerminalBuffer , stats, live: seq [StatV2 ],
@@ -175,9 +177,7 @@ proc graph(tui: Tui, tb: var TerminalBuffer, stats, live: seq[StatV2],
175177 tb.setCursorPos offset, y
176178 let w = terminalWidth ()
177179 let graphWidth = w - 12
178- let data =
179- if tui.forceLive or stats.len == 0 : graphData (live, tui.sort, graphWidth)
180- else : graphData (stats, tui.sort, 0 )
180+ let data = graphData (stats, live, tui.sort, graphWidth, tui.forceLive or stats.len == 0 )
181181 try :
182182 let gLines = plot (data, width = graphWidth, height = 4 ).split (" \n " )
183183 y += 5 - gLines.len
0 commit comments