2017-06-19 34 views
0

我已經編寫了python腳本來更改桌面壁紙。killall Dock - 所有活動窗口最大化並出現在桌面上

後,我更改使用下面的代碼我壁紙:

app('Finder').desktop_picture.set(mactypes.File(imageAddress)) 

我已經加入

os.system("killall Dock") 

壁紙成功地改變了,但所有的活躍,但最小化的窗口最大化。我的問題是如何在不更改最小化/最大化窗口狀態的情況下刷新Dock?

我也曾嘗試以下方法:

tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Milky Way.jpg" 

osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Milky Way.jpg"' 

我的Python代碼如下:不使用killall Dock

我也問過同樣的問題在這裏

#from appscript import app, mactypes 
import subprocess 
import os 

def change_desktop_wallpaper(imageAddress): 
    #app('Finder').desktop_picture.set(mactypes.File(imageAddress)) 
    #os.system("Killall Dock") 
    Script = ''' osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/Users/princechawla/timepass/quotesWall/myquotewallpaper.jpg" ' ''' 
    os.system(Script) 
    #os.system(''' osascript -e tell application "Finder" to set desktop picture to POSIX file "/Users/princechawla/timepass/quotesWall/myquotewallpaper.jpg" ''') 
    #subprocess.Popen(Script , shell=True) 
    #os.system("killall Dock") 

工作的無:

killall Dock - all active windows maximize and appear on Desktop

這可能看起來像重複:

programmatically change the background of mac OSX

但沒有答案的任何問題的工作。

回答

0

這對我的作品在最新版本的OSX塞拉利昂的

tell application "System Events" to set picture of current desktop to POSIX file "/Library/Desktop Pictures/Milky Way.jpg" 
+0

是它在一個python腳本的工作?你用'os.system(script)'或者使用'subprocess.Popen(Script,shell = True)'來運行這個函數。我在我的Python腳本中替換了這個,壁紙沒有改變。 – nakulchawla09

+0

我只是將它作爲一個普通的舊AppleScript運行它。它會保持您的最小化和最大化Windows完好 – wch1zpink

+0

,這也不適合我。我不知道爲什麼。 – nakulchawla09