今天我创建了一个程序,从中获取当前最受欢迎的电影移动b.org的API,随机选择一个,并将我的桌面图像设置为所选电影的高清背景。我设置了一个cron作业,让它每小时运行一次,它工作得很好(screenshots)。你知道吗
我遇到的问题是,只有当前活动的桌面(加上未来的桌面)被更改。其他已打开的桌面均未更改(它们仍具有以前的桌面映像)。 如何更改活动和非活动桌面?你知道吗
from tmdb3 import set_key, set_cache, Movie
from appscript import *
import random, time, urllib, os
set_key('API_KEY_REMOVED_FOR_POST')
set_cache(filename='movies.cache')
def setDesktop(title, movieUrl):
# Save backdrop image
test = urllib.urlretrieve(movieUrl, "backdrops/" + title + ".jpg")
# Get Desktops
se = app('System Events')
desktops = se.desktops.display_name.get()
for d in desktops:
desk = se.desktops[its.display_name == d]
desk.picture.set(mactypes.File("backdrops/" + title + ".jpg"))
def removeBackdrops():
fileList = os.listdir('backdrops')
for file in fileList:
os.remove('backdrops/' + file)
def main():
# Delete backdrop
removeBackdrops()
# Get most popular movies
popularMovies = Movie.mostpopular()
# Limit results to 45 items.
limit = 45
# Init movie list
movieList = []
# Append movies to list
for x in range(0, limit):
movieList.append(popularMovies[x])
movie = random.choice(movieList)
# Set desktop
setDesktop(movie.title, movie.backdrop.geturl())
if __name__ == "__main__":
main()
第16行和第18行似乎只获得物理显示,而不是不同的桌面。你知道吗
使用OSX Yosemite和Python2.7.6。你知道吗
我很感激任何帮助!非常感谢你。你知道吗
我不知道如何通过编程来实现,但这里有一个想法。您知道您可以通过指向图像文件夹来设置桌面图像,并让它从该文件夹中的随机图像设置桌面。您甚至可以设置更改桌面图像的频率。你知道吗
如果你对你所有的桌面都这么做呢。将它们指向只有一个图像的文件夹。然后,当您得到电影图像,而不是以编程方式更改桌面,您只需将文件夹中的图像替换为电影图像。下次桌面设置为自动更改时,它们当然会选择您的电影图像。你知道吗
我没有试过这个,但它可能会工作,它可能足以满足您的需要。你知道吗
祝你好运。你知道吗
相关问题 更多 >
编程相关推荐