¿Cómo obtengo de manera confiable el nombre de archivo de la imagen de fondo actual?

3

La última actualización de Lion rompió un simple osek Geeklet que usaba los eventos del sistema para buscar nombres de imágenes de fondo. La ejecución del comando asociado desde el terminal devuelve el mismo nombre, cada vez, aunque la imagen cambie cada minuto.

El siguiente código funcionó para la pantalla principal en mi Mac de dos cabezas hasta esta última actualización:

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"))'

La pantalla secundaria tiene una identificación codificada de manera rígida donde va "por defecto"; He usado las identificaciones numéricas, todo lo que se me ocurre.

Lo que es particularmente molesto es un volcado que usa solo el 'elemento de la lista de propiedades "Fondo" en el script anterior muestra los nuevos nombres de archivo con el "Apellido" apropiado. Pero al ejecutar el script anterior siempre se devuelve el mismos dos nombres, los archivos iniciales que se muestran en las preferencias de Desktop / Screen Saver.

No soy un AppleScript o System Events / plist guru, y se agradecería cualquier ayuda.

--UPDATE--

Modificar la lista de" Espacios "en OSX para establecer la configuración predeterminada los escritorios y algunos experimentos con el comando "predeterminados" llevaron a lo siguiente (menos que ideal debido a los identificadores incrustados, pero ...) solución 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"))'

Ciertamente estoy abierto a soluciones más elegantes, pero deben reflejar el cambio de nombre de archivo con "Aleatorio" establecido en las Preferencias de escritorio. Incluso me gustaría ver una versión más legible de lo que está publicado arriba, todo en una línea. ¡Estoy seguro de que hay mejores maneras de resolver esto!

    
pregunta Ken Gentle 17.05.2012 - 23:12

1 respuesta

2

Probar

/usr/libexec/PlistBuddy -c 'Print :Background:default:ImageFilePath' ~/Library/Preferences/com.apple.desktop.plist
    
respondido por el lhf 18.05.2012 - 00:19

Lea otras preguntas en las etiquetas