Pierwsza wersja testowa kompozytowego serwera Xfwl4 z projektu Xfce

Po 6 miesiącach prac nad rozwojem, zaprezentowano pierwszą wersję wstępną kompozytowego serwera Xfwl4, który wykorzystuje protokół Wayland. Xfwl4 został napisany w języku Rust z użyciem biblioteki Smithay. Powodem stworzenia nowego kompozytowego serwera jest nieudana próba równoczesnego wsparcia X11 i Wayland w istniejącej bazie kodu menedżera okien xfwm4, który pierwotnie został zaprojektowany tak, aby ściśle integrować się z protokołem X11, co utrudniło oddzielenie ogólnej logiki zarządzania oknami od specyfiki X11.

Xfwl4 rozwija się od podstaw i nie ma punktu styku z bazą kodu menedżera okien xfwm4, jednak ma na celu realizację całej funkcjonalności dostępnej w xfwm4, włącznie z możliwością używania istniejących ustawień xfconf i interfejsu konfiguracyjnego z uwzględnieniem specyfiki korzystania z Wayland zamiast X11. Planowane jest doprowadzenie funkcjonalności Xfwl4 do poziomu, na którym użytkownik będzie mógł przełączać się między Xfwl4 a xfwm4, nie dostrzegając różnic.

W zaawansowanych funkcjach Xfwl4 zauważalna jest istotna przebudowa logiki uruchamiania sesji, realizacja protokołu Wayland xdg-session-management oraz wsparcie dla uruchamiania aplikacji X11 za pomocą XWayland. Kod Xfwl4 jest udostępniany na licencji GPLv3 (dla porównania, kod menedżera okien xfwm4 jest udostępniany na licencji GPLv2).

Xfwl4 zbudowano na bazie biblioteki Smithay, która dostarcza implementację prawie wszystkich oficjalnych rozszerzeń protokołu Wayland, a także protokołów wlroots i KDE. Smithay jest wykorzystywana w takich projektach jak Cosmic i Niri. Analogicznie do wlroots, biblioteka Smithay oferuje wysokopoziomowe abstrakcje, jednocześnie pozwalając na interwencję w działanie niskopoziomowych systemów oraz dostosowywanie metod renderowania grafiki, obsługi urządzeń wejściowych, zachowań protokołów Wayland oraz obsługi zadań związanych z budową pulpitu. Język Rust został wybrany jako taki, który utrudnia popełnianie błędów podczas pracy z pamięcią i zmniejsza prawdopodobieństwo problemów prowadzących do awarii.

Zdecydowano się zrezygnować z projektu stopniowego wprowadzania wsparcia dla Wayland w xfwm4 z obaw o obniżenie stabilności i pojawienie się nowych błędów podczas refaktoryzacji. Okazało się łatwiej pozostawić xfwm4 opartym na X11 i jednocześnie rozwijać nowy kompozytor сервер dla Wayland. Jako powody stworzenia nowego сервера wspomina się również niemożność dostosowania niektórych koncepcji zarządzania oknami X11 dla Wayland oraz konieczność użycia języka C i biblioteki wlroots w przypadku dalszego rozwoju xfwm4, mimo istnienia lepszych alternatyw.

Pierwsze wydanie Xfwl4 ma poziom jakości wersji alfa i nie realizuje całej zamierzonej funkcjonalności. Z możliwości, które są obecnie niedostępne w pierwszej wersji testowej:

  • Dialog konfiguracji myszy i touchpada.
  • Dialog ustawień wirtualnych pulpitów.
  • Określenie obszarów przy krawędziach ekranu, w których wyklucza się umieszczanie okien.
  • Minimalizowanie okna z wyświetleniem ikony i menu, które pojawia się po kliknięciu środkowym przyciskiem myszy.
  • Wyświetlanie miniaturek zawartości wirtualnych pulpitów na panelu.
  • Kombinacje klawiszy do przełączania między aplikacjami i oknami aplikacji.
  • Przywracanie wcześniejszej pozycji okien po ponownym uruchomieniu aplikacji.

Źródło: opennet.ru

Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS | ProHoster