Na bijna drie jaar ontwikkeling is de release van de composietserver Wayfire 0.8 gepubliceerd, die Wayland gebruikt en het mogelijk maakt om middelenbesparende gebruikersinterfaces met 3D-effecten in de stijl van 3D-plug-ins voor Compiz te creƫren (overgangen tussen schermen via een 3D-kubus, ruimtelijke indeling van vensters, morfing tijdens het werken met vensters, enzovoort). Wayfire ondersteunt extensies via plug-ins en biedt een flexibel systeem voor aanpassing. De code van het project is geschreven in C++ en wordt verspreid onder de MIT-licentie.
Het project is gebouwd op de wlroots-bibliotheek, ontwikkeld door de ontwikkelaars van de gebruikersomgeving Sway en biedt basisfunctionaliteiten voor de werking van de compositormanagers op basis van Wayland. Voor het beheren van sessies kunnen systemd, elogind of seatd worden gebruikt. Het starten van X11-applicaties is mogelijk via XWayland. Als paneel kan wf-shell van de ontwikkelaars van Wayfire of de externe panelen LavaLauncher worden gebruikt. Het project ontwikkelt ook een bibliotheek voor het werken met configuratiebestanden, wf-config en de grafische configurator wcm.
In de nieuwe versie:
- Er is een plug-in "wsets" (Workspace sets) toegevoegd, die het mogelijk maakt om met collecties te werken. virtuele desktopsIn een collectie kunnen werkruimtes worden samengevoegd die aan een bepaald thema zijn gekoppeld (bijvoorbeeld werken aan een hoofdproject, werken aan een persoonlijk project, entertainment), voor gelijktijdige weergave op het scherm. De gebruiker kan op elk moment switchen naar een andere collectie en een andere set virtuele werkruimtes krijgen. Op elk scherm kan een eigen collectie werkruimtes worden weergegeven (bijvoorbeeld kan op een extern monitor een collectie voor entertainment worden gebruikt, terwijl op het ingebouwde scherm van de laptop een werkcollectie wordt gebruikt). Het is mogelijk om collecties tussen schermen te verplaatsen.

- Er is de mogelijkheid toegevoegd om de composietmanager te bedienen via IPC-commando's, die via een netwerk socket worden verzonden. De functionaliteit is gerealiseerd via de plug-in ipc en aanvullende plug-ins voor commandoverwerking, bijvoorbeeld de plug-in ipc-rules bevat basiscommando's voor vensterbeheer. In de toekomst is het de planning om ondersteuning voor aanvullende commando's en gebeurtenissen toe te voegen.
- Er is de mogelijkheid toegevoegd om te navigeren tussen virtuele werkruimtes met behulp van het toetsenbord.
- In de plug-in simple-tile zijn geanimeerde effecten geĆÆmplementeerd.
- In de plug-in Vswitch zijn koppelingen toegevoegd voor het verplaatsen van een element naar een bepaalde virtuele werkruimte.
- De implementaties van Wayland-protocollen zijn uit de basiscomponenten gehaald en in aparte plug-ins wayfire-shell, foreign-toplevel en gtk-shell geplaatst.
- Er is ondersteuning toegevoegd voor het Wayland-protocol "xdg-activation", dat het mogelijk maakt om de focus tussen verschillende bovenliggende oppervlakken over te dragen (bijvoorbeeld kan met xdg-activation ƩƩn applicatie de focus naar een andere schakelen).
- Voor het paneel zijn nieuwe widgets gepresenteerd, waaronder een systeemtray, meldingen en een afsluitdialoog. Ook is de widget Command-output toegevoegd, die het mogelijk maakt om de resultaten van willekeurige commando's in het paneel weer te geven.
- De in het project ontwikkelde wf-shell-paneel, de wf-config bibliotheek en de wcm configurator zijn bijgewerkt.

- De API voor het maken van plugins is uitgebreid en herzien. Enerzijds heeft de herziening de compatibiliteit met veel oudere plugins verstoord, maar anderzijds zijn de meeste problemen opgelost die eerder de werking verstoorden. Voor het werken met schermlijsten, lagen en weergaven is een nieuwe structuur voor scenegraph voorgesteld. De programmatische interface voor View, verantwoordelijk voor het weergeven van applicatievensters, is herzien. Er is een transactiesysteem toegevoegd dat het mogelijk maakt om gelijktijdig meerdere bovenliggende oppervlakten en bijbehorende eigenschappen automatisch bij te werken, en de status van het decoreren van vensters te synchroniseren met het hoofdvenster.
Bron: opennet.ru


