There’s a new MirAL release (0.3.0) available in ‘Zesty Zapus’ (Ubuntu 17.04). 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.3.0 fall into three categories:
- enabling keymap in newer Mir versions; and,
- additional features for shell developers to use.
#1631958 Crash after closing Qt dialog
#1632325, #1633052 tooltips positioned wrong with mir-0.24
#1625849 [Xmir] Alt+` switch between different X11-apps not just windows.
Added miral-xrun as a better way to use Xmir
(unnumbered) miral-shell splash screen should be fullscreen.
(unnumbered) deduplicate logging of WindowSpecification::top_left
Enabling Keyboard Map in newer Mir versions
A new class miral::Keymap allows the keyboard map to be specified either programmatically or (by default) on the command line. Being in the UK I can get a familiar keyboard layout like this:
miral-shell --keymap gb
The class is also provided on Mir versions prior to 0.24.1, but does nothing.
Additional Features For Shell Developers To Use
#1629349 Shell wants way to associate initially requested window creation state with the window later created.
Shell code can now set a userdata property on the WindowSpecification in place_new_surface() and this is transferred to the WindowInfo.
Added miral/version.h to allow permit compile-time feature detection. If you want to detect different versions of MirAL at compile time you can, for example, write:
#include <miral/version.h> #if MIRAL_VERSION >= MIR_VERSION_NUMBER(0, 3, 0) #include <miral/keymap.h> #endif
A convenient overload of WindowManagerTools::modify_window() that
doesn’t require the WindowInfo