Skip to content

Add a branded Speaky menu bar icon - #7

Open
amrshawqy wants to merge 1 commit into
bedriyan:mainfrom
amrshawqy:feature/custom-menu-bar-icon
Open

Add a branded Speaky menu bar icon#7
amrshawqy wants to merge 1 commit into
bedriyan:mainfrom
amrshawqy:feature/custom-menu-bar-icon

Conversation

@amrshawqy

Copy link
Copy Markdown

Summary

Replace the generic microphone in the macOS menu bar with a compact, recognizable Speaky mascot icon.

The new icon carries the character's defining pen nib, face, body, arms, and feet while remaining legible at native menu-bar size.

Why

The existing mic.fill symbol communicates audio, but it does not identify which application owns the menu-bar item. It is especially easy to confuse with macOS microphone indicators and other recording utilities.

A stable branded icon makes Speaky immediately recognizable and better matches the existing app icon and in-app character.

Design

  • Custom 18 × 18 monochrome vector based on the Speaky mascot.
  • Native macOS template rendering for automatic light, dark, selected, and high-contrast appearances.
  • Preserved vector representation, with 1× and 2× renditions generated by the asset catalog.
  • Stable app identity in the menu bar instead of changing between unrelated generic symbols.
  • Explicit Speaky accessibility label.

Recording and transcription state remain visible through the menu content, main window, and notch overlay.

Changes

  • Add SpeakyMenuBarIcon.imageset containing the template SVG and asset metadata.
  • Use the custom asset in MenuBarExtra.
  • Remove the now-unused system-symbol mapping from AppState.

The implementation is limited to two small code edits and one self-contained asset set. It adds no runtime image processing, dependencies, or platform-specific state management.

Validation

  • Visually inspected at its native 18-point menu-bar size.
  • Verified the compiled asset contains:
    • 18 × 18 1× template rendition
    • 36 × 36 2× template rendition
    • preserved vector representation
  • All 45 tests passed across 10 suites.
  • Universal Release build succeeded for arm64 and x86_64.
  • Strict code-signature verification passed.
  • Installed Release product matched the verified build byte-for-byte and launched successfully.

The integration build used the locked dependency versions proposed in #4.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant