Menüleistensymbol als Template-Bild
Das Glyph besteht aus zehn deckenden Pfaden in sehr dunklen Tönen (#1c1f1f bis #000000). Im App-Icon liegt es auf blauem Verlauf und liest sich als Kristall; allein auf einer dunklen Menüleiste war es schwarz auf schwarz. macOS färbt ausschließlich Template-Bilder ein, und die benutzen nur den Alphakanal — die Facetten verschmelzen dabei zu einer Silhouette. Das ist der bewusste Tausch: erkennbare Form in hellen wie dunklen Menüleisten statt Facetten, die man in keiner von beiden sieht. Eine Fassung mit durchsichtigen Facettenfugen behielte beides. Dafür muss das SVG entsprechend gezeichnet sein — als Outline statt als Flächen.
This commit is contained in:
@@ -174,9 +174,19 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
///
|
||||
/// Geladen wird dieselbe SVG-Datei, aus der auch das App-Icon gebaut wird —
|
||||
/// NSImage liest sie als Vektor (`_NSSVGImageRep`), sie skaliert also
|
||||
/// verlustfrei. Bewusst **kein** Template-Bild: als Schablone bliebe vom
|
||||
/// Kristall eine schwarze Silhouette. Der Preis ist, dass er sich nicht
|
||||
/// automatisch an helle und dunkle Menüleisten anpasst.
|
||||
/// verlustfrei.
|
||||
///
|
||||
/// **Als Template-Bild.** Das Glyph besteht aus zehn deckenden Pfaden in
|
||||
/// sehr dunklen Tönen (#1c1f1f bis #000000). Im App-Icon liegt es auf
|
||||
/// blauem Verlauf und liest sich als Kristall; allein auf einer dunklen
|
||||
/// Menüleiste ist es schwarz auf schwarz. macOS färbt ausschließlich
|
||||
/// Template-Bilder ein, und die benutzen nur den Alphakanal — die Facetten
|
||||
/// verschmelzen dabei zu einer Silhouette.
|
||||
///
|
||||
/// Das ist der bewusste Tausch: erkennbare Form in hellen wie dunklen
|
||||
/// Menüleisten statt Facetten, die man in keiner von beiden sieht. Eine
|
||||
/// Fassung mit durchsichtigen Facettenfugen behielte beides — dafür müsste
|
||||
/// das SVG entsprechend gezeichnet sein.
|
||||
///
|
||||
/// 18 pt ist die übliche Höhe; die Leiste ist 22 pt hoch und braucht oben
|
||||
/// und unten Luft.
|
||||
@@ -189,14 +199,17 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
glyph.draw(in: rect, from: .zero, operation: .sourceOver, fraction: 1)
|
||||
return true
|
||||
}
|
||||
image.isTemplate = true
|
||||
image.accessibilityDescription = "Onyx"
|
||||
return image
|
||||
}
|
||||
|
||||
// Ein Menüleisteneintrag ohne Bild wäre unsichtbar und die App darüber
|
||||
// unerreichbar — deshalb ein Rückfall statt eines leeren Knopfs.
|
||||
return NSImage(systemSymbolName: "circle.hexagongrid.fill",
|
||||
accessibilityDescription: "Onyx") ?? NSImage()
|
||||
let fallback = NSImage(systemSymbolName: "circle.hexagongrid.fill",
|
||||
accessibilityDescription: "Onyx") ?? NSImage()
|
||||
fallback.isTemplate = true
|
||||
return fallback
|
||||
}
|
||||
|
||||
private func observeMenuBarPreference() {
|
||||
|
||||
Reference in New Issue
Block a user