Dein Hintergrundbild liegt in ~/Desktop, und dorthin lässt macOS keine App ohne Freigabe. NSWorkspace gibt den Pfad trotzdem heraus, NSImage gibt danach still nil zurück — und die Vorschau blieb schwarz, ohne jeden Hinweis worauf. Gemessen: isReadableFile meldet false, das Laden schlägt fehl. Um eine Ordnerfreigabe zu bitten, nur um ein Vorschaubildchen zu malen, wäre die falsche Frage. Also wird jetzt vorher geprüft, ob sich die Datei lesen lässt, und wenn nicht, kommt ein Standardhintergrund von macOS — /System/Library/Desktop Pictures, von neu nach alt durchgesehen, hier landet es bei Sonoma. Die Bilder liegen auf jedem Mac und werden nur gelesen. Geladen über CGImageSource statt NSImage: die Vorlagen sind 6016 Punkte im Quadrat und zwanzig Megabyte schwer, gebraucht werden tausend Punkte. Und ein Hintergrundbild kann mehrere Bilder enthalten, hell und dunkel im selben HEIC. Das Dekodieren dauert gut hundert Millisekunden, deshalb läuft es neben dem Zeichnen statt davor — sonst hätte das Fenster beim Öffnen so lange gestanden. Danach liegt das Bild im Cache. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
65 KiB
65 KiB