На скриншоте выше моя конфигурация собственного окружения рабочего стола plainDE, которое я начал разрабатывать 2 года назад. С последнего поста о plainDE прошло чуть больше года. За это время было выпущено 9 релизов, включая последний –– 0.7.1, в которых повышена стабильность и добавлено множество новых возможностей, например:
апплет StatusNotifierItem-трея;
поддержка вертикальных панелей;
апплет вывода CLI команды;
поддержка прозрачной темы;
возможность установить кастомный задний фон панели;
многое другое.
Релиз 0.7.1, среди прочего, добавляет возможность авто-скрытия панели и позволяет автоматически установить панель по центру экрана, тем самым предоставляя инструменты, необходимые для создания Dock-панели (пример таковой на скриншоте).
Апплет CLI Output предоставляет возможность создавать своего рода апплеты самостоятельно, которые могут выводить текст вывода CLI-приложения напрямую либо информацию, указанную в конфигурационном файле, в зависимости от текста из stdout или кода выхода.
В крайних релизах проведена работа по оптимизации и рефакторингу кода, что улучшает его читаемость и позволяет другому разработчику создать свой полнофункциональный апплет. На текущий момент разрабатывается часть документации, которая позволит сделать этот процесс еще проще.
Сейчас разрабатываются новые компоненты: файловый менеджер и демон уведомлений. Планируется, что они будут доступны во второй половине года.
Конфигурация на скриншоте не дефолтная и является одной из множества конфигураций, возможных с plainDE.
Год назад я начал разработку окружения рабочего стола на C++/Qt. Пока есть только панель и control center.
Целью разработки было легковесное окружение рабочего стола, которое в тоже время имеет широкие возможности кастомизации. Нужна была середина между легковесностью (как у того же LXDE) и кастомизацией, потому что в наиболее распространенных окружениях рабочего стола эти два понятия не сочетаются. В таких случаях обычно используется i3, но для его конфигурации нужно много времени, поэтому важным фактором также было user-friendly UI.
Среди доступных на текущий момент апплетов:
меню приложений;
список окон;
launcher’ы (иконки приложений на панели);
индикатор батареи;
переключатель рабочих столов;
управление воспроизведением (MPRIS);
регулятор громкости;
индикатор раскладки клавиатуры (флаг или ISO-код);
Панелей пока максимально может быть 2 (1 сверху и 1 снизу). Их можно делать нерастянутыми на всю ширину экрана и сдвигать. Из возможностей кастомизации внешнего вида: смена иконок, шрифта, акцента (любой из RGB), темы (их можно писать самому, лежат по пути /usr/share/plainDE/styles) и т.д. Список того, что можно изменить будет непрерывно пополняться. Для упрощения создания тем оформления можно будет их создавать из GUI.
Разработка активно ведется, поэтому есть много планов на будущее: вертикальные панели, написание своего оконного менеджера, поддержка Wayland, файловый менеджер, переход на QML, взаимодействие с сообществом (локализация, апплеты, artwork, …).
Потребление ресурсов в основном зависит от оконного менеджера. Сама панель потребляет не более 20-30 МБ ОЗУ. Дефолтный конфиг (Openbox + plainPanel) без композитного менеджера и pcmanfm –desktop потребляет в среднем 150-160 МБ ОЗУ на виртуальной машине. На нетбуке с 1 ГБ ОЗУ на дистрибутиве Arch Linux 32 результат ~120 МБ ОЗУ.