Виталий Алексеев

04 / 06 · Rust · smithay 0.7 · syngui

syndesktop

Окружение рабочего стола для Wayland на Rust, устроенное как Plasma: композитор, оболочка и «Параметры системы» — отдельные программы, всё настраивается одним файлом, и изменения применяются на лету.

Лицензия
MIT OR Apache-2.0
Платформа
Linux · Wayland
Пакеты
Cargo, из исходников
Статус
Ранняя стадия, сборка из исходников
Рабочий стол syndesktop: верхняя панель, 3D-док и проводник в теме «Синтвейв»
Рабочий стол syndesktop: верхняя панель, 3D-док и проводник в теме «Синтвейв»
программ: композитор, оболочка, параметры, проводник, снимок
5
встроенных тем и свои на MSS
14
страниц в параметрах системы
18
версия smithay в композиторе
0.7
01

Что это

syndesktop — окружение рабочего стола для Wayland на Rust, интерфейс нарисован на syngui. Устроено как Plasma: композитор, оболочка и «Параметры системы» — отдельные программы.

Почти всё настраивается через ~/.config/syndesktop/config.toml, изменения применяются на лету. «Параметры системы» правят этот файл через toml_edit, так что комментарии в нём сохраняются.

02

Возможности

  • Композитор на smithay 0.7: DRM/KMS с несколькими GPU, горячим подключением и DPMS или вложенное окно; серверные рамки, рабочие столы, раскладки floating / tile / columns / grid / monocle, прилипание к половинам экрана, обзор окон, Alt+Tab, правила окон, Xwayland и IPC.
  • Оболочка на syngui (layer-shell): обои, панели с апплетами, меню запуска, уведомления по D-Bus, OSD, меню питания, переключатель окон и экран блокировки (ext-session-lock + PAM).
  • Док в духе macOS и Latte Dock: значок под курсором вырастает, индикаторы окон, прыжки и частицы при запуске, 3D-наклон и 3D-полка с отражениями, разделы и папки, автоскрытие и умное скрытие.
  • Адаптивная панель, которая прижимается к краю во всю длину, когда окно развёрнуто или касается её, как в Plasma 6, — и панель вместо заголовка окна: заголовок, кнопки окна и глобальное меню для программ на Qt/KDE и GTK.
  • «Параметры системы» — 18 страниц, которые правят config.toml на месте.
  • Проводник в духе Windows 11: вкладки в заголовке, две панели, виды «значки / плитка / список / таблица», миниатюры, операции в фоне с паузой и отменой, Ctrl+Z, корзина, поиск и встроенный просмотрщик картинок (поворот по EXIF, HEIC).
  • Снимок экрана: экран застывает, область выделяется рамкой с ручками и лупой, щелчок берёт окно или монитор; дальше — копировать, сохранить, скопировать путь или открыть.
  • 14 встроенных тем — Nord, Catppuccin, Tokyo Night, Gruvbox, Rosé Pine, Everforest, Dracula, Kanagawa, Solarized и другие — и свои на MSS.
  • Управление через IPC: syndesktop msg windows, action "workspace 2", restart-shell и другое.
03

Установка

cargo build --profile fast-release
target/fast-release/syndesktop --nested   # try it in a window
makepkg -si                              # full session: then pick syndesktop at login

Сборка из исходников. PKGBUILD из репозитория ставит полноценный сеанс, который выбирается в менеджере входа; с --nested композитор запускается окном внутри текущего сеанса.

Полная инструкция — в README →

04

Требования и ограничения

  • Linux с Wayland; программы для X11 работают через Xwayland.
  • Готовых пакетов и пакета в AUR пока нет: сборка из исходников через Cargo, syngui клонируется рядом (PKGBUILD рассчитан на Arch Linux).
  • Ранний проект одного разработчика — шероховатости будут; логи пишутся в ~/.local/state/syndesktop/.
05

Скриншоты

Вайбкодинг в Claude Code

Как сделано

Код пишет модель; я решаю, что делать, описываю каждую задачу и проверяю результат на своей машине. Весь интерфейс — оболочка, док, параметры, проводник — нарисован на syngui, том же фреймворке, что и synthos.

Всё здесь написано вайбкодингом. github.com/VitaminDB/syndesktop