From 9fa8a131c5b6cf291aaac608e4f508535ff86c64 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 21 Oct 2026 11:25:34 +0200 Subject: Dashboard: cap job titles in Recent jobs A rich-text QLabel never shrinks below its content, so a slackrepo job naming many packages widened the window past the screen. Titles longer than TITLE_MAX characters are cut with an ellipsis; the Jobs tab still shows them in full. Co-Authored-By: Claude Opus 5.5 --- sb_builder/dashboard.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sb_builder') diff --git a/sb_builder/dashboard.py b/sb_builder/dashboard.py index 3280168..0d68d6f 100644 --- a/sb_builder/dashboard.py +++ b/sb_builder/dashboard.py @@ -33,6 +33,7 @@ STATUS = {"ok": "#0ca30c", "aborted": "#fab219", "bad": "#ec835a", "failed": "#d "killed": "#fab219", "lost": "#ec835a"} GAP = 2 # px of surface between bar segments SPARK_POINTS = 60 # ~30 min at the default 30 s dashboard refresh +TITLE_MAX = 90 # chars of a job title in Recent jobs def upgrade_color(ts, now=None): @@ -377,7 +378,10 @@ class Dashboard(QWidget): if color: icon = f'{icon}' dur = None if "start" not in j else j.get("end", time.time()) - j["start"] - rows.append(f"{icon} {html.escape(job_title(j))}  " + title = job_title(j) + if len(title) > TITLE_MAX: # a rich-text label never shrinks: cap it or it widens the window + title = title[:TITLE_MAX - 1] + "…" + rows.append(f"{icon} {html.escape(title)}  " f"{j['status']}  " f"{fmt_time(j.get('start', j['created']))}  " f"{fmt_duration(dur)}") -- cgit v1.2.3