tests: Take screenshots with different locales
I chatted with Mechtilde on how we currently not test different locales automatically for visual breakage and she suggested at least taking screenshots and making them easily browsable which is a great idea.
This prompted for a bunch of other changes to make this feasible:
- drop the
-Dg_test=truemeson option to only run tests with newer glib, rather detect the glib version at runtime
- switch CI to bookworm to exercise these tests since bookworm has recent enough glib to not deadlock when we spawn calls-manager mock and phosh
- collect test results in CI and make navigating/selection those simpler by adding a suite to all of them, update docs
- use a cancelable in the media-player since otherwise we can't shut down properly when messing with the bus and the player still processes name changes
- use a sane device resolution for phoc in the tests which will hopefully also make it easy to spot scaling issues
- allow to send modifiers via faked keyboard in tests as well
- handle toggle-message-tray keybinding (not perfect since we don't focus the tray yet but sufficient for the tests)
- take screenshots at different locales so we see RTL as well. These are currently time based since we need to wait for animations to finish and the screenshot to be writteh but we can wire that up to
donesignals in the future since phosh is run as a library in process.
- some more minor tweaks here and there
The screenshots currently lack the wifi icon since there's no wifi device in the container but we can improve on that in iterations (same for battery)
@bertob with this all MRs will have a screenshot URL automatically easily accessible under "view exposed artifacts" which might make design review simpler as well.