Kacheln und Fenster sprechen dieselbe Sprache
Alle Kacheln, Popovers und Fenster auf die Designschicht umgestellt: rund hundert gesetzte Schriftgrößen und 159 gesetzte Abstände und Radien sind jetzt Token. Übrig bleibt `spacing: 0` — das ist eine Aussage, keine geratene Zahl. Die Einstellungen bekommen eine Seitenleiste statt sieben Reitern, deren deutsche Beschriftungen zusammen 880 Punkte brauchten. Panel-Token stehen nicht mehr in Fenstern: dort gilt Systemsemantik, damit der Hellmodus nicht schwarz auf schwarz endet. Neu ist ein Schaufenster, das alle Bauteile nebeneinander zeigt — ohne das lässt sich eine Änderung an einem Token nur prüfen, indem man die App bedient, bis jede Kachel einmal zu sehen war. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9b600de9a9
commit
edb327cabe
@@ -0,0 +1,26 @@
|
||||
import AppKit
|
||||
|
||||
/// Wohin ein Fenster von Onyx gehört.
|
||||
///
|
||||
/// `NSWindow.center()` setzt etwas **oberhalb** der Bildschirmmitte. Bei einem
|
||||
/// nicht sehr hohen Fenster landet der Schließknopf damit knapp unter der
|
||||
/// Menüleiste — wer ihn treffen will, fährt durch die Auslösefläche der Notch
|
||||
/// und hat plötzlich das Panel vor sich.
|
||||
///
|
||||
/// Das gilt für jedes Fenster, das Onyx aufmacht, nicht nur für die
|
||||
/// Einstellungen. Deshalb steht es hier und nicht in einem der Controller.
|
||||
enum OnyxWindowPlacement {
|
||||
|
||||
/// Wirklich mittig, nicht „etwas unterhalb der Notch".
|
||||
///
|
||||
/// Ein erster Versuch mit 60 Punkten Abstand zur Oberkante war zu zaghaft:
|
||||
/// der Titelbalken lag weiter so hoch, dass man auf dem Weg zu seinen
|
||||
/// Knöpfen durch die Auslösefläche fuhr.
|
||||
static func center(_ window: NSWindow) {
|
||||
guard let screen = window.screen ?? NSScreen.main else { window.center(); return }
|
||||
let visible = screen.visibleFrame
|
||||
let size = window.frame.size
|
||||
window.setFrameOrigin(NSPoint(x: visible.midX - size.width / 2,
|
||||
y: visible.midY - size.height / 2))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user