From a5bb4444ecb4987a4ce2b4ff72b030ce79740ab5 Mon Sep 17 00:00:00 2001 From: idatui Date: Sun, 9 Aug 2026 13:44:10 +0200 Subject: Graph: name the interpreter when pytriskel is missing ./ida-tui runs $IDATUI_PYTHON (default ~/ida-venv), which is not the repo .venv the tests use -- so the graph view can report pytriskel as missing while tests/test_graph.py is exercising both engines. "not installed" on its own sends you to check the wrong python; the status now names sys.executable, and docs/GRAPH_VIEW.md says to install into both. --- idatui/app.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'idatui/app.py') diff --git a/idatui/app.py b/idatui/app.py index 76aff62..b2b1722 100644 --- a/idatui/app.py +++ b/idatui/app.py @@ -20,6 +20,7 @@ import asyncio import os import re import subprocess +import sys import time from dataclasses import dataclass, field from enum import StrEnum @@ -2679,7 +2680,11 @@ class GraphView(NavMixin, ScrollView, can_focus=True): self._center_cursor() self.refresh(layout=True) got = self.lay.stats["engine"] if self.lay else "?" - note = "" if graph_triskel.available() else " (pytriskel not installed)" + # Name the interpreter. The launcher runs $IDATUI_PYTHON (default + # ~/ida-venv), which is NOT the repo .venv the tests use, so "not + # installed" on its own sends people to check the wrong python. + note = ("" if graph_triskel.available() + else f" (no pytriskel in {sys.executable})") self.app._status(f"graph: engine {self._engine} \u2192 {got}{note}") def action_center(self) -> None: -- cgit v1.3.1-sl0p