Open matrss opened 1 year ago
We maybe should also add a lightwight window manager. Some of the UI elements behave different without a manager.
e.g. moving a widget, min-/maximize by the border handles is not possible
Do any of the tests actually do that (e.g. test window resizing, moving)? We could introduce a window manager for that if we actually tested this, but if we don't then I see no point in cementing this Xorg dependency (since window managers are purely a Xorg thing). For wayland we could use sway, but then again I don't see a point if we don't actually utilize this in the tests (and if we want to be thorough we would have to test against a lot of different window managers / wayland compositors because they can all behave slightly differently).
If we used QT_QPA_PLATFORM=offscreen
instead we would acknowledge that the correctness of the general behavior of the windows (resizing, moving, min-/maximizing) on any given "backend" is the responsibility of QT, not us. That's part of what a GUI framework brings to the table, after all. As a side effect, we could then get rid of the optional dependency on xvfb from outside of mamba and have all dependencies come from one place.
So what I am proposing is more like the opposite of introducing a window manager.
the tutorials will need that, but that can become a different solution, maybe that can be part of a GSoC project.
cleanup of testing.yml can be done after 9.0.0 is released
Currently MSS' test suite uses Xvfb and pyvirtualdisplay to run tests invisibly. This is fine, except that it introduces somewhat unnecessary overhead through the X server and that X is getting replaced by wayland more and more (e.g. KDE Plasma 6 is supposed to default to wayland when it is released). Since we do not require X specific features AFAIK (mouse or keyboard input emulation or anything like that) we can switch to the QT-native way: set
QT_QPA_PLATFORM=offscreen
and just let QT render to an offscreen buffer instead.