diff options
| author | blasty <blasty@local> | 2026-07-09 19:17:43 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-09 19:17:43 +0200 |
| commit | 868f54fed8f3cb911bf4ac8f7f6c50259585c484 (patch) | |
| tree | e25e2c47d952824f733308283674cfa88a97b581 | |
| parent | decompiler: line-number gutter (diff) | |
| download | ida-tui-868f54fed8f3cb911bf4ac8f7f6c50259585c484.tar.gz ida-tui-868f54fed8f3cb911bf4ac8f7f6c50259585c484.tar.xz ida-tui-868f54fed8f3cb911bf4ac8f7f6c50259585c484.zip | |
cap the function pane width so it doesn't dominate wide terminals
Was 42% (≈100 cols on a 240-wide term). Now 30% clamped to min 42 / max 44, and
columns tightened to 10/21/7 -> a stable ~41-43 cols that fits the content: 46%
on a 90-col term but only 18% at 240 (code area 194 vs ~140 before). Ctrl+B still
hides it. pilot suite 57/57.
| -rw-r--r-- | idatui/app.py | 8 | ||||
| -rw-r--r-- | tests/test_tui.py | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/idatui/app.py b/idatui/app.py index 918aadc..b5bb5f2 100644 --- a/idatui/app.py +++ b/idatui/app.py @@ -943,9 +943,9 @@ class FunctionsPanel(Vertical): self._filter.display = False yield self._filter table = DataTable(id="func-table", cursor_type="row", zebra_stripes=True) - table.add_column("Address", width=12) - table.add_column("Function", width=28) - table.add_column("Size", width=8) + table.add_column("Address", width=10) + table.add_column("Function", width=21) + table.add_column("Size", width=7) yield table @@ -984,7 +984,7 @@ class IdaTui(App): CSS = """ Screen { layout: vertical; } #panes { height: 1fr; } - #left { width: 42%; border-right: solid $panel; } + #left { width: 30%; min-width: 42; max-width: 44; border-right: solid $panel; } #func-table { height: 1fr; } #func-filter { dock: top; } DisasmView { width: 1fr; padding: 0 1; } diff --git a/tests/test_tui.py b/tests/test_tui.py index 9a1c650..0419842 100644 --- a/tests/test_tui.py +++ b/tests/test_tui.py @@ -51,6 +51,9 @@ async def run(db): loaded = await wait_until(pilot, lambda: table.row_count > 0) check("function list populated", loaded, f"rows={table.row_count}") + left = app.query_one("#left") + check("function pane width is capped (doesn't eat the screen)", + left.size.width <= 44, f"width={left.size.width}") got_all = await wait_until( pilot, lambda: "functions" in str(status.render()) and "…" not in str(status.render()), |
