4 Stimmen

Das Hintergrundbild einzelner Desktops in OSX Lion einrichten

Ich habe ein kleines PyObjC-Skript, um Desktop-Bilder zu einer bestimmten Datei zu ändern (die von flickr abgerufen wird). Es setzt ein unterschiedliches Bild für jeden Bildschirm, falls Sie mehrere haben. Das hat unter Snow Leopard gut funktioniert, aber unter Lion können Sie Hintergrundbilder für einzelne Desktops (früher Spaces genannt) festlegen, während unter Snow Leopard alle Spaces denselben Hintergrund teilten.

Derzeit verwende ich setDesktopImageURL:forScreen:options:error: auf [NSWorkspace sharedWorkspace], aber das setzt das Bild nur auf dem aktuellen Space/Desktop.

Irgendwelche Ideen, wie ich über die Desktops iterieren und auf jedem Bildschirm Bilder setzen könnte? Vielen Dank!

2voto

NickFitz Punkte 33461

Sie können alle Bildschirme als NSArray mit [NSScreen screens] erhalten und dann über dieses Array iterieren, um das Desktop-Bild für jeden Bildschirm festzulegen. Apple hat einige Beispielscode: http://developer.apple.com/library/mac/#samplecode/DesktopImage/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008860

2voto

Aaron Dodson Punkte 116

Auch wenn ich nicht glaube, dass es eine unterstützte API dafür gibt, sollten Sie es mit dem Befehlszeilen-Dienstprogramm defaults tun können. Die Desktop-Bilder werden auf Basis des jeweiligen Bereichs in ~/Library/Preferences/com.apple.desktop.plist gespeichert und können wie in Clintons Antwort hier beschrieben gelesen und geschrieben werden: Wie kann ich das Hintergrundbild programmatisch in Mac OS X ändern?. Sie müssen den Befehl natürlich ein wenig ändern, um das Bereichsverzeichnis anstelle des Standardverzeichnisses zu ändern, aber es sollte ansonsten genauso funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X