Mir 2.26.0

Firma Canonical zaprezentowała wydanie Mir 2.26.0 — nowej wersji kompozytora i zestawu bibliotek do tworzenia powłok i środowisk graficznych opartych na Wayland.

Wayland i nowe protokoły

  • Dodano wersję MVP protokołu ext-input-triggers (V1).
  • Zrealizowano szkic protokołu ext-input-triggers do przetwarzania wyzwalaczy wejścia w Wayland. Ta funkcjonalność uznawana jest za uprzywilejowaną i nie jest włączana domyślnie.
  • Zaktualizowano plik specyfikacji ext-input-trigger-action-v1.xml: dodano w nim szczegóły dotyczące ważności i dostępności tokenów.
  • Dodano częściowa implementacja ext_image_copy_capture_v1 dla sesji kursora.
  • Zrealizowano przesyłanie obrazu kursora przez ext_image_copy_capture_v1.

Rust i rozwój architektury

  • Rozpoczęto implementację interfejsu Wayland w Rust.
  • Kontynuowano prace nad platformą wejściową opartą na Rust. To jeszcze nie główny sposób przetwarzania wejścia, ale już praktyczny krok do stopniowej integracji Rust w projekcie.

Podsystem wejścia: evdev-rs

  • Zrealizowano wsparcie dla zdarzeń dotykowych (touch events).
  • Oczyściliśmy kod modułu device.
  • Poprawiono przetwarzanie zdarzeń urządzeń wskaźnikowych: stan przycisków przeniesiono do przechowywania na poziomie poszczególnych urządzeń.
  • Logika przetwarzania zdarzeń została przeprojektowana w celu poprawy jasności i możliwością śledzenia kodu.

Kursor, okna, API i wewnętrzna infrastruktura

  • Dla CursorObservers dodano możliwość śledzenia zmian obrazu kursora.
  • Komponent CursorObserverMultiplexer teraz wysyła początkowy stan nowym zarejestrowanym obserwatorom.
  • Przeprowadzono refaktoryzację MinimalWindowManager.
  • Dodano możliwość ustawić kanał alfa okna i uzyskać go przez WindowInfo.
  • Dodano do szablonów libmiral klauzule requires, co poprawia surowość ograniczeń na poziomie kodu szablonu C++.
  • Zrealizowano przeniesienie API rejestrowania i wartości domyślne do mircore.
  • Wywołanie strerror() zostało zastąpione bezpiecznym dla wątków strerror_r().

Poprawki błędów

  • Naprawiono błąd, w którym BasicXCBConnection::destroy_window wywoływał xcb_map_window zamiast xcb_destroy_window.
  • Usunięto problem, przez który odpowiedzi XCB nie były zawsze zwalniane.
  • Naprawiono błąd: pełnoekranowe odtwarzanie wideo w Google Chrome mogło nie działać, jeśli okno wcześniej nie było w trybie pełnoekranowym.
  • Dla X11 dodano poprawne ustawienie _NET_CLIENT_LIST_STACKING.
  • Poprawiono niebezpieczną implementację fatal signal handling, która została bezpośrednio określona w wydaniu jako «wildly unsafe».
  • Naprawiono błąd, w którym weryfikacja DRM_CLIENT_CAP_ATOMIC była przeprowadzana przez nieprawidłowe wywołanie ioctl.
  • Przeprowadzono oczyszczenie i ulepszenie logiki mgk::find_crtc_with_primary_plane.
  • Poprawiono zachowanie zaciemnienia (occlusion): jeśli powierzchnia ma nieprzezroczysty obszar, ale jej alfa nie wynosi 1.0, nie powinna być już używana jako całkowicie przesłaniająca.

Inne

  • Zauważono wzrost liczby nowych uczestników projektu: wydanie Mir 2.26.0 zawiera wkład kilku nowicjuszy, co deweloperzy interpretują jako oznakę wzrostu społeczności wokół Mir.

Źródło: linux.org.ru

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