There’s a new MirAL release (0.5.0) available in ‘Zesty Zapus’ (Ubuntu 17.04) and the so-called “stable phone overlay” ppa for ‘Xenial Xerus’. MirAL is a project aimed at simplifying the development of Mir servers and particularly providing a stable ABI and sensible default behaviors.
Unsurprisingly, given the project’s original goal, the ABI is unchanged. The changes in 0.5.0 fall are:
- Some utility scripts to for common tasks;
- Improved “–window-manager tiling” mode of miral-shell;
- More configuration options for miral-kiosk;
- miral::DebugExtension; and,
- Some minor bug fixes.
Some utility scripts to for common tasks
There are two of these: miral-desktop and miral-screencast.
miral-desktop creates a pseudo-desktop session:
miral-desktop - Handy launch script for a miral "desktop session"
Usage: miral-desktop [options] [shell options]
-kiosk use miral-kiosk instead of miral-shell
-launcher <launcher> use <launcher> instead of 'gnome-terminal --app-id com.canonical.miral.Terminal'
-vt <termid> set the virtual terminal 
-socket <socket> set the mir socket [/run/user/1000/mir_socket]
-bindir <bindir> path to the miral executable
For example, I use this to test the “tiling” window management with a UK keyboard layout:
$ miral-desktop -launcher qterminal --window-manager tiling --keymap gb
miral-screencast captures the Mir display (until you press enter) and then encodes it as an mp4:
miral-screencast - screencast capture script for use with Mir servers
Usage: /usr/bin/miral-screencast [options]
--width set the capture width 
--height set the capture height 
--output set the output filename [screencast.mp4]
--socket set the mir socket [/run/user/1000/mir_socket]
Improved “–window-manager tiling” mode of miral-shell
This has been updated to keep the focused window on the left half of the display (unless there’s only one window) and divide the right side vertically between the remaining windows. There’s also been a general refresh of the code that fixed a lot of minor issues.
More configuration options for miral-kiosk
The miral-kiosk now supports a few more options:
- –keymap allows for non-US keyboard layout;
- –kiosk-maximize-root-window kiosk has a new default behavior of maximizing root window, but this can be changed;
- –kiosk-startup-apps-only prevents new connections after startup
This allows shells to enable (or disable) the client API “debug” extensions dynamically (AFAICS only useful for automated testing).
Some minor bug fixes
There was a race condition handling fullscreen surfaces when reconfiguring the display for hardware changes, the gmock version in zesty caused a FTBFS, and the clang version in zesty picked up some template instantiation issues.