From 6b5e65fc429ba7173cab7f1862c63c853d80411d Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 25 Aug 2017 20:07:09 +1000 Subject: [PATCH] wallpaper: Added support for Windows. --- pywal/wallpaper.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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)