Starry sky wallpaper at night (Python)

A story about making a script that changes the Windows wallpaper according to the time.

point:

import ctypes
import os
import datetime
import time


image_dir = r'D:\wallpaper'
current_image_name = None

while True:
    now = datetime.datetime.now()

    if now.hour < 6 or 19 <= now.hour:
        new_image_name = 'star.png'
    elif 17 <= now.hour:
        new_image_name = 'sunset.jpeg'
    else:
        new_image_name = 'daytime.jpeg'
    
    if new_image_name != current_image_name:
        abs_file_name = os.path.join(image_dir , new_image_name)
        ctypes.windll.user32.SystemParametersInfoW(20, 0,  abs_file_name, 0)
        current_image_name = new_image_name

    time.sleep(1)  # check every 1 sec

Since it flickers when switching, check for changes and execute SystemParametersInfoW only when there is a change.

It may be interesting to change it every season. It would be nice if the wallpaper looks like a window and you can feel the time and seasons.

Recommended Posts

Starry sky wallpaper at night (Python)
python at docker
[Python] Competitive template [At Coder]