Fans of tiling window managers like i3, Sway, and Hyprland will be interested to hear there’s a new option in town called Miracle-WM.
Created by Canonical engineer Matthew Kosarek, Miracle-WM is notable for being a Wayland compositor that is based on Mir.
For those with long memories, Mir began life as a replacement for X. It was intended to become the default display server in Ubuntu desktop instead of Wayland. Controversy and acrimony ensued, then Canonical’s plans for Ubuntu changed, and so did the scope and purpose of Mir.
Development on Mir continued and the project matured as it focused on Ubuntu’s IoT customers. Today, it’s embraced life as a Wayland compositor — and, lo Miracle-WM is able to make use of the tech to help power its Wayland-based tiling window manager experience:
Kosarek says “the goal of the project” is to provide a tiling window manager that does everything people need whilst “enabling flashier graphics for those of us who prefer a desktop full of smooth transitions and colors”, akin to swayfx somewhat.
— sounds like a dream to me!
For its first release Miracle-WM supports common tiling window placement, including resizing, gaps, and full-screen windows, keyboard shortcuts, accommodates panels with exclusion zones, workspaces, and works with multi-monitor setups.
It also supports configuration through a config file (~/.config/miracle-wm.yaml
). There you can (currently) set a gap size, define the action key, specify startup apps, over-ride default keybindings, and create your own custom shortcuts.
More configuration options and more WM features are on the roadmap.
Installing miracle-wm in Ubuntu
You can find source-code for Miracle-WM on GitHub, which provides details on how to build it from source — not that you need to.
A miracle-wm Snap package is available which makes it simple to install this window manager in any version of Ubuntu:
sudo snap install miracle-wm --classic
Once installed, logout of the current session and use the session selector (cog icon) at the login screen to select the “Miracle” session. Then proceed to login as normal.
Just do not expect to see much you first login. As with other tiling window managers you will need to create the aforementioned configuration file to define the apps you need on startup (e.g., waybar
, wofi
, swaybg
– all pictured in my screenshot near the top).
To help you get a usable experience on miracle-wm without needing to log out, in, out, in, etc you may prefer to edit the configuration file and run miracle-wm in a window on your current desktop:
WAYLAND_DISPLAY=wayland-98 miracle-wm
Miracle-WM is not yet stable, reliable, or intended for daily usage. Kosarek has announced the project in an effort to get people to test it out, report bugs, and contribute fixes (and yes, he’s open to requests for packaging formats other than snaps too).
The first stable release, v1.0.0, is tentatively planned for July 2024.
If you give this a go be sure to come back and let me know what you think of it, how well it runs, and what kind of features you’d like to see it gain in the future.