Paths: arrow the TX sweep title, drop dead path_str, hscroll the trophy browser
The sweep table title used ASCII ->, TraceResult.path_str was an unused ASCII-arrow renderer, and the trophy browser truncated long walks at the fold — SelectScreen's own hscroll now slides the highlighted row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2c04fb5b96
commit
3b1718fa4d
3 files changed
+2
-9
No files matched your search
@@ -539,14 +539,6 @@ class TraceResult:
|
||||
return None
|
||||
return min(h.snr for h in self.hops)
|
||||
|
||||
@property
|
||||
def path_str(self) -> str:
|
||||
"""A compact ``a -> b -> c`` rendering of the resolved path."""
|
||||
if not self.hops:
|
||||
return self.target
|
||||
nodes = [h.node or f"hop{h.index}" for h in self.hops]
|
||||
return " -> ".join(nodes)
|
||||
|
||||
def edges(self, device_label: str = LOCAL_DEVICE_LABEL) -> list["HopEdge"]:
|
||||
"""Frame the per-hop SNR as directed ``origin -> destination`` edges.
|
||||
|
||||
|
||||
@@ -680,6 +680,7 @@ async def open_records(ctx: "AppContext") -> dict:
|
||||
items,
|
||||
footer_hint="↑↓ move · Enter open · Esc back",
|
||||
wrap=False,
|
||||
hscroll=True, # a long walk's row slides under ←→ instead of dying at the fold
|
||||
)
|
||||
picked = await session.run_screen(browser)
|
||||
if picked is CANCEL or picked is None or picked[0] == "back":
|
||||
|
||||
@@ -1091,7 +1091,7 @@ def tx_opt_table(result: TxOptResult) -> Table:
|
||||
A Rich :class:`Table` of TX level, target SNR, success rate, and sample count.
|
||||
"""
|
||||
table = Table(
|
||||
title=f"TX sweep · {result.admin_node} -> {result.target}",
|
||||
title=f"TX sweep · {result.admin_node} → {result.target}",
|
||||
border_style="muted",
|
||||
expand=False,
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user