Repository navigation
Maul Window 0.9.0
Monitors' HDR facts and variable refresh on every backend, Android's
display as a monitor, pens on Wayland and X11, Linux gamepads'
batteries and X11's refresh rate: the gaps the requirements audit after
0.8.1 found. mwinHdrFacts gains a field, so the ABI changes.
Added
- Linux gamepads report their battery where the kernel tells it: the
power supply a wireless pad's driver (hid-playstation, hid-nintendo,
xpadneo and others) registers beside the input device, read when the
pad connects and every five seconds after, a change told as
mwin_eventGamepadChanged. mwinHdrFacts.headroom, the peak luminance over SDR white the output
can show now (1 where it shows nothing brighter than SDR white, 0
where unknown), for platforms that tell headroom and no nits
(mwin-0036).- X11 monitors report their HDR luminances from the EDID RandR shows
(HDR output never on) and variable refresh from thevrr_capable
output property; a change of either is a monitor change. The EDID
parser checks every checksum and block length and is fuzzed. - Win32 monitors report whether HDR output is on and the SDR white level
(DisplayConfig; wide color forced on an SDR display is not HDR), the
luminances from the EDID in the monitor's registry key, and the
headroom from both. The backend links setupapi. - Wayland monitors report their HDR facts where the compositor offers
the color manager (wp_color_manager_v1, vendored from
wayland-protocols 1.45): HDR output on with a PQ, HLG or extended
linear transfer function, the target content light levels, SDR
white's luminance and the headroom, there from the first frame and a
change of the output's image description told as a monitor change. - macOS and iOS (16 and later) monitors report their extended dynamic
range: the headroom the screen shows once content asks for EDR, and
whether EDR is on now; Apple gives no nits. - Android lists its activity's display as the one monitor, the window's:
its name, size, physical size, scale and refresh rate, and its HDR
facts (the desired luminances; HDR on and the headroom from the
HDR/SDR ratio on Android 14 and later) and adaptive refresh on Android
16 as variable refresh, read when an activity starts or its
configuration changes and every two seconds after. - On the web the screen's monitor reports whether it shows HDR
(dynamic-range: high), with no luminance, and tells a change. - Wayland posts pen records from tablets (
zwp_tablet_manager_v2,
mwin-0037): position, pressure, tilt, contact, the barrel button and
the eraser, with the window's cursor shown for the tool, and no mouse
record, as compositors emulate the pointer only for a client without
the tablet seat. - X11 posts pen records from tablets' XInput2 devices (mwin-0037): a
slave pointer of X input type STYLUS or ERASER, or of type TABLET or
none with an eraser in its name or a pressure valuator, gives
pressure and tilt from its labelled valuators, contact from its tip
and the barrel from button 2, and no mouse record. - X11 monitors report their refresh rate, from the timings of their
output's CRTC mode (0 where the mode has none, as Xvfb's).
Changed
- On Wayland and the web a monitor is told changed only when one of
its facts changed, as on the other backends.