Společnost Canonical představila vydání Mir 2.26.0 – nové verze kompozitora a souboru knihoven pro vytváření shellů a grafických prostředí založených na Waylandu.
Wayland a nové protokoly
- Byla přidána MVP implementace protokolu ext-input-triggers (V1).
- Byl realizován návrh protokolu ext-input-triggers pro zpracování vstupních spouštěčů ve Waylandu. Tato funkčnost se považuje za privilegovanou a ve výchozím nastavení není aktivována.
- Byl aktualizován soubor specifikace ext-input-trigger-action-v1.xml: byly přidány upřesnění ohledně platnosti a dostupnosti tokenů.
- Byla přidána částečná implementace ext_image_copy_capture_v1 pro sessions kurzoru.
- Byla implementována přenášení obrazu kurzoru pomocí ext_image_copy_capture_v1.
Rust a vývoj architektury
- Byla zahájena implementace frontend Waylandu v Rustu.
- Pokračuje práce na platformě vstupu založené na Rustu. Toto ještě není hlavní cesta zpracování vstupu, ale už je to praktický krok k postupné integraci Rustu do projektu.
Podsyslem vstupu: evdev-rs
- Byla implementována podpora dotykových událostí.
- Kód modulu zařízení byl vyčištěn.
- Bylo opraveno zpracování událostí ukazatelů: stav tlačítek byl přesunut do skladu na úrovni jednotlivých zařízení.
- Logika zpracování událostí byla přepracována pro zvýšení jasnosti a udržovatelnosti kódu.
Kurzor, okna, API a interní infrastruktura
- Pro CursorObservers byla přidána možnost sledovat změny obrazu kurzoru.
- Komponenta CursorObserverMultiplexer nyní posílá počáteční stav novým registrovaným pozorovatelům.
- Bylo provedeno refaktoring MinimalWindowManager.
- Byla přidána možnost nastavit alpha kanál okna a získat ho přes WindowInfo.
- Do šablon libmiral byly přidány requires clauses, což zlepšuje přísnost omezení na úrovni šablonového kódu C++.
- Byl proveden přesun logging APIs a výchozích hodnot do mircore.
- Volání strerror() bylo nahrazeno vláknově bezpečným strerror_r().
Opravy chyb
- Byla opravena chyba, kdy BasicXCBConnection::destroy_window vyvolával xcb_map_window místo xcb_destroy_window.
- Byl odstraněn problém, kvůli kterému odpovědi XCB nebyly vždy uvolněny.
- Byla opravena chyba: přehrávání videa na celou obrazovku v Google Chrome mohlo nefungovat, pokud okno nebylo předem v režimu celé obrazovky.
- Pro X11 byla přidána správná instalace _NET_CLIENT_LIST_STACKING.
- Byla opravena nebezpečná implementace fatal signal handling, která byla v vydání přímo označena jako 'wildly unsafe'.
- Byla opravena chyba, kdy kontrola DRM_CLIENT_CAP_ATOMIC byla prováděna prostřednictvím nesprávného ioctl volání.
- Byla provedena optimalizace a zlepšení logiky mgk::find_crtc_with_primary_plane.
- Bylo opraveno chování zatěření (occlusion): pokud má povrch neprůhlednou oblast, ale jeho alpha není rovna 1.0, neměl by být nadále používán jako plně překrývající.
Ostatní
- Byl zaznamenán nárůst počtu nových účastníků projektu: vydání Mir 2.26.0 obsahuje příspěvky několika nováčků, což vývojáři interpretují jako známku růstu komunity kolem Mir.
Zdroj: linux.org.ru
