# Lark DE Лёгкая среда рабочего стола на Rust для слабых устройств. ## Что уже работает - **Композитор Wayland** на smithay: сокет, `xdg-shell`, вывод, ввод, рендеринг через OpenGL ES, отслеживание повреждений - **Панель задач** в раскладке Windows 10: «Пуск», строка поиска, рабочие области, кнопки окон с подписями, индикаторы батареи, Wi-Fi, звука и Bluetooth, часы и полоска рабочего стола - **Меню «Пуск»** «1 в 1» как в Windows 10: полоса с настройками и питанием, поиск, список установленных приложений по алфавиту (читается из `.desktop`-файлов), закреплённые плитки, прокрутка, поиск в интернете через `ddgs` - **Окна**: заголовок со значками кнопок, перетаскивание, изменение размера за края и углы, минимизация, разворот - **Рабочий стол**: обои (шесть вариантов) и значки приложений вместе с содержимым `~/Desktop` - **Настройки** в стиле Windows 11: оформление и обои, панель, рабочий стол, клавиатура (список раскладок и чем переключать), ввод, окна — применяются сразу, сохраняются в файл, есть сброс как общий, так и у каждой настройки - **Материальный интерфейс**: скругления, градиенты, акцентные подложки и значки, нарисованные фигурами на собственном холсте - **Свой растровщик текста** на `fontdb` + `fontdue` - **Приложения запускаются в Lark**, а не во внешней сессии Чего пока нет — XWayland, бэкенда DRM/KMS, окна настроек как отдельного процесса и приложений Фазы 4. Подробности в [дорожной карте](docs/ROADMAP.md). ## Целевое железо Оптимизация под слабые устройства (например, 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/ # Панель, меню «Пуск», настройки, рабочий стол, значки │ ├── canvas.rs # Программный холст: фигуры, значки, слои │ ├── services/ # Фоновые службы (заготовки) │ ├── apps/ # Свои приложения (заготовки) │ ├── text.rs # Растровщик текста │ └── config.rs # Конфигурация ├── locales/ # Переводы (.ftl) ├── docs/ # Документация ├── scripts/ # Проверка на виртуальном дисплее и сборка на другой машине ├── Dockerfile # Сборка и проверка в контейнере └── tests/ # Интеграционные тесты ``` ## Быстрый старт ```bash cargo build --release ./target/release/lark # вложенно, внутри графической сессии ``` Проверка без дисплея: ```bash ./scripts/dev-run.sh # поднимает Xvfb и делает снимок экрана ``` Сборка на другой машине (слабому устройству не обязательно компилировать проект самому): ```bash ./scripts/build-remote.sh niko@n1ko.dev 2241 --check ``` Подробности — в [сборке и запуске](docs/BUILD.md). ## Документация - [Архитектура](docs/ARCHITECTURE.md) - [Дорожная карта](docs/ROADMAP.md) - [Сборка и запуск](docs/BUILD.md) ## Лицензия MIT