Come posso ottenere in modo affidabile il nome del file dell'immagine di sfondo corrente?

3

L'ultimo aggiornamento di Lion ha interrotto un semplice oseek di Geeklet che utilizzava Eventi di sistema per cercare i nomi delle immagini di sfondo. L'esecuzione del comando associato dal terminale restituisce lo stesso nome, ogni volta, anche se l'immagine cambia ogni minuto.

Il codice sotto funzionava per il display principale sul mio Mac a due punte fino all'ultimo aggiornamento:

osascript -e 'tell application "System Events" to get value of (property list item "LastName" of property list item "default" of property list item "Background" of property list file ((path to preferences as Unicode text) & "com.apple.desktop.plist"))'

Il display secondario ha un ID hard-coded dove va "default"; Ho usato gli ID numerici, tutto quello che riesco a pensare.

Ciò che è particolarmente fastidioso è un dump che usa solo l'elemento dell'elenco delle proprietà "Background" nello script precedente mostra i nuovi nomi di file con l'appropriato "LastName". Ma l'esecuzione dello script sopra restituisce sempre il stessi due nomi, i file iniziali mostrati nelle preferenze Desktop / Screen Saver.

Non sono un guru di AppleScript o eventi di sistema / plist e qualsiasi aiuto sarebbe apprezzato.

- UPDATE -

Modifica dei plist" Spaces "su OSX per impostare i valori predefiniti desktop e alcuni esperimenti con il comando "defaults" hanno portato al seguente (meno che ideale a causa degli ID incorporati, ma ...) soluzione alternativa:

osascript -e 'tell application "System Events" to get value of (property list item "LastName" of property list item "722492885" of property list item "" of property list item "spaces" of property list item "Background" of property list file ((path to preferences as Unicode text) & "com.apple.desktop.plist"))'

Sono certamente aperto a soluzioni più eleganti ma devono riflettere il nome file che cambia con "Random" impostato in Preferenze Desktop. Mi piacerebbe anche vedere una versione più leggibile di ciò che è pubblicato sopra - tutta una riga. Sono sicuro che ci sono modi migliori per scoprirlo!

    
posta Ken Gentle 17.05.2012 - 23:12
fonte

1 risposta

2

Prova

/usr/libexec/PlistBuddy -c 'Print :Background:default:ImageFilePath' ~/Library/Preferences/com.apple.desktop.plist
    
risposta data 18.05.2012 - 00:19
fonte

Leggi altre domande sui tag