Живые обои на Python Ctypes
Статью позаимствовал с открытых источников. Здесь очень хороший пример работы с ctypes. Многие просили достать хоть какую-то информацию по работе с этим инструментом. Исходники в конце статьи, попробуйте извлечь оттуда пользу :)
Используемые библиотеки
- Pillow - генерировать саму картинку на обои.
- Ctypes - понадобится чтобы получать разрешение экрана, позиции и действий мыши.
- Win32gui - отслеживание текущего окна.
Для начала хотелось просто сделать вывод дня недели и времени на центр экрана. Так я и поступил, но этого стало мало и я решил выводить нагрузку на ЦП и ОЗУ. Но приходилось часто обновлять рабочий стол (каждую секунду), а это оказалось не лучшая идея из-за нагрузки на ЦП.

По итогу пришлось вернуться назад к ежеминутному обновлению. Но при этом я решил добавить курсы валют и погоду. И получилось что-то вроде этого.


При нажатии на название города, в этом же месте появляется это:

И здесь нажатием на нужный город можно выбрать его и погода будет отображаться именно с этого города.
Как позже выяснилось я не учёл того момента, что реакция на нажатия будет происходить всегда, при любом открытом окне.
Порыв интернет пол часика - нашёл библиотеку win32gui позволяющую получить сфокусированное приложение, тем самым теперь мы реагируем только когда фокусировка на рабочем столе.
А почему бы не сделать кнопку "сменить тему"?
Через некоторое время имеем кнопку сменить тему в нижнем правом углу.

Свои темы добавить достаточно легко и просто.

Так же на скорую руку добавил автоматическое сохранение настроек и конфигураций которые вы можете редактировать сами (добавив свои курсы / города для погоды), открыв файл "\resources\cache\settings.json" как текст.

Можно изменить как и города с погодой, так и валюты. Функционал маленький, но реализовать можно огромное количество идей, нужна лишь фантазия.
Для автозагрузки вместе с виндовс достаточно засунуть один .bat файл в автозагрузку.
Заходим в автозагрузку: Win + R -> "shell:startup".
Создаём .bat файл в папке "Автозагрузка" и прописываем туда.

Версия питона может отличаться. pythonw.exe - запускает питон файлы без консоли (в фоне) Пример батника будет в исходнике.
Исходники:
https://github.com/Kislorod4ik/ClickableWallpapersOnPython