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 обязательно


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

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

     
     
  • 3.10, kravich (ok), 10:17, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, к счастью он такой чушью не занимается
     
  • 3.17, Аноним (17), 11:25, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    labwc не тайлинговый, а стековый менеджер окон. Иди учи матчасть.
     
  • 3.28, Аноним (28), 13:16, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это стековый композитор, чел..
     
  • 2.49, Аноним (49), 02:51, 27/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    HDR-то хоть поддерживает?
     

  • 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.6, Аноним (6), 09:47, 26/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это лучший композитор на 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 хватает вполне.

     
     
  • 4.30, Аноним (30), 14:07, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Labwc, лучше всех.
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    >Тем временем в васянокомпозиторах реализуют шпионское расширение wlr-screencopy

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

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

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

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

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

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

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

     
     
  • 5.37, Аноним (37), 16:22, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Суть такова: каждый человек может решать за себя. Понимаю, что это что-то новое для тебя, но это так. Каждый. Решает. За себя.

    Сабботаж, как принцип действия, ни к чему хорошему не приведёт. Если ты призываешь к сабботажу, то это и есть детский сад. В сообществе должны быть процедуры, которые надо соблюдать. Пишите петицию, чтобы убрали из Протокола определённые расширения.

    >Например, однажды Google Chrome решил за себя, что флеш он больше поддерживать не будет.

    Во-первых, сравнение не коректное. Во-вторых, "решил" Стив Джобс, остальные его поддержали, так как он дельные вещи говорил.

    >А вот когда человек тупо делает, что ему скажут, то это уже не субъект, а объект. Вот это уже натуральный детский сад.

    Группа людей, которых объединяет какая-либо работа, или общая цель обязана соблюдать определённые правила. Сообщество, в котором нет правил и принципов - не сообщество.

     
     
  • 6.40, q (ok), 18:08, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ты призываешь к сабботажу, то это и есть детский сад.

    "Саботаж — это умышленное неисполнение или небрежное исполнение возложенных обязанностей."

    Опенсорс состоит из взрослых людей, которые ничем друг другу не обязаны, пока нет подисанных договоров, зарплаты и прочих юридических/экономических мероприятий. У тебя же картина мира, где ты диктуешь всем, кто тебе и что должен, а у всех остальных полностью отсутствует agency. Это не серьезно. Попахивает инфантилизмом. Тебе сколько лет, кстати? Если 14, то тогда вопросов больше нет.

    > Во-первых, сравнение не коректное.

    Абсолютно корректное сравнение. Стандарты пишутся уже после сложившихся реалий на земле. Причем если реальность не соответствует стандарту, то обычно это проблемы стандарта, а не реальности. Гугли например "прескриптивизм и дескриптивизм".

    > Группа людей, которых объединяет какая-либо работа, или общая цель обязана соблюдать определённые правила.

    Ты путаешь свои цели с "общими целями проекта". Обычная ошибка инфантильных людей. Вот если ты свяжешься с разрабами любого композитора и поговоришь с ними предельно откровенно, то выяснится, что им на тебя положить с прибором. Они и знать не знали о твоем существовании, и знать не хотят. Джон из Оклахомы больше всего беспокоится об интересах Джона из Оклахомы. А не Ивана из Сызрани.

     

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

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

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

     
     
  • 3.27, Аноним (27), 12:49, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кех, ты сравниваешь потребление Озу.
    Современные Ос, берут максимально доступную Озу. Логига, зачем простаивать Озу, если ее можно используют.
    Они кешуруют все и вся. У тебя может быть занято 8Гб на Labwc.
    Это дело больше в ядре, логике управления Озу.

    Когда люди говорят, смотри Windows 10/11, или Kde, или Labwc оболочка, потребляет много Озу.
    Она потребляет потому что может.

     
     
  • 4.38, жявамэн (ok), 16:49, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ага
    специально кешируют чтобы потом через сотни скрытых багов повышать привилегии через кеш
     
     
  • 5.41, Аноним (41), 19:25, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Альтернатива кешированию, это swap, и загрузка с Ssd.
    Что медленней.
    К тому же если тебе нравится износ ssd. Еще файловая система в Linux, находится в Озу, частично. Если ты копируешь большие файлы, они фоном пишутся на диск.
    Если конечно тебе нравится износ Ssd.
     
     
  • 6.48, Аноним (48), 01:27, 27/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > износ Ssd

    При типичном дестктопном использовании наступает позже устаревания интерфейса, которым он подключен. Чтобы протереть дырку в современном SSD надо специально стараться.

     
  • 4.43, Аноним (43), 20:43, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Современные Ос, берут максимально доступную Озу. Логига, зачем простаивать Озу, если ее можно используют.
    >Они кешуруют все и вся. У тебя может быть занято 8Гб на Labwc.

    Очередной воин безграмотности не различает объём резидентной памяти и файловый кеш. Всё, что вы написали, ложь, от самого начала, и до самого конца.

     
     
  • 5.45, Аноним (41), 22:34, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Всё, что вы написали, ложь, от самого начала, и до самого конца.

    Так напишите подробный разбор, раз вы такой эксперт в данном вопросе.

     
     
  • 6.46, Аноним (43), 23:25, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Подробный разбор чего? Что вам непонятно, в моём предложении?
     
     
  • 7.47, Аноним (41), 01:24, 27/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.29, Аноним (28), 13:22, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Mangowc думаю поболее будет, потому что там SceneFx прикручен которыц отвечает за анимации. Как минимум он есть больше чем Sway. Данные нужно пересмотреть
     
  • 3.44, Аноним (43), 20:47, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >River = 54 mb

    River нуждаете в окнонном менеджере, так что технически, river гораздо ближе к чистому xorg, чем к связке xorg + openbox.

     

  • 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.
     
  • 3.31, Y I (?), 15:08, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По этому код версии должен выглядить как X:X:X
     
     
  • 4.39, Аноним (39), 17:05, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Знак деления? Не одобряю.
     
  • 4.42, name (??), 19:26, 26/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    : давно запретить надо, не скpeпно вообще
     

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



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

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