Skip to content

Instantly share code, notes, and snippets.

@yanyaoer
Created July 29, 2011 01:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yanyaoer/1112975 to your computer and use it in GitHub Desktop.
Save yanyaoer/1112975 to your computer and use it in GitHub Desktop.
set/get wallpaper from simpledesktops.com on mac OS
#!/usr/bin/env python
# vim: set et sw=4 ts=4 sts=4 fdm=syntax ff=unix fenc=utf8:
'''
set/get wallpaper from simpledesktops.com on mac OS
require appscript module, sudo easy_install appscript
'''
import urllib2, re, os
from appscript import *
path = './wallpaper/'
display_name = 'DELL E2311H' # my second display, the default display_name is 'Color LCD'
def getWallPaper():
url = 'http://simpledesktops.com/browse/'
req = urllib2.urlopen(url).read()
p = re.compile(r'<img src="http.*\.png')
return p.findall(req)
def setWallPaper(wallpaper):
se = app('System Events')
desktops = se.desktops.display_name.get()
desk = se.desktops[its.display_name == display_name]
desk.picture.set(mactypes.File(wallpaper))
if __name__ == "__main__":
imgs = getWallPaper()
for (idx, img) in enumerate(imgs):
img = re.sub('\.([0-9]+)x([0-9]+)_q100\.png', '', img[10:])
filename = re.sub('^.*/','',img)
os.system('wget -c '+img+' -P ./wallpaper >/dev/null 2>&1 &')
if idx is 0:
wallpaper = path+filename
setWallPaper(wallpaper)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment