Skip to content

v0.3.0 — Statusline visual redesign

Choose a tag to compare

@Flagrare Flagrare released this 03 Jun 13:36

The statusline row owns its line now — persona-colored, glyph-rich, with progress bars instead of N/M fractions. No longer blends into other statusline content.

Public API

  • /tutor-statusline-icons: new command. Switches the segment's glyph set between emoji (default), nerd (Nerd Font), unicode (geometric), and ascii (pure 7-bit). No arg cycles through the four modes; prints a rendered preview. Choice persists in ~/.claude/llm-tutor/statusline.conf.

Behaviour

  • Persona color: the row renders in the active teacher's signature color — Echo cyan, Cipher purple, Vex red-orange, no-persona neutral. The wrapper extracts output_style.name from Claude Code's status JSON on each render, so /config → Output style switches recolor the row immediately.
  • Tier progress: XP-toward-next-tier renders as a 5-cell bar (Greenhorn ▰▱▱▱▱) instead of a flat tier name.
  • Concept progress: acquired concepts within the active topic render the same way. 2/5 → ▰▰▱▱▱.
  • Cycles warning: balance ≤ 1 glows yellow so you notice before the next /tutor-start would fail.
  • Install preview: /tutor-statusline-install now renders the actual segment in its output with a persona-aware line ("Active teacher: Echo"), so you see what you'll get before restarting.
  • Plugin upgrades self-heal: new SessionStart hook re-points the stable symlinks at the current $CLAUDE_PLUGIN_ROOT on every session start. Updating the plugin no longer requires re-running /tutor-statusline-install.

Bug Fixes

  • Cycles cap rendered in the terminal's default color after a stray ANSI reset; now stays dim so the eye focuses on the live balance.
  • Progress bar emitted a no-op ANSI escape when zero cells were filled; now silent.
  • ASCII mode's separator was -, which visually collided with the bar's empty-cell -; now |.

Notes