Send initial color scheme report when mode 2031 is enabled

Merged
LA
7mo ago
+506-19

Adds initial DSR 997 report when DECSET 2031 is received. Also ensures Termio DerivedConfig uses surface-level conditional state during config reloads.


Summary by cubic

Send the initial DSR 997 when DECSET 2031 is enabled and fix incorrect color scheme reporting after config reloads. Also adds cmux theme picker integration to the list_themes CLI for live preview and apply.

  • Bug Fixes

    • Mode 2031 reports the correct color scheme after config reloads by using each surface’s conditional state in Termio.
  • New Features

    • Immediately send DSR 997 when DECSET 2031 (report color scheme) is enabled.
    • Add cmux picker support in list_themes:
      • Read CMUX_THEME_PICKER_* env vars, write a managed theme override block, and restore on cancel.
      • Post macOS NSDistributedNotificationCenter reload notice to com.cmuxterm.themes.reload-config.
      • Live preview with target modes (both/light/dark), footer UI, and Enter to apply.
    • New cli-helper build step to build the Ghostty CLI helper.