[PATCH 2/2] perf timechart: Initialize Textual attributes in constructors
From: Leo Yan
Date: Fri Oct 23 2026 - 09:21:45 EST
When Textual is unavailable, pylint cannot resolve the inherited
virtual_size and sub_title attributes, which triggers pylint warnings
and caused arm64 cross build failure:
************* Module ttimechart
python/ttimechart.py:1086:8: W0201: Attribute 'virtual_size' defined outside __init__ (attribute-defined-outside-init)
python/ttimechart.py:1422:12: W0201: Attribute 'sub_title' defined outside __init__ (attribute-defined-outside-init)
python/ttimechart.py:1496:8: W0201: Attribute 'sub_title' defined outside __init__ (attribute-defined-outside-init)
python/ttimechart.py:1510:8: W0201: Attribute 'sub_title' defined outside __init__ (attribute-defined-outside-init)
Initialize both attributes in their respective constructors. Use
Textual's default empty virtual size, with the actual geometry
computed when the timeline mounts or resizes.
Fixes: e7a72d691980 ("perf timechart: Add an interactive --tui mode")
Signed-off-by: Leo Yan <leo.yan@xxxxxxx>
---
tools/perf/python/ttimechart.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/python/ttimechart.py b/tools/perf/python/ttimechart.py
index 34ecf84e68c1db7f542070dde608ac09d662a1b2..16d2bbbdd98b23d64ab42643db42686cad98f0f0 100755
--- a/tools/perf/python/ttimechart.py
+++ b/tools/perf/python/ttimechart.py
@@ -1065,6 +1065,7 @@ class TimelineView(ScrollView):
self.can_focus = True
self.data = data
self.rows = rows
+ self.virtual_size = Size(0, 0)
self.cache: Dict[int, List[Cell]] = {}
self.cache_key: Tuple[float, float, int, Optional[ThemeColors]] = (0.0, 0.0, 0, None)
self.label_style = Style()
@@ -1332,6 +1333,7 @@ class TimechartApp(App):
"""
super().__init__()
self.input_name = input_name
+ self.sub_title = input_name
self.power_only = power_only
self.tasks_only = tasks_only
self.filters = filters
--
2.34.1