Matthew Kosarek, a developer at Canonical, has released version 0.4 of the miracle-wm compositing manager, which uses the Wayland protocol and Mir compositing manager components. Miracle-wm supports tiling windows, similar to those in the i3 and Sway projects. A Waybar can be used as a panel. The project's code is written in C++ and is distributed under the GPLv3 license. The finished builds are available in snap format, as well as rpm and deb packages for Fedora and Ubuntu.
The purpose of miracle-wm is to create a composite Server, which uses tiling, but is more functional and stylish than products like Swayfx. The project also supports classic floating window techniques, such as placing individual windows on top of a tiling grid or pinning windows to a specific location on the desktop. It supports virtual desktops, with the ability to set a default window management mode for each desktop (tiling or floating windows).
Miracle-wm is intended to be useful for users who prefer a tiled layout but want visual effects and a more vibrant graphical design with smooth transitions and colors. The configuration is defined in YAML format. To install miracle-wm, you can use the command "sudo snap install miracle-wm --classic".

When preparing the new version, the main focus was on providing full support for the IPC protocol of the i3 window manager, on the basis of which the IPC protocol for interaction with the Sway composite manager is also built. In miracle-wm 0.4, almost all i3 IPC features are implemented, except for calls for marking and selecting windows, which significantly improved compatibility with third-party projects that support i3 IPC, such as the waybar panel and the nwg-shell graphical shell.
Other changes include:
- Stacked window layout mode.
- Combine windows into groups and switch between group elements using tabs.
- Work in multi-monitor configurations and the ability to move windows and window groups to other output devices.
- Ability to assign arbitrary names to virtual desktops, not limited to digital identifiers.
- i3-compatible window layout commands.
- Integration with systemd: launch via session manager, handle specific events, send logs directly to journal.
- The miraclemsg utility (a fork of swaymsg) is used to send control commands to the window manager, such as commands to change the input focus or move a window from one desktop to another.
Future ideas include support for overview navigation mode for windows and desktops; context menus with actions on windows, picture-in-picture mode; a mode with the active window displayed in the center of the screen; a graphical configurator; a native application panel and a scrollable virtual work with the ability to go beyond the screen.
Source: opennet.ru
