Quiero cambiar el fondo de pantalla de mi mac diariamente con imágenes de Microsoft Bing. He encontrado este script que descargue la imagen diaria automáticamente, pero sigo teniendo que configurar el fondo de pantalla automáticamente. ¿Es posible escribir un script (ya sea terminal o applescript) que establezca la imagen descargada como fondo de pantalla automáticamente?
Respuestas
¿Demasiados anuncios?
marco2012
Puntos
84
Resuelto. He utilizado el Bing Wallpaper.app se encuentra aquí que hace exactamente lo que necesitaba.
Mark Sherretta
Puntos
5272
Puedes utilizar este script tomado de aquí .
#!/usr/bin/env python
import os
import md5
import pprint
import sys
import subprocess
from time import strftime
from urllib import URLopener
from urllib2 import urlopen
from xml.dom.minidom import parseString
# Defines source and destination of image
rss_feed = 'http://feeds.feedburner.com/bingimages';
dst_dir = os.path.expanduser('~/Pictures/DeskFeed/')
SCRIPT = """/usr/bin/osascript<<END
tell application "Finder"
set desktop picture to POSIX file "%s"
end tell
END"""
def set_desktop_background(destination):
subprocess.Popen(SCRIPT%destination, shell=True)
def parseFeed(rss):
destination = "%s%s.jpg" % (dst_dir, strftime( "%y-%m-%d"))
if os.path.exists(destination):
sys.exit(0)
try:
rss_contents = urlopen( rss )
except:
print "Failed to read rss feed %s" % rss
return
rss_src = rss_contents.read()
rss_contents.close()
dom = parseString( rss_src )
firstitem = dom.getElementsByTagName('item')[0]
link = firstitem.getElementsByTagName( 'enclosure' )[0].getAttribute('url')
URLopener().retrieve(link, destination)
set_desktop_background(destination)
def main():
parseFeed(rss_feed)
if __name__ == "__main__":
main()
El único inconveniente es que tendrías que hacer un trabajo cron para ejecutarlo cada día.
tghw
Puntos
14244
Hice un aplicación de línea de comandos que puede cambiar el fondo de pantalla desde el terminal:
$ npm install -g wallpaper
$ wallpaper unicorn.jpg