Всем привет.
В плане изучения технологии Qt Quick и языка программирования QML захотелось мне реализовать какую-нибудь забавную вещицу для рабочего стола KDE Plasma 5. Это мой первый pet-проект на этом стеке технологий.
Два года назад на Хабрахабре я увидел интересный пост про часы на кривых Безье. Jack Frigaard, разработчик этого забавного скетча, использовал реализацию языка программирования Processing на JavaScript — Processing.js и поделился с общественностью своим кодом.
Я решил сделать из этого скетча анимированую «живую» обоину для KDE Plasma 5 и в итоге вот что получилось:
GIF-анимация
Демонстрация на YouTube (записывал на слабом ноутбуке с i3 первого поколения, так что во время записи были подлагивания и проседания FPS).
Репозиторий с исходным кодом:
https://github.com/EXL/BezierClock
Я немного увеличил функциональность, добавил возможность регулировки множества опций и параметров:
Скриншот настройки в KDE Plasma 5
Вышло довольно занимательно. Для тех, кто хочет попробовать поиграться с кривыми Безье сам, я приготовил пакеты:
[Пакет для Arch Linux] | [Зеркало]
Ставить командой pacman -U bezier-clock-v1.0-1-any.pkg.tar.xz
или yaourt -U bezier-clock-v1.0-1-any.pkg.tar.xz
, если кто не знает.
[Общий пакет для остальных дистрибутивов GNU/Linux] | [Зеркало]
Устанавливается он в пользовательскую директорию ~/.local/share/plasma/wallpapers/
выполнением скрипта package.sh
. Удалить пакет можно либо ручками, либо выполнив ./package.sh -u
.
После установки в настройках рабочего стола появляется новый тип обоев: Bezier Clock, выбираете его и активируете обоину.
Чтобы экономнее расходовать ресурсы CPU, я советую выставить FPS Limit в район 25, а Animation Duration примерно на 30.
В общем, колдовство с этими параметрами поможет добиться плавной анимации и на низких FPS.
Спасибо за внимание! Чуть не забыл:
На скриншоте Arch Linux со старой KDE Plasma 5.5.3, всё дефолтное
Шрифты: Nokia Standard, Ubuntu Condensed, Consolas; сглажены Infinality
Везде использую замечательную тему Breeze
В плане приложений KDE-стека активно использую Dolphin, Okular, Kate и Yakuake, в качестве плеера Clementine, видео смотрю vlc или mpv.
Браузер — Chrome, почтовик — Thunderbid.
Повседневная IDE — Qt Creator, но имеется и тяжёлая артиллерия на подхвате: Eclipse и Android Studio.
Скриншот с Qt Creator в процессе создания Bezier Clock.
Ещё варианты оформлений: [1], [2], [3].
>>> Просмотр (1366x768, 48 Kb)