【问题标题】:killall Dock - all active windows maximize and appear on Desktopkillall Dock - 所有活动窗口最大化并出现在桌面上
【发布时间】:2017-11-21 02:15:24
【问题描述】:

我已经编写了 python 脚本来改变桌面壁纸。

使用以下代码更改壁纸后:

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代码如下:

#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就不行

我在这里问过同样的问题:

killall Dock - all active windows maximize and appear on Desktop

这可能看起来像:

programmatically change the background of mac OSX

但任何问题的答案都不起作用。

【问题讨论】:

    标签: python image applescript macos-sierra


    【解决方案1】:

    这适用于最新版本的 OSX Sierra

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

    【讨论】:

    • 它是否在 python 脚本中工作?您是使用 os.system(script) 还是使用 subprocess.Popen(Script, shell=True) 运行的?我在我的 python 脚本中替换了这个,壁纸没有改变。
    • 我只是将它作为一个普通的旧 AppleScript 运行。它会保持最小化和最大化的窗口完好无损
    • 这对我也不起作用。我不知道为什么。
    猜你喜欢
    • 2014-07-14
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多