After almost three years of development, the release of the Wayfire 0.8 composite server has been published, which uses Wayland and allows for the creation of resource-friendly user interfaces with 3D effects reminiscent of 3D plugins for Compiz (screen switching via a 3D cube, spatial window layout, morphing while working with windows, etc.). Wayfire supports extension through plugins and offers a flexible configuration system. The project's code is written in C++ and is distributed under the MIT license.
The project is built on the wlroots library, developed by the Sway desktop environment creators, providing basic functions for organizing a composite manager based on Wayland. Management of sessions can use systemd, elogind, or seatd. Launching X11 applications is supported via XWayland. The wf-shell from the Wayfire developers or the third-party panel LavaLauncher can be used as a panel. The project is also developing the wf-config library for working with configuration files and the graphical configurator wcm.
In the new version:
- A new plugin called 'wsets' (Workspace sets) has been added, allowing for the management of collections. virtual desktopsIn a collection, desktops related to a specific theme (for example, working on a main project, working on a personal project, entertainment) can be grouped for simultaneous viewing on the screen. The user can switch to another collection at any time and obtain a different set of virtual desktops. Each screen can display its own collection of desktops (for example, an external monitor can use a collection for entertainment, while the built-in laptop screen uses a work collection). Moving collections between screens is supported.

- The ability to control the composite manager through IPC commands sent via a network socket has been provided. This functionality is realized through the ipc plugin and additional command handling plugins, such as the ipc-rules plugin, which includes basic window management commands. Future plans include adding support for additional commands and events.
- Navigation between virtual desktops using the keyboard has been added.
- Animated effects have been implemented in the simple-tile plugin.
- The Vswitch plugin has added bindings for moving an item to a specific virtual desktop.
- The implementations of the Wayland protocols have been moved out of the core into separate plugins: wayfire-shell, foreign-toplevel, and gtk-shell.
- Support for the Wayland protocol 'xdg-activation' has been added, which allows the focus to be transferred between different top-level surfaces (for example, using xdg-activation, one application can switch focus to another).
- The panel has new widgets featuring a system tray, notifications, and shutdown dialogue. A Command-output widget has also been added, allowing the panel to display the results of executing arbitrary commands.
- The project has updated the wf-shell panel, the wf-config library, and the wcm configurator.

- The API for creating plugins has been expanded and redesigned. On one hand, the redesign has broken compatibility with many old plugins, but on the other hand, it has solved most of the issues that were previously hindering operation. A new scenegraph structure has been proposed for working with lists of screens, layers, and views. The interface of the View, responsible for representing application windows, has been redesigned. A transaction system has been added, allowing multiple top-level surfaces and their properties to be updated simultaneously and automatically, as well as synchronizing the decoration state of windows with the main window.
Source: opennet.ru


