App 2.47.0: now playing in Quest, Empire, Terminal and Sci-fi

Quest: a dragon tows a scroll. Empire: an eagle flies one. Terminal: a
PLAYING row. Sci-fi: the song in black on the top bar.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-11-02 22:20:11 +01:00
co-authored by Claude Sonnet 5.5
parent 83dc8b231d
commit d80221db15
10 changed files with 223 additions and 5 deletions
@@ -84,6 +84,14 @@ final class TerminalView extends ClusterCanvasView {
y += line;
print(c, row("TYRES", "FL " + v.tyreFl + " FR " + v.tyreFr + " RL " + v.tyreRl + " RR " + v.tyreRr), x, y, green);
y += line * 1.4f;
if (v.songTitle != null) {
// What plays, cut to the row's width.
String label = String.format(Locale.US, "%-9s", "PLAYING");
String s = v.songTitle + (v.songArtist == null ? "" : " — " + v.songArtist);
int fits = text.breakText(s, true, Math.max(0f, getWidth() - x - text.measureText(label)), null);
print(c, label + (fits < s.length() ? s.substring(0, Math.max(0, fits - 1)).trim() + "…" : s), x, y, green);
y += line;
}
boolean cursor = (SystemClock.uptimeMillis() / 500) % 2 == 0;
print(c, "[" + (v.clock.isEmpty() ? "--:--" : v.clock) + "] nils@mg4:~$ " + (cursor ? "█" : ""), x, y, green);