De release van het project labwc 0.7.2 (Lab Wayland Compositor) is beschikbaar, dat een compositorserver voor Wayland ontwikkelt met functionaliteiten die lijken op die van de window manager Openbox (het project wordt gepresenteerd als een poging om een alternatief voor Openbox voor Wayland te creëren). Kenmerken van labwc zijn onder andere minimalisme, een compacte implementatie, brede aanpassingsmogelijkheden en hoge prestaties. De code van het project is geschreven in C en wordt verspreid onder de GPLv2-licentie.
Als basis wordt de bibliotheek wlroots gebruikt, ontwikkeld door de ontwikkelaars van de desktopomgeving Sway en die de basisfuncties biedt voor het organiseren van de werking van een compositormanager op basis van Wayland. Van de uitgebreide Wayland-protocollen worden wlr-output-management voor het instellen van uitvoerapparaten, layer-shell voor het organiseren van de desktopomgeving en foreign-toplevel voor het aansluiten van eigen panelen en vensterswitches ondersteund.
Het is mogelijk om extensies aan te sluiten die functies implementeren zoals het maken van screenshots, het weergeven van bureaubladachtergronden, het plaatsen van een paneel en menu. Geanimeerde effecten, verlopen en pictogrammen (met uitzondering van knoppen voor vensters) worden principieel niet ondersteund. Voor het uitvoeren van X11-toepassingen in een omgeving op basis van het Wayland-protocol wordt het gebruik van de DDX-component XWayland ondersteund. Het thema, het basismenu en sneltoetsen worden ingesteld via configuratiebestanden in xml-formaat. Er is ingebouwde ondersteuning voor schermen met een hoge pixel-dichtheid (HiDPI).
Naast het ingebouwde hoofdmenu, dat kan worden ingesteld via menu.xml, kunnen externe implementaties van applicatiemenu's worden aangesloten, zoals bemenu, fuzzel en wofi. Als paneel kunnen Waybar, sfwbar, Yambar of LavaLauncher worden gebruikt. Voor het beheer van de monitorverbinding en het wijzigen van hun instellingen wordt aangeraden om wlr-randr of kanshi te gebruiken. Het scherm wordt vergrendeld met behulp van swaylock.

Belangrijkste wijzigingen in de nieuwe release:
- Een instelling <menu><ignoreButtonReleasePeriod> is toegevoegd om de tijd te bepalen waarin muisknoppen worden genegeerd, wat gebruikt kan worden om onbedoeld selecteren van elementen of sluiten van menu's te voorkomen.
- Er is een mogelijkheid toegevoegd om schaduwen voor vensters te gebruiken, die aan de kant worden gedecodeerd. de server. Voor het inschakelen van schaduwen in het <theme> blok is een instelling <dropShadows> voorgesteld, en voor het aanpassen van de grootte en kleur zijn de eigenschappen window.active|inactive.shadow.size en window.active|inactive.shadow.color toegevoegd.
- Een regel ignoreConfigureRequest is toegevoegd, die het mogelijk maakt om configuratieverzoeken van X11-clienten om grootte en positie op het scherm te wijzigen, te negeren.
- In de regels is binding aan het venstertype (<windowRule type=»»>) toegestaan. Bijvoorbeeld, voor XWayland-vensters wordt het type NET_WM_WINDOW_TYPE_DESKTOP toegepast.
- In de <action name=»ForEach»> cycli is ondersteuning voor 'none'-secties toegevoegd, die worden geactiveerd bij afwezigheid van succesvolle overeenkomsten.
- Een optie «-S» (—session) is toegevoegd om een opgegeven commando bij de start uit te voeren en om de composietmanager af te sluiten wanneer het commando is beëindigd.
- In de thema-instellingen is het mogelijk geworden om de kleur van de transparantieniveau-code op te geven met behulp van het formaat «#aabbccff».
- In de interface-instellingen voor het schakelen tussen vensters is het toegestaan om willekeurige velden met opmaak in printf-stijl te maken, bijvoorbeeld <field content=»custom» format=»foobar %b %3s %-10o %-20W %-10i%t» width=»100%» />. Er is ook een optie toegevoegd om de breedte van de interface voor het schakelen tussen vensters in procenten ten opzichte van de schermbreedte aan te geven («osd.window-switcher.width: 75%»), evenals het wijzigen van de grootte en kleur van de rand rond vensterminiaturen (osd.window-switcher.preview.border.width|color). Bij het instellen van de inhoud zijn nieuwe velden workspace, state, type_short en output toegevoegd.
- Ondersteuning voor Openbox-compatibele menu's (pipe-menu) is toegevoegd.
- Er is een mogelijkheid toegevoegd om de binding aan de rand van het scherm aan te passen.
- Ondersteuning is toegevoegd voor het instellen van invoermethoden en een interface voor hun bewerking.
- Ondersteuning voor het kalibreren van invoerapparaten is toegevoegd.
- In de interface voor het schakelen tussen virtuele werkruimten is het nu mogelijk om een prefix voor de namen van de werkruimten in te voeren.
- Het is nu mogelijk om omgevingsvariabelen te definiëren in *.env-bestanden, die zijn geplaatst in de map 'environment.d'.
- Ondersteuning voor het opgeven van een lege waarde om een omgevingsvariabele te wissen is toegevoegd.
- Er is een optie toegevoegd voor het definiëren van een reserve-uitvoer apparaat (LABWC_FALLBACK_OUTPUT), dat gekozen wordt als de basiselementen voor uitvoer niet beschikbaar zijn. Dit kan nuttig zijn, bijvoorbeeld bij het starten van een VNC-server.
- Een instelling <windowSwitcher allWorkspaces=»yes»> is toegevoegd, waarmee in de window-switcher vensters op alle virtuele werkruimten kunnen worden weergegeven.
- De mogelijkheid om een shutdown-script uit te voeren bij het afsluiten is beschikbaar gesteld.
Bron: opennet.ru
