Бесплатный аналог Wallpaper Engine на Python

Вступление


Приветствую всех, кто решил поинтересоваться данной темой. В этом посте я хочу поделиться с Вами бесплатным и кривоногим(пусть и рабочим) аналогом Wallpaper Engine из Steam, написанным на одном Python с использованием некоторых сторонних библиотек и модулей.

Почему он носит такой статус, разберемся по ходу повествования. Перед тем, как я начну, отмечу, что до этого момента не занимался разработкой десктопных приложений, да и вообще почти забыл что такое код. Буквально за 20-30 дней подтянулся с уровня плинтуса и решил «позабавиться». Не буду долго разглагольствовать. Приступим к сути.

Используемый софт/библиотеки и т.п.


  • Python версии 3.8.2
  • Модуль PyQt5 версии 5.14.2
  • Библиотека Weebp
  • Видеоплеер MPV
  • Бубен и пара ритуальных манускриптов
  • Литература
  • Google

Задумка. Цель проекта


На самом деле все очень просто. Платить не хочешь — делай сам (да, для студента 100 рублей это деньги). Целью является апгрейд навыков в сфере Python и программирования в целом. И да, есть еще субъективные причины, о которых лучше помолчать (Сдвинуть с рынка Wallpaper Engine и захватить Млечный путь).

Первая версия. Схема работы


Для работы приложения я использовал библиотеку Weebp и видеоплеер MPV (Это рекомендовано автором данного Open-Source проекта). Смысл прост и понятен: Weebp создает «окно» и делает его неактивным и не контактным. Далее «вешается» плеер MPV и запускается видео-обои. Не смотря на эту структуру и кривой код, программа показывает более чем хорошую производительность.

Надо придумать название проекта, не ноунеймом же быть. Моя фантазия наколдовала для этого детища имя, не ушедшее дальше Wallpaper Engine.

Перед Вами Wallpaper Layout версии 1.0.

image
Да, версия 1.0 являлась консольной. Я думаю, это неудивительно.

Далее были правки. Много правок. Все это привело к версии 1.1 и данному виду

image

На тот момент Wallpaper Layout имел 2 предустановленных пресета, которые мог выбрать юзер.

Далее ситуация улучшилась и уже в версии 1.2 появился более привлекательный и лаконичный интерфейс, а также возможность загружать свои пресеты.

image

image

На данный момент все детали GUI носят англоязычные обозначения.

Final Cut и установка


С использованием новой графической оболочки пришли некоторые недоработки и жуки. На фото один из них — жук пробрался в шрифты и все погрыз.

image

Все исправилось одной строчкой в файле GUI

image

После всех фиксов появилась стабильная на данный момент версия 1.2.2, которую Вы можете загрузить и опробовать. Все о данной программе я Вам рассказал, поэтому бояться нечего. Процесс установки самый простой.

image

image

image

Создавайте ярлык и пользуйтесь.

image

image

image

Планы на будущее и правки проекта


Ничто в этом мире не может быть идеальным (кроме читателей, конечно же). Любое творчество и процесс создания требуют улучшений и исправлений. Поэтому поделюсь с Вами о планах, связанных с разработкой Wallpaper Layout

  1. Жук погрыз иконку приложения в левом верхнем углу при запуске. Будет исправлено
  2. Добавится возможность удобной загрузки пользовательских пресетов через модальное окно и исчезнут форматы файлов в выпадающем списке
  3. Исчезнут мелькающие консоли при установке обоев
  4. Изменится внешний вид приложения
  5. Реализуется сохранение и автозапуск Ваших обоев вместе со стартом Windows
  6. И многое другое, до чего дойдут руки

Если у Вас есть пожелания, вопросы или рекомендации, то я с радостью все выслушаю и приму к сведению.

Спасибо за внимание.

Источники. Другая информация


Для обучения использовал книгу Н.А.Прохаренок «Python 3 и PyQt5. Разработка приложений».
Библиотеку Weebp можно найти поиском в Google
Видеоплеер MPV не является моей собственностью.
За основу идеи взял видеоролик с канала Howdy Ho. К сожалению, автор забросил свой проект на первой же стадии.
Tags:
python 3, windows, pyqt5, wallpapers, обои для рабочего стола, анимированные обои

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.