diff options
| author | blasty <peter@haxx.in> | 2026-07-25 19:12:45 +0200 |
|---|---|---|
| committer | blasty <peter@haxx.in> | 2026-07-25 19:12:45 +0200 |
| commit | dc86630969c42e2769e0bde7329416d8646dae83 (patch) | |
| tree | 24756f671d0d1e9162683352f464cbe787522dab | |
| parent | decomp: drop stale navigation results so Esc isn't silently undone (diff) | |
| download | ida-tui-dc86630969c42e2769e0bde7329416d8646dae83.tar.gz ida-tui-dc86630969c42e2769e0bde7329416d8646dae83.tar.xz ida-tui-dc86630969c42e2769e0bde7329416d8646dae83.zip | |
nav: tell the user something is happening when Esc needs a decompile
Going back to a function that isn't currently decompiled has to decompile it
first, and until that lands both panes still show where you were — so Esc read as
a no-op and people press it again.
action_back now sets a status the moment it pops ("◂ back to <name>…"), which
_show_active then upgrades to "<name> — decompiling…" with the spinner overlay
up. Verified: immediately after Esc, with no pause at all, the status says
decompiling and dec.loading is True; it settles on the target a moment later.
Suite 192/0.
| -rw-r--r-- | idatui/app.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/idatui/app.py b/idatui/app.py index 3c23784..57ec7df 100644 --- a/idatui/app.py +++ b/idatui/app.py @@ -4077,7 +4077,12 @@ class IdaTui(App): if len(self._nav) > 1: self._nav_seq += 1 # invalidate any navigation still in flight self._nav.pop() - self._open_entry(self._nav[-1], push=False) + # Say something immediately: going back can need a decompile, and + # until it lands the panes still show where you were — with no + # feedback Esc reads as a no-op. + dest = self._nav[-1] + self._status(f"\u25c2 back to {dest.name}\u2026") + self._open_entry(dest, push=False) elif self.query_one("#left", FunctionsPanel).display: table.focus() else: |
