Skip to content

Improve menu bar icon crispness at small sizes #19

@ryota-kishimoto

Description

@ryota-kishimoto

Problem

The menu bar icon (18x18 / 36x36) appears blurry/fuzzy due to the complex bezier curves in the SVG generated by vtracer.

Investigation

  • The original gitpeek-menubar.svg contains thousands of bezier curve coordinates
  • At 18px/36px, these complex paths produce anti-aliasing artifacts that look "fuzzy"
  • ImageMagick's SVG renderer doesn't properly handle stroke-width
  • rsvg-convert renders strokes correctly but the bezier complexity is the root cause
  • Geometric SVG (circles + lines) renders crisp but changes the design feel

Possible approaches

  • Hand-craft a pixel-hinted SVG optimized for 18px display
  • Use SF Symbols (e.g. arrow.triangle.branch) for pixel-perfect rendering
  • Create pixel art PNG directly at 18x18 and 36x36
  • Simplify the original SVG paths while keeping the same visual design

Notes

  • rsvg-convert (librsvg) gives better results than ImageMagick for SVG→PNG
  • macOS menu bar icons use isTemplate = true so only shape matters (auto light/dark)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions