Dostępna jest wersja projektu labwc 0.6 (Lab Wayland Compositor), rozwijająca serwer kompozytowy dla Wayland z funkcjami przypominającymi menedżera okien Openbox (projekt jest reklamowany jako próba stworzenia alternatywy dla Openbox dla Wayland). Wśród cech labwc wymienia się minimalizm, kompaktową implementację, szerokie możliwości dostosowywania i wysoką wydajność. Kod projektu napisany jest w języku C i rozpowszechniany na licencji GPLv2.
Jako podstawę wykorzystano bibliotekę wlroots, opracowaną przez twórców środowiska użytkownika Sway i udostępniającą podstawowe funkcje organizacji pracy menedżera kompozytu opartego na Wayland. Spośród rozszerzonych protokołów Wayland obsługiwany jest wlr-output-management do konfigurowania urządzeń wyjściowych, warstwa-powłoka do organizowania pracy powłoki pulpitu oraz obcy-górny poziom do łączenia własnych paneli i przełączników okien.
Możliwe jest łączenie dodatków z realizacją takich funkcji jak tworzenie zrzutów ekranu, wyświetlanie tapet na pulpicie, umieszczanie paneli i menu. Animowane efekty, gradienty i ikony (z wyjątkiem przycisków okien) zasadniczo nie są obsługiwane. Aby uruchomić aplikacje X11 w środowisku opartym na protokole Wayland, obsługiwane jest użycie komponentu XWayland DDX. Motyw, podstawowe menu i skróty klawiszowe są konfigurowane za pomocą plików konfiguracyjnych w formacie xml. Wbudowana obsługa ekranów o wysokiej gęstości pikseli (HiDPI).
Oprócz wbudowanego menu głównego, które można konfigurować za pomocą menu.xml, można dołączyć implementacje menu aplikacji innych firm, takie jak bemenu, fuzzel i wofi. Jako panel możesz użyć Waybar, sfwbar, Yambar lub LavaLauncher. Do sterowania podłączeniem monitorów i zmiany ich parametrów zaleca się użycie wlr-randr lub kanshi. Ekran jest blokowany za pomocą funkcji Swaylock.
Kluczowe zmiany w nowej wersji:
- Znacząco przeprojektowano użycie interfejsu API wykresu sceny zapewnianego przez wlroots. Przetwarzanie znalazło odzwierciedlenie w renderowaniu, dekoracji okien, menu i implementacji powłoki ekranu. Przetwarzanie obrazów i czcionek przed wyświetleniem na ekranie zostało przestawione na wykorzystanie buforów zamiast tekstur (struktura wlr_texture), co pozwoliło zapewnić prawidłowe skalowanie wyjścia. Uproszczony kod obsługi powiązań z węzłami wlr_scene_nodes. Ulepszone opcje debugowania.
- Dodano obsługę wirtualnych pulpitów.
- Dodano obsługę używania różnych języków w menu klienta.
- Zaimplementowano obsługę protokołu czasu prezentacji używanego do wyświetlania wideo.
- Dodano obsługę urządzeń dotykowych.
- Zaimplementowano obsługę protokołu drm_lease_v1, który służy do generowania obrazu stereo z różnymi buforami dla lewego i prawego oka podczas wyświetlania na hełmach wirtualnej rzeczywistości.
- Zaimplementowane protokoły korzystania z wirtualnej klawiatury i wskaźnika.
- Dodano tryb przypinania okna na wierzchu innych okien ( ToggleAlwaysOnTop).
- Dodano ustawienia osd.border.color i osd.border.width w celu określenia szerokości i koloru ramy okna.
- Dodano ustawienia umożliwiające zmianę ustawień opóźnienia i powtarzania klawiatury.
- Dodano możliwość powiązania operacji z przewijaniem kółkiem myszy (domyślnie podczas przewijania pulpitu wykonywane jest przełączanie między wirtualnymi pulpitami).
- Dodano obsługę płynnego i poziomego przewijania.
- Zapewnienie ciągłego testowania integracji dla wersji Debian, FreeBSD, Arch i Void, w tym kompilacji innych niż xwayland.
- Dodano obsługę dostosowywania kursywy i grubości czcionek (aby używać czcionek kursywnych i pogrubionych).
- Dodano ustawienie , aby określić, czy podgląd konspektu jest włączony.
- Dostarczono renderowanie strzałek dla podmenu. Do menu dodano obsługę separatorów.
- Protokół xdg-desktop-portal-wlr został włączony do pracy bez dodatkowych ustawień (zakończono inicjalizację dbus i aktywację przez systemd), co rozwiązało problemy z uruchomieniem OBS Studio.
Źródło: opennet.ru