After the Mir 1.3.0 release a few days ago, we landed several key PRs that enable shell components to run in Mir. Unlike Gnome, Mir does not aim to require all panels, notifications, on-screen keyboards, etc to be built into the desktop shell. Running such shell components “out-of-process” has a few advantages:
- Stability: if an in-process piece of the shell crashes, it can take down the entire desktop environment and all the applications running on it. If an out-of-process program crashes, it does not effect anything else and can be easily restarted.
- Compatibility: if components run out-of-process and use standard protocols, they can run on multiple shells. For example the wayland support branch of MATE Panel works on both Sway and Mir.
The first iteration of out-of-process shell component support has just landed in Mir. We currently support Layer Shell, which so far is the most widely used Wayland extension for such things. For security reasons, we disable Layer Shell by default. Shells can turn it on, or users can with the