¿Script para cambiar el fondo de pantalla de Mac descargado automáticamente?

4

Quiero cambiar mi fondo de pantalla de Mac a diario con imágenes de Microsoft Bing. Encontré este script que descarga la imagen diaria automáticamente, pero aún tengo que configurar el fondo de pantalla automáticamente. ¿Es posible escribir un script (ya sea terminal o applecript) que establece la imagen descargada como fondo de pantalla automáticamente?

    
pregunta Ford1892 26.03.2015 - 17:36

3 respuestas

3

Resuelto! Utilicé el Bing Wallpaper.app encontrado aquí que hace exactamente lo que necesitaba.

    
respondido por el Ford1892 26.03.2015 - 18:00
3

Puede usar 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 necesitarías hacer un trabajo cron para ejecutarlo todos los días.

    
respondido por el Spotlight 26.03.2015 - 18:05
0

Hice una aplicación de línea de comandos que puede cambiar el papel tapiz del escritorio desde el terminal:

$ npm install -g wallpaper
$ wallpaper unicorn.jpg
    
respondido por el Sindre Sorhus 20.04.2015 - 22:04

Lea otras preguntas en las etiquetas