Skip to content

Allow pinning the GitHub theme to dark or light #4620

Description

@omgjlk

Describe the feature or problem you'd like to solve

The  github  color mode follows the reported OS or terminal appearance, and there's no way to pin it. I want the GitHub palette in dark, permanently, while macOS stays in Light during the day. That combination isn't reachable today.

Proposed solution

Requested change: accept an explicit variant, such as  /theme github-dark  and  /theme github-light , with plain  github  keeping today's automatic behavior. A separate "follow OS appearance" toggle would work equally well.

Example prompts or workflows

No response

Additional context

What happens now: my terminal profile is black, but macOS switches to Light on its daytime schedule. Every running CLI session flips to a white background at once, usually noticed on wake from sleep. Restarting fixes it, because startup derives colors from the terminal's actual palette instead.

The relevant behavior, from  app.js  in 1.0.81-9:

if (n() === "github") {
let c = l === "light" ? { bg: cse, fg: Pq } // #ffffff
: { bg: lse, fg: Rq }; // #0D1117
t(d => d && { ...d, ...c }); return
}

 github  is the only mode that hard-follows the light/dark signal. Every other mode re-queries the terminal's real colors, so those stay dark. That makes the palette choice and the follow-the-OS behavior one setting when they're really two.

Worth noting the workaround isn't obvious. Setting a fixed theme in the terminal emulator can work, since the terminal's  DECSET 996/997  reply takes priority over macOS appearance, but that changes the emulator's own window chrome as a side effect. There's no fix available from within the CLI.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:theming-accessibilityVisual themes, colors, dark/light mode, contrast, screen readers, i18n/RTL

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions