No description
Find a file
Niko Marmeladkov 41fa466410 Первая версия Lark DE
Композитор Wayland на smithay: сессия, xdg-shell, ввод, рендеринг через
OpenGL ES с отслеживанием повреждений. Протоколы xdg-decoration,
viewporter и presentation-time.

Окна в стиле Windows 11: заголовок с названием и кнопками, перетаскивание,
изменение размера за края и углы, сворачивание и разворачивание.

Панель задач с подписями окон, часами и переключателем рабочих областей.
Меню «Пуск» со списком приложений и поиском в текущей раскладке.
Переключение окон по Alt+Tab с подтверждением при отпускании Alt.

Собственный растровщик текста на fontdb + fontdue с гамма-коррекцией
покрытия: без хинтинга штрихи на мелком кегле выходят рваными.

Приложения запускаются в отдельной сессии D-Bus, иначе однопользовательские
программы находят уже запущенный экземпляр во внешней сессии и открывают
окно не в Lark.

127 тестов, clippy без замечаний.
2026-10-18 09:18:57 +03:00
docs Первая версия Lark DE 2026-10-18 09:18:57 +03:00
locales Первая версия Lark DE 2026-10-18 09:18:57 +03:00
scripts Первая версия Lark DE 2026-10-18 09:18:57 +03:00
src Первая версия Lark DE 2026-10-18 09:18:57 +03:00
tests Первая версия Lark DE 2026-10-18 09:18:57 +03:00
.gitignore Первая версия Lark DE 2026-10-18 09:18:57 +03:00
Cargo.lock Первая версия Lark DE 2026-10-18 09:18:57 +03:00
Cargo.toml Первая версия Lark DE 2026-10-18 09:18:57 +03:00
clippy.toml Первая версия Lark DE 2026-10-18 09:18:57 +03:00
README.md Первая версия Lark DE 2026-10-18 09:18:57 +03:00

Lark DE

Лёгкая среда рабочего стола на Rust для слабых устройств.

Что уже работает

  • Композитор Wayland на smithay: сокет, xdg-shell, вывод, ввод, рендеринг через OpenGL ES, отслеживание повреждений
  • Окон в стиле Windows 11: заголовок с названием и кнопками, перетаскивание, изменение размера за края и углы
  • Панель задач: кнопка «Пуск» с логотипом, подписи окон, часы, переключатель рабочих областей
  • Меню «Пуск»: список приложений и поиск, набираемый с клавиатуры в текущей раскладке
  • Управление окнами: свернуть, развернуть, закрыть, Alt+Tab
  • Рабочие области: четыре по умолчанию, переключение с клавиатуры
  • Свой растровщик текста на fontdb + fontdue
  • Приложения запускаются в Lark, а не во внешней сессии

Чего пока нет — XWayland, бэкенда DRM/KMS, индикаторов трея и приложений Фазы 4. Подробности в дорожной карте.

Целевое железо

Оптимизация под слабые устройства (например, icl bi1011):

  • Intel Celeron/Pentium (N-серия)
  • 4–8 ГБ RAM
  • Встроенная Intel UHD Graphics
  • eMMC/SSD

Технологический стек

Компонент Крейт Состояние
Композитор Wayland smithay используется
Рендеринг smithay (GlesRenderer) используется
Ввод и раскладка smithay + xkbcommon используется
Текст fontdb + fontdue используется
Конфигурация toml + serde используется
Логирование tracing используется
Мультиязычность fluent используется

Структура проекта

lark/
├── src/
│   ├── compositor/    # Wayland композитор, ввод, декорации, раскладка
│   ├── shell/         # Панель, меню «Пуск», переключатель окон, часы
│   ├── services/      # Фоновые службы (заготовки)
│   ├── apps/          # Свои приложения (заготовки)
│   ├── text.rs        # Растровщик текста
│   └── config.rs      # Конфигурация
├── locales/           # Переводы (.ftl)
├── docs/              # Документация
├── scripts/           # Проверка на виртуальном дисплее
└── tests/             # Интеграционные тесты

Быстрый старт

cargo build --release
./target/release/lark

Проверка без дисплея:

./scripts/dev-run.sh     # поднимает Xvfb и делает снимок экрана

Подробности — в сборке и запуске.

Документация

Лицензия

MIT