diff options
| author | blasty <blasty@local> | 2026-07-25 19:12:45 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-25 19:12:45 +0200 |
| commit | cc44f5cf4cfc8cef057c129831734c4b0e334bb2 (patch) | |
| tree | 14481beb66b9338cedba9dab879c7cd428ac95f1 | |
| parent | decomp: drop stale navigation results so Esc isn't silently undone (diff) | |
| download | ida-tui-cc44f5cf4cfc8cef057c129831734c4b0e334bb2.tar.gz ida-tui-cc44f5cf4cfc8cef057c129831734c4b0e334bb2.tar.xz ida-tui-cc44f5cf4cfc8cef057c129831734c4b0e334bb2.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: |
