È stato pubblicato il rilascio del progetto labwc 0.9.0 (Lab Wayland Compositor), che sviluppa un server compositore per Wayland con funzionalità simili a quelle del gestore di finestre Openbox (il progetto è presentato come un tentativo di creare un'alternativa a Openbox per Wayland). Tra le caratteristiche di labwc si evidenziano minimalismo, implementazione compatta, ampie possibilità di personalizzazione e alte prestazioni. Effetti animati, gradienti e icone, eccetto i pulsanti per le finestre, non sono supportati in linea di principio. Il codice del progetto è scritto in C e distribuito sotto licenza GPLv2.
Alla base del sistema c'è la libreria wlroots, sviluppata dai creatori dell'ambiente desktop Sway, che fornisce le funzioni fondamentali per organizzare il lavoro di un compositore basato su Wayland. È possibile connettere estensioni per implementare funzioni come la creazione di screenshot, la visualizzazione di sfondi sul desktop e l'inserimento di un pannello e di un menu. Per eseguire applicazioni X11 in un ambiente basato sul protocollo Wayland, è supportato l'uso del componente DDX XWayland. Il tema, il menu principale e le scorciatoie da tastiera sono configurabili tramite file XML. È presente un supporto integrato per schermi ad alta densità di pixel (HiDPI).
Oltre al menu radice incorporato, personalizzabile tramite il file menu.xml, è possibile collegare implementazioni di menu di terze parti, come bemenu, fuzzel e wofi. Per la barra degli strumenti si possono utilizzare Waybar, sfwbar, Yambar o LavaLauncher. Si consiglia di utilizzare wlr-randr o kanshi per gestire la connessione dei monitor e modificarne le impostazioni. La schermata di blocco può essere effettuata tramite swaylock. Il gestore composito è impiegato nell'ambiente grafico della distribuzione Raspberry Pi OS e supportato opzionalmente negli ambienti desktop Xfce e LXQt.
Nella nuova versione:
- È stata aggiunta la compatibilità con le nuove funzionalità della libreria wlroots 0.19, come l'implementazione dei nuovi protocolli Wayland, il supporto Multi-GPU e la possibilità di sincronizzazione esplicita dei buffer tramite oggetti di sincronizzazione DRM (Direct Rendering Manager).
- Supporto per i protocolli Wayland fornito:
- ext-data-control — consente ai clienti privilegiati di gestire l'elaborazione dei dati, ad esempio per implementare gestori degli appunti.
- alpha-modifier — consente ai client di modificare il livello di trasparenza della superficie e di eseguire le operazioni di gestione della trasparenza lato compositore. server.
- xdg-toplevel-icon — implementa l'associazione di un'icona a una finestra di alto livello.
- drm-syncobj — fornisce strumenti per la sincronizzazione esplicita dei buffer tramite oggetti di sincronizzazione DRM (Direct Rendering Manager).
- ext-image-copy-capture — organizza la cattura dei contenuti visualizzati sullo schermo.
- È stato aggiunto il comando «lab-sensible-terminal» per avviare un emulatore di terminale (il programma viene selezionato in base alla variabile d'ambiente $TERMINAL). È stata aggiunta una voce al menu radice per invocare il terminale.
- È stata aggiunta la compatibilità con la riempimento gradiente dell'area dell'intestazione della finestra. Per la configurazione del gradiente sono disponibili le seguenti opzioni:
- window.*.title.bg: Solido | Gradiente ( Verticale | DivisoVerticale )
- window.*.title.bg.colorTo:
- window.*.title.bg.color.splitTo:
- window.*.title.bg.colorTo.splitTo:
- È stata aggiunta nel output all'avvio delle opzioni «-v» («--version») informazioni sulle funzionalità supportate, ad esempio «+xwayland -rsvg».
- È stato garantito l'invio delle risorse DRM (Direct Rendering Manager Leases) ai client XWayland.
- È stata aggiunta la configurazione <windowRule iconPriority=»client|server»> per selezionare il metodo prioritario di ricerca delle icone.
- È stata aggiunta la compatibilità con i temi di colore definiti utilizzando la sintassi X11-color-names e ‘#rgb’.
- È stato implementato il supporto per la proprietà XWayland _NET_WM_ICON ed è stata aggiunta la regola iconPriority per attivarne il supporto.
- È stata aggiunta la configurazione «<core><primarySelection>», che consente l'autoscorrimento con la rotella centrale del mouse in Chromium e nelle applicazioni sulla piattaforma Electron senza inserimenti non intenzionali di dati dagli appunti.
- Sono state aggiornate le versioni supportate dei protocolli Wayland, xdg_shell e wl_compositor.
- È stato aggiunto il supporto per pulsanti ausiliari nei mouse.
- Sono state aggiunte configurazioni per libinput:
- «<threeFingerDrag>»
- «<dragLock>sticky</dragLock>»
- «<scrollMethod>none|twofinger|edge</scrollMethod>»
- Sono stati aggiunti parametri «{left,right}-occupied» per semplificare la navigazione tra i desktop virtuali con finestre aperte.
- È stata aggiunta la configurazione «<theme><dropShadowsOnTiled>» per attivare l'ombra per le finestre affiancate.
- È stato aggiunto il supporto per l'emulazione dello scorrimento con la rotella del mouse, per cui sono disponibili le opzioni EnableScrollWheelEmulation, DisableScrollWheelEmulation e ToggleScrollWheelEmulation.


Fonte: opennet.ru
