Skip to content

Proposal: give the start menu an Omarchy-native visual language #97

Description

@jamesyork-prog

Problem

The native start menu is clear and functional, but its System Settings-style cards and rounded Aqua controls create a visual handoff before the VM starts. For a project whose appeal is the cohesive Omarchy experience, the launcher could feel like the first screen of Omarchy rather than a separate Mac utility.

Proposed direction

Bring the visual language of omarchy.org into the existing native AppKit launcher:

  • use Omarchy's Tokyo Night palette and high-contrast status colors
  • use compact monospaced typography, square geometry, terminal-style section labels, and bracketed state controls
  • replace the most visibly Aqua-styled buttons, toggles, and selectors with a small set of reusable Omarchy controls
  • keep the native macOS window, traffic lights, scroll view, file panels, permission prompts, and destructive alerts

The custom-control boundary matters: custom controls should be used only where native Aqua styling conflicts with the Omarchy design. They still need keyboard focus, VoiceOver labels, hover/press/disabled states, sufficient contrast, and reduced-motion behavior.

Suggested implementation slices

  1. Add semantic theme tokens and reusable button/toggle/picker controls.
  2. Restyle the start-menu hierarchy, permission rows, and configuration sections without changing VM behavior.
  3. Add presentation tests for theme tokens, control state, focus/accessibility labels, fixed width, and scroll/titlebar clipping.

This should stay separate from compute, storage, and first-boot behavior so the visual work can be reviewed independently.

Working prototype

I have a working native prototype in my fork:

If this direction fits Try Omarchy, I would be happy to break the prototype into the smaller reviewable PRs above rather than sending one large visual rewrite.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions