44
55from rich .text import Text
66from textual .widgets import Static
7+ import pingtop .models
78
89from pingtop .widgets .trend import render_detailed_trend_graph
910
@@ -33,11 +34,11 @@ def _fmt(value: object) -> str:
3334 def _graph_width (self , left_width : int ) -> int :
3435 if self .size .width <= 0 :
3536 return 32
36- available = self .size .width - left_width - self .COLUMN_GAP - 6
37- return max (16 , min (72 , available ))
37+ available = self .size .width - left_width - self .COLUMN_GAP - 8
38+ return max (16 , min (pingtop . models . MAX_HISTORY , available ))
3839
3940 def _left_column_lines (self , row : dict [str , object ]) -> list [str ]:
40- return [
41+ lines = [
4142 f"Host: { row ['target' ]} " ,
4243 f"IP: { row ['resolved_ip' ] or '-' } " ,
4344 f"State: { row ['state' ]} " ,
@@ -48,9 +49,14 @@ def _left_column_lines(self, row: dict[str, object]) -> list[str]:
4849 f"StdDev: { self ._fmt (row ['stddev_ms' ])} " ,
4950 f"Sent: { row ['seq' ]} " ,
5051 f"Loss: { row ['lost' ]} ({ float (cast (float , row ['loss_percent' ])):.1f} %)" ,
51- f"Error: { self ._truncate (str (row ['last_error' ] or '-' ))} " ,
5252 ]
5353
54+ last_err = row .get ('last_error' )
55+ if last_err not in (None , '' , b'' ):
56+ lines .append (f"Error: { self ._truncate (str (last_err ))} " )
57+
58+ return lines
59+
5460 def _left_column_width (self , lines : list [str ]) -> int :
5561 if not lines :
5662 return 0
0 commit comments