«Живые» обои для компьютера на Python

от автора

Не ругайтесь сильно, программирование — лишь мое хобби, и я только учусь.

Идея ко мне пришла неожиданно, я просто задумался : «хм, а можно же совместить обои и погоду, но почему никто еще так не сделал?» просто даже ради того чтобы сделать.

ВНИМАНИЕ! Речь зайдет о самом проекте как таковом, здесь не будет исходного кода!

Итак, для моего проекта мне понадобилось :

  • Pillow — дабы можно было «генерировать» саму картинку которая и будет обоями

  • Pyautogui — для возможности делать скриншот

  • Pyowm — библиотека предоставляющая узнать погоду

  • Tkinter — чтобы создать какое-никакое окно нашего «приложения»

  • Немножко времени и терпения

Сама суть приложения состоит в том чтобы время от времени проверять погоду в вашем городе, и показывать вам ее на экране монитора, просто даже для удобства

Как и почему это все работает?

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

  1. папки, файлы и еще раз файлы

    при включении, приложении проверяет наличие папки в корне, если же оно ее не находит — то создает и скачивает в нее все что нужно для работы приложения, и еще раз проверяет ее и все ее внутренности

  2. все так же файлы

    после успешной загрузки всех нужных файлов, программа просит ввести ваш город , и затем записывает его в файл конфигурации чтобы иметь возможность затем обратиться к нему (в случае если программа была закрыта, или же компьютер был выключен а затем включен)

  3. что же там за окном?

    после всех этих действий, она узнает погоду и просто держит ее в памяти до нужного момента

  4. зависимость от времени, что?

    первым делом, я пожелал поберечь здоровье, а конкретно — глаза. ведь никому не нужно чтобы во время чаепития в 2 часа ночи, этот ужасно яркий рабочий стол заставил наши глаза перейти в жидкое состояние. к чему я клоню? приложение проверяет время на вашем устройстве, и если оно больше 6-ти вечера (т.е. 18:00), и меньше 5-ти утра (т.е. 05:00) то дальнейшая смена обоев будет проходить в «темном режиме», пусть и мелочь, но зато как же это «радует» глаз во всех смыслах.

  5. костыли и не то чтобы велосипеды

    сам процесс проходит так — после всего вышесказанного программа делает скриншот вашего экрана, чтобы знать где у него геометрический центр, ей ведь нужно сделать все красиво, верно? затем создает изображение залитое одним цветом, накладывает на него текст и просто ставит вам на обои , не больше не меньше. звучит «слишком» просто, не так ли? скажу свое мнение на этот счет — вам лишь показалось.

  6. вас тоже бесит это окно закрывающее обои?

    не стоит забывать, что держать на своем мониторе вечно открытую программу, не делающую практически ничего — как минимум странно , и весьма бесполезно, пусть ее и можно свернуть. но вот незадача, меня раздражает это окно в панели быстрого доступа, оно занимает место, им ведь никто не пользуется. я не знаю как можно здесь обойтись без возможности «свернуть» в трей, просто щелкаем на красный крестик иииии да! теперь я вижу обещанную погоду на своих обоях, и при этом ничего и нигде не занимает просто так место. к тому же, если мне будет лень свернуть браузер во время просмотра того же ютуба , я всегда могу просто навести курсор на иконку в трее, и узнать погоду!

  7. Как по мне, это хоть капельку да полезно и познавательно

    любой проект стоит того чтобы проверить свои силы, ведь это может быть не просто интересно! мое желание было поделиться своим творением с миром, и услышать критику/ваше мнение на этот счет.

Конечный результат:

прошу простить, но скриншот с белым фоном остался лишь со времен разработки, т.к. в последние времена компьютер я включаю лишь ближе к ночи (к слову, я очень долго думал , писать пост или нет)

Если же вам действительно понравилось, я могу оставить ссылку на скачивание, ведь приложение собрано в ехе-шник , и возможно в дальнейшем выпустить для него парочку апдейтов, идеи то есть).

Спасибо за внимание Хабр, удачи вам!

ссылка на оригинал статьи https://habr.com/ru/post/549638/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *