Files
codewhale/crates
CrepuscularIRIS 5bededf77c fix(settings): enable low_motion automatically in VS Code terminal
VS Code's integrated terminal sets TERM_PROGRAM=vscode. Its compositor
cannot keep up with the default 120 FPS redraw rate, producing rapid
flickering on some machines while other terminal apps (Terminal.app,
iTerm2) are unaffected (#1356).

Extend apply_env_overrides() to detect TERM_PROGRAM=vscode and
automatically activate low_motion mode (30 FPS cap, no fancy animations),
matching the existing NO_ANIMATIONS env-var pattern. This is a zero-
config fix: users running in VS Code get a stable display with no
settings change required. Users who want the full animation rate can still
set low_motion = false explicitly in their settings file — that file-level
value is already loaded before apply_env_overrides() is called, so an
explicit false in the file wins over this auto-detection.

Two tests added:
- vscode_term_program_forces_low_motion_on: TERM_PROGRAM=vscode enables
  low_motion and disables fancy_animations.
- non_vscode_term_program_does_not_force_low_motion: other well-known
  terminal programs (iTerm.app, Apple_Terminal, WezTerm, xterm-256color)
  are unaffected.

Signed-off-by: CrepuscularIRIS <serenitygp@qq.com>
2026-05-10 18:08:43 -05:00
..