Skip to content

feat(appearance): expose NeoPi themes and shared appearance settings #143

Open

Description

@PsychedelicShayna

Note

GPT-6 Astra on behalf of PsychedelicShayna

Contract

Appearance should list NeoPi's terminal themes and follow the native shared configuration rather than maintain an unrelated theme catalog. Preserve the new thread sidebar and useful context information. Relevant keyboard entry points should match their TUI equivalents where appropriate.

Acceptance

  • Discover actual native themes and the effective selected theme through native-owned interfaces, without copying a fixed theme list.
  • Theme changes persist in the intended native scope and reconcile across terminal and GUI.
  • Map native theme values into the shared Neo graphical design while preserving legibility, focus and contrast.
  • Keep GUI-specific appearance controls distinct from native shared settings; do not silently overwrite explicit choices.
  • No multi-second main-thread scan or remount loop. The immediate font-scanning freeze is separately repaired in fix(settings): keep Appearance responsive during font discovery #126.

Alt-M Models and the model switcher have their own concrete keyboard contracts. Do not import every terminal shortcut blindly over text editing or browser navigation.

Owner's words (verbatim)

2026-10-22 owner dictation — contiguous excerpt

appearance should list the themes that the terminal user interface has, not whatever the fuck this is. Key bindings, again, should also be based around terminal user interface, but I-I won't blame you for that. General has workspace rules, yes, that makes sense. yeah, search on origin, this all, yeah, this is all fine. In legacy features, having plan mode in there and context window indicator, I hate that. Like, I like having information about what the fuck's happening. I like the new sidebar, I don't like the legacy sidebar, I think it sucks. So I think it's good there, but Jesus, I just clicked appearance again. And it appears like it it just freezes the whole fucking thing. That's so shit. Alright, now I've clicked on it, now I'm gonna click away. It's so dumb. And it just takes an instant to click away.

Complete unedited message: #125 . The owner's words take precedence over this summary.

Activity

  1. added
    enhancementNew feature or request
    specThe issue is or contains an agreed implementation specification.
    agent: pendingReady for an out-of-the-loop (OTL) agent to pick up
    on Oct 22, 2026
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

    agent: pendingReady for an out-of-the-loop (OTL) agent to pick upenhancementNew feature or requestpriority: p2Useful planned workspecThe issue is or contains an agreed implementation specification.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions