The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск labwc 0.20, композитного сервера для Wayland

26.05.2026 08:18 (MSK)

Опубликован выпуск проекта labwc 0.20 (Lab Wayland Compositor), развивающего композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland). Код проекта написан на языке Си и распространяется под лицензией GPLv2. Значительное увеличение версии (с 0.9 до 0.20) объясняется синхронизацией с нумерацией версий библиотеки wlroots.

Labwc задействован в графическом окружении дистрибутива Raspberry Pi OS и опционально поддерживается в средах рабочего стола Xfce и LXQt. Среди целей проекта labwc упоминаются минимализм, компактная реализация, широкие возможности настройки и высокая производительность. Принципиально не поддерживаются анимированные эффекты, градиенты и пиктограммы, за исключением кнопок для окон. В качестве основы используется библиотека wlroots, развиваемая разработчиками пользовательского окружения Sway и предоставляющая базовые функции для организации работы композитного менеджера на базе Wayland.

Возможно подключение надстроек с реализацией таких функций, как создание скриншотов, отображение обоев на рабочем столе, размещение панели и меню. Для запуска X11-приложений в окружении на базе протокола Wayland поддерживается использование DDX-компонента XWayland. Тема оформления, базовое меню и горячие клавиши настраиваются через файлы конфигурации в формате xml. Имеется встроенная поддержка экранов с высокой плотностью пикселей (HiDPI).

Помимо встроенного базового меню, настраиваемого через файл menu.xml, можно подключить сторонние реализации меню приложений, такие как bemenu, fuzzel и wofi. В качестве панели можно использовать Waybar, sfwbar, Yambar или LavaLauncher. Для управления подключением мониторов и изменением их параметров предлагается использовать wlr-randr или kanshi. Блокировка экрана осуществляется при помощи swaylock.

В новой версии:

  • Осуществлён переход на выпуск библиотеки wlroots 0.20, в котором реализована поддержка возможностей для управления цветом, HDR, настройки внешнего вида курсора и виртуальных рабочих столов.
  • Реализована частичная поддержка захвата контента, выводимого на Wayland-поверхности верхнего уровня (toplevel-capture), позволяющая создавать скриншоты и записывать скринкасты для содержимого отдельных окон. Реализация пока не охватывает дочерние и всплывающие окна приложений, запущенных через XWayland, а также вложенные Wayland-поверхности xdg.
  • Добавлена поддержка расширенного диапазона яркости с возможностью вывода на мониторы, поддерживающие HDR10 (работает только при использовании бэкенда отрисовки на базе Vulkan).
  • Реализован ускоренный переход к элементам меню через нажатие первой буквы названия. Например, для запуска Firefox достаточно вызвать меню комбинацией "Meta+a" и нажать букву "f".
  • Добавлена комбинация клавиш Super-d для скрытия и возвращения окон. Для настройки собственных комбинаций клавиш с данным действием предложен параметр ToggleShowDesktop.
  • Добавлена опция командной строки "-t" (--title) для выставления заголовка окна при вложенном запуске labwc.
  • В утилиту labnag добавлены опции "--details-border-color" и "--details-margin" для выставления цвета и отступа области вокруг содержимого.
  • Обеспечена установка systemd-юнита labwc-session.target при наличии systemd.
  • В файл конфигурации добавлена настройка "<focus><raiseOnFocusDelay> для внесения задержки перед переключением фокуса.
  • В опцию "<libinput><device><scrollMethod>" добавлена поддержка метода прокрутки "onbutton", а также реализована отдельная опция "<libinput><device><scrollButton>" для прокрутки содержимого с использованием кнопок.
  • Добавлена опция <tabletTool minPressure="0.0" maxPressure="1.0" /> для настройки диапазона чувствительности к нажатию для графического планшета.
  • В файл конфигурации добавлена опция <privilegedInterfaces> для ограничения доступа к привилегированным протоколам.
  • Добавлен отладочный параметр DebugToggleKeyStateIndicator для отображения поверх содержимого сведений о состоянии клавиш.
  • Добавлена поддержка Wayland-протоколов для управления цветом: color-representation-v1 и color-management-v1.
  • Реализован интерфейс wl_fixes, позволяющий решать проблемы с другими программными интерфейсами базовых протоколов, которые не могут быть устранены собственными возможностями этих интерфейсов. Например, запрос "wl_fixes::destroy_registry" позволяет ликвидировать объект wl_registry, после чего клиент не сможет его использовать, а композитный сервер прекратит передачу через него событий.


  1. Главная ссылка к новости (https://github.com/labwc/labwc...)
  2. OpenNews: Выпуск композитного сервера Weston 15.0
  3. OpenNews: Выпуск labwc 0.9.0, композитного сервера для Wayland
  4. OpenNews: Выпуск miracle-wm 0.9, композитного менеджера на базе Wayland и Mir
  5. OpenNews: Выпуск композитного сервера Niri 26.04, использующего Wayland
  6. OpenNews: Выпуск композитного сервера Hyprland 0.55
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65529-labwc
Ключевые слова: labwc, wayland
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kravich (ok), 08:59, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Гигачад в мире Wayland-композиторов
     
     
  • 2.9, Аноним (9), 10:13, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Гигачад

    Судя по скринам, этот манагер не умеет "позицинировать" (с) окна логически, как Свей.

     
     
  • 3.10, kravich (ok), 10:17, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, к счастью он такой чушью не занимается
     
  • 3.17, Аноним (17), 11:25, 26/05/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

  • 1.2, Аноним (2), 09:16, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Wayland это хорошо!
     
  • 1.3, Anonim (??), 09:19, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Когда надо просто запустить программу с рабочего стола...
     
     
  • 2.4, Аноним (4), 09:29, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Когда Ос, остается Ос,
    Оболочка для запуска приложений, которая по идее вообще, должна минимально жрать ресы.
    Ну в данном случае композитор, как часть Ос.
    А не Kde.
     

  • 1.5, Аноним (5), 09:44, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Админ: На скрине символика государства убийц.
     
     
  • 2.8, Аноним (8), 10:07, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Хм, а вот Wallpaper Alt linux.
    https://my-evm.ru/wp-content/uploads/2015/04/alt-linux-870x400.webp
    Очень похоже.

    Запретить.

     
     
  • 3.12, Аноним (9), 10:21, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не отличаешь обои от кнопки сбора средств?!
     
     
  • 4.13, Аноним (13), 10:25, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >символика

    Написано, символика.
    Я отвечаю на слово символика.
    Еще, мороженное продается в такой упаковке.
    Я ведь не говорю что хорошо.

    Запретить.

     
  • 2.11, Аноним (9), 10:18, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это не просто символика, это инструмент сбора средств...
     
  • 2.23, Аноним (23), 12:20, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    орешник не помогает? попробуй кокосник :)) или уже?
     

  • 1.6, Аноним (6), 09:47, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это лучший композитор на Wayland наравне со Sway. Код написан чисто и аккуратно. Имеет очень маленький input latency по сравнению со KDE и Gnome. Попробуйте это реально просто кайф
    Mutter и Kwin если честно мусор. Особенно kde которая постоянно падает. Про gnome я вообще молчу, ибо это неюзабельный кусок
     
     
  • 2.15, q (ok), 10:54, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Значит так. Одна из основных идей вяленого -- безопасность и изоляция клиентов. Именно в такой форме она реализована в таких гигачадах, как GNOME и KDE. Это -- композиторы здорового человека. Если ты в GNOME или KDE, ты *знаешь наверняка* на все 146%, что НИ ОДНА программа не снимает втихаря скриншот. Потому что снятие скриншота ведет к появлению палевного диалога скриншотера, который невозможно обойти.

    Тем временем в васянокомпозиторах реализуют шпионское расширение wlr-screencopy, при помощи которого любой китаец может подсмотреть, что ты там делаешь -- а ты об этом даже не узнаешь. С таким успехом ты мог бы оставаться на иксах. По этой причине ни один композитор на wlroots не является безопасным.

    Безопасные композиторы: COSMIC, GameScope, KWin (KDE), Muffin, Mutter (GNOME), Weston.

    Васянокомпозиторы, где пользователь торчит голой жопой ко всем подряд, причем без сознания, так что он даже не узнает о том, что кто-то воспользовался его жопой: Cage, Hyprland, Jay, Labwc, Louvre, Mir, niri, phoc, river, Sway, Treeland, Wayfire.

     
     
  • 3.16, name (??), 11:14, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    wlr-screencopy - Warning! The protocol described in this file is experimental and backward incompatible changes may be made.
    https://wayland.app/protocols/wlr-screencopy-unstable-v1

    Как всигда наврaли. Для нормального сливания скриншотов и clipboard X11 хватает вполне.

     
  • 3.21, Аноним (21), 12:16, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Очень, очень устаревшие данные. Все давно не так. Особенно Niri.

    Niri написан не на wlroots. Он создан с нуля на Rust и использует фреймворк Smithay. Архитектурно он не имеет отношения к кодовой базе Sway/Swaywm, из которой растут ноги у старых проблем безопасности.

    Изоляция песочниц через Security Context. Niri полностью поддерживает протокол security-context-v1. Если вы запускаете потенциально опасное приложение (например, через Flatpak или настроенный Bubblewrap), Niri отдаёт ему отфильтрованный Wayland-сокет. Из этого сокета полностью вырезаются привилегированные протоколы, включая wlr-screencopy и wlr-data-control (буфер обмена). Приложение из песочницы физически не сможет сделать скрытый скриншот.

    Защита конфиденциальных окон. В Niri «из коробки» есть киллер-фича: block-out-from-screencast. Вы можете одной строчкой в конфиге запретить захват конкретного окна (например, менеджера паролей или банковского клиента). Оно будет просто черным пятном на любых стримах, записях экрана и скриншотах.

    Контроль и индикация. В актуальных версиях Niri реализован специальный Screencast IPC. Панели задач и статусбары (вроде Waybar) могут подписаться на события композитора и выводить жирный и заметный индикатор каждый раз, когда кто-то пытается читать экран — будь то через современный PipeWire или через старый wlr-screencopy.

     
  • 3.22, Аноним (22), 12:16, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Тем временем в васянокомпозиторах реализуют шпионское расширение wlr-screencopy

    Композитор, вне зависимости какой, должен стремится реализовать весь функционал Протокола и его расширений. Если не нужен "wlr-screencopy", то пишите петицию в комитет чтобы такого расширения не было. Это не сарказм, я серъёзно. А задвигать, мысль типа "это буду реализовывать, а вот это не буду" - это детский сад. Разработчик композитора так не должен мыслить.

    Есть Протокол, один на весь мир. И должны быть разные реализации, которые тем не менее строго следуюут Протоколу. Иначе это не Wayland, а бардак.

     
     
  • 4.24, q (ok), 12:33, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > должен стремится реализовать весь функционал Протокола и его расширений

    У разрабов композиторов есть agency -- термин, который тебе вряд ли знаком. Суть такова: каждый человек может решать за себя. Понимаю, что это что-то новое для тебя, но это так. Каждый. Решает. За себя.

    Например, однажды Google Chrome решил за себя, что флеш он больше поддерживать не будет. Не будет и точка. Так как он не безопасен. Или, например, файрфокс может осознанно не реализовывать те или иные части веб-стандарта. Тоже по политическим причинам. Прямо так и пишут в своем трекере: "реализовывать не будем, точка."

    > это детский сад

    Нет. Это agency. Часть взрослого мира. А вот когда человек тупо делает, что ему скажут, то это уже не субъект, а объект. Вот это уже натуральный детский сад. Даже хуже -- это буквально первые месяцы жизни ребенка, который не осознает себя личностью. Он себя ощущает просто предметом, вокруг которого что-то происходит. И именно такую ситуацию ты почему-то называешь "взрослостью".

     

  • 1.7, Аноним (7), 10:01, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    так все таки, если сравнить это с тем же openbox, с теми же возможностями, у кого меньше потребление ресурсов - cpu, память?
     
     
  • 2.19, Аноним (19), 11:41, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Минимальное при холодном запуске:

    Xorg (60 mb) + Openbox (25 mb) = 85 mb

    Labwc = 66 mb
    Sway = 72 mb
    River = 54 mb
    Mangowc = 58 mb

     

  • 1.14, Аноним (14), 10:41, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чёта скрины сильно плохого качества. Хммм... автор относится к нам без уважения.
     
  • 1.18, Аноним (18), 11:32, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Убогое поделие, еще и конфиги на xml, тьфу.
     
  • 1.20, Аноним (20), 12:10, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Значительное увеличение версии (с 0.9 до 0.20)

    Дак это уменьшение версии, ибо:

    0.9-0.2 = 0.7

     
     
  • 2.25, Аноним (25), 12:35, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В версионировании типа X.X.X каждая "Икс" разделённое точкой это целое число. Это не рациональное число. И это не позиционные разряды чила. Старшим считается число, которое находится слева. И каждое увеличение версий этих трёх независимых чисел производится произвольно. Что означает слово "произвольно"? А это значит по личному усмотрению разработчика.

    Например, у Линуса Торвальдса всего 20 пальцев на руках и ногах. Для ядра это означает, что увеличение страшего числа и одновременное обнуление младшего числа происходит каждый раз когда младшее число превысит значение 20.

    У тебя мозг математика. А надо быть инженером-программистом.

     
     
  • 3.26, Аноним (25), 12:40, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя, если подумать хм... для ядра это может быть позиционное число с основанием 20. Но это не точно потому-что Линус старшее число может увеличить даже если оно не достигнет значения 20.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру