diff options
| -rw-r--r-- | pywal/wallpaper.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/pywal/wallpaper.py b/pywal/wallpaper.py index 06dde63..6d407cd 100644 --- a/pywal/wallpaper.py +++ b/pywal/wallpaper.py @@ -1,4 +1,5 @@ """Set the wallpaper.""" +import ctypes import os import shutil import subprocess @@ -95,6 +96,17 @@ def set_mac_wallpaper(img): subprocess.call(["killall", "Dock"]) +def set_win_wallpaper(img): + """Set the wallpaper on Windows.""" + # There's a different command depending on the architecture + # of Windows. We check the PROGRAMFILES envar since using + # platform is unreliable. + if "x86" in os.environ["PROGRAMFILES"]: + ctypes.windll.user32.SystemParametersInfoW(20, 0, img, 3) + else: + ctypes.windll.user32.SystemParametersInfoA(20, 0, img, 3) + + def change(img): """Set the wallpaper.""" if not os.path.isfile(img): @@ -105,6 +117,9 @@ def change(img): if OS == "Darwin": set_mac_wallpaper(img) + elif OS == "Windows": + set_win_wallpaper(img) + elif desktop: set_desktop_wallpaper(desktop, img) |
