Mir 2.26.0

Compania Canonical a lansat versiunea Mir 2.26.0 - o nouă versiune a compozitorului și a setului de biblioteci pentru construirea shell-urilor și mediilor grafice bazate pe Wayland.

Wayland și noi protocoale

  • A fost adăugată o implementare MVP a protocolului ext-input-triggers (V1).
  • A fost implementat un draft al protocolului ext-input-triggers pentru procesarea declanșatoarelor de intrare în Wayland. Această funcționalitate este considerată privilegiată și nu este activată în mod implicit.
  • Fișierul de specificație a fost actualizat ext-input-trigger-action-v1.xml: au fost adăugate precizări cu privire la validitatea și disponibilitatea token-urilor.
  • Adăugat implementare parțială a ext_image_copy_capture_v1 pentru sesiuni de cursor.
  • Implementată transmiterea imaginii cursorului prin ext_image_copy_capture_v1.

Rust și dezvoltarea arhitecturii

  • A început implementarea frontend-ului Wayland pe Rust.
  • A fost continuată lucrările la platforma de intrare bazată pe Rust. Aceasta nu este încă calea principală de procesare a intrării, dar reprezintă un pas practic către integrarea treptată a Rust în proiect.

Subsystema de intrare: evdev-rs

  • A fost implementat suportul pentru evenimentele de atingere (touch events).
  • Codul modulului device a fost curățat.
  • A fost corectată procesarea evenimentelor de dispozitive de pointer: starea butoanelor a fost mutată în stocarea la nivel de dispozitive individuale.
  • Logica de procesare a evenimentelor a fost refăcută pentru a îmbunătăți claritatea și întreținerea codului.

Cursor, feronier, API și infrastructura internă

  • Pentru CursorObservers a fost adăugată capacitatea de a urmări schimbările imaginii cursorului.
  • Componentă CursorObserverMultiplexer acum trimite starea inițială către noii observatori înregistrați.
  • A avut loc un refactoring MinimalWindowManager.
  • A fost adăugată posibilitatea de a seta canalul alpha al feronierului și de a-l obține prin WindowInfo.
  • Au fost adăugate în șabloanele libmiral clauze requires, ceea ce îmbunătățește strictețea constrângerilor la nivelul codului șablon C++.
  • A fost efectuat transferul API-urilor de logging și a valorilor implicite în mircore.
  • Apelul strerror() a fost înlocuit cu strerror_r() thread-safe.

Corecturi de erori

  • A fost corectată o eroare care BasicXCBConnection::destroy_window a apelat xcb_map_window în loc de xcb_destroy_window.
  • A fost eliminată problema care răspunsurile XCB nu erau întotdeauna eliberate.
  • A fost corectată o eroare: redarea în modul fullscreen a videoclipurilor în Google Chrome ar putea să nu funcționeze, dacă fereastra nu era deja în modul fullscreen.
  • Pentru X11 a fost adăugată o setare corectă pentru _NET_CLIENT_LIST_STACKING.
  • A fost corectată o implementare nesigură fatal signal handling, ceea ce în versiune a fost denumit direct "wildly unsafe".
  • A fost corectată o eroare în care verificarea DRM_CLIENT_CAP_ATOMIC era realizată printr-un apel ioctl greșit.
  • A avut loc o curățare și îmbunătățire a logicii mgk::find_crtc_with_primary_plane.
  • Comportamentul de umbrire (occlusion) a fost corectat: dacă o suprafață are o zonă opacă, dar alpha sa nu este 1.0, aceasta nu ar trebui să mai fie utilizată ca fiind complet suprapusă.

Altele

  • S-a observat o creștere a numărului de noi participanți la proiect: lansarea Mir 2.26.0 include contribuția mai multor noi veniți, ceea ce dezvoltatorii interpretează ca un semn al creșterii comunității din jurul Mir.

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster