El método anterior funciona, pero también hay otra forma (un poco brutal).
Necesita que LaunchAgent supervise el archivo que está cambiando y ejecute una acción cuando se cambie.
Guarde lo siguiente en un archivo en ~ / Library / LaunchAgents /, que puede usar como nombre de archivo 'com.yourname.programname.plist'). Reemplazar /full/path/to/desktoppicture
con la ruta completa a la imagen en su carpeta de Dropbox.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourname.programname</string>
<key>Program</key>
<string>/usr/bin/killall</string>
<key>ProgramArguments</key>
<array>
<string>killall</string>
<string>Dock</string>
</array>
<key>WatchPaths</key>
<array>
<string>/full/path/to/your/desktoppicture</string>
</array>
</dict>
</plist>
Una vez que haya modificado y guardado la lista de propiedades, abra la Terminal y escriba:
launchctl load -w ~/Library/LaunchAgents/com.yourname.programname.plist
(reemplazando yourname.programname con lo que haya llamado el archivo plist).
En este punto, cada vez que se cambie el archivo, se ejecutará killall Dock
, al salir de la aplicación Dock y forzar una actualización del escritorio. Esto es un poco brutal y podría ser molesto, ya que la actualización del Dock / Desktop tarda aproximadamente 1 segundo y, si lo hace, no puede usar el Control de la Misión y el Tablero, pero debería ser automático.
En caso de que desee desinstalar LaunchAgent, primero escriba:
launchctl unload -w ~/Library/LaunchAgents/com.yourname.programname.plist
(nuevamente, renombrando el archivo para que coincida con el tuyo), y luego elimina el archivo plist de ~ / LaunchAgents /