Berechtigungen zeigen ihren Zustand live, Dock-Symbol wird wählbar

Die Einstellungen zeigten weiter "Anfragen", obwohl die Ortung längst lief:
authorizationStatus ist eine Abfrage, keine Beobachtung, und ich hatte sie
einmalig beim Öffnen gelesen. Jetzt meldet locationManagerDidChangeAuthorization
die Änderung, WeatherModel führt daraus einen beobachtbaren Wert, und die
Einstellungen aktualisieren sich, während das Fenster offen steht. Nach der
Zustimmung wird sofort geladen statt beim nächsten Anlauf.

Der Knopf "Systemeinstellungen öffnen" ganz unten zeigte fest auf den
Kalenderbereich — wer ihn beim Standort drückte, landete am falschen Ort. Es
gibt ihn nicht mehr; stattdessen führt jede Berechtigung in ihren eigenen
Bereich, und der Knopf erscheint nur im Zustand "abgelehnt". Bei "noch nie
gefragt" steht dort Anfragen, bei "erteilt" gar nichts: drei Zustände, drei
Antworten. Genau daran ist die erste Fassung gescheitert.

Dock-Symbol ist jetzt eine Einstellung, standardmäßig aus. Onyx läuft als
LSUIElement — das war Absicht und keine Auslassung: es hat kein Hauptfenster
und wäre im Dock ein Symbol, das beim Anklicken nichts öffnet, und es stünde im
Programmumschalter zwischen den Programmen, mit denen man arbeitet. Wer es
trotzdem will, schaltet es ein; die Wahl wird beim Start wieder angewendet.
This commit is contained in:
Guido Schmit
2026-08-10 21:24:49 +02:00
parent 7f6ded7de0
commit c0874c83b7
6 changed files with 503 additions and 398 deletions

View File

@@ -52,6 +52,9 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
let model = AppModel()
self.model = model
// Die gespeicherte Wahl gleich anwenden sonst steht Onyx nach einem
// Neustart wieder ohne Dock-Symbol da, obwohl es eingeschaltet ist.
NSApp.setActivationPolicy(model.showsDockIcon ? .regular : .accessory)
let coordinator = NotchCoordinator(policy: model.displayPolicy) { _, presentation in
NotchHostingView(