Deprecate parts of wl_output and xdg_output
These protocols have parts that each suffer from at least one of the following problems:
- They serve no purpose in unprivileged applications.
- They cannot be used correctly in unprivileged applications.
- They have replacements that don't suffer from these deficiencies.
The parts:
- wl_output::geometry except the subpixel field (which might be unused by compositors in any case)
- wl_output::mode
- wl_output::scale
- xdg_output::logical_position
- xdg_output::logical_size
Most of these cannot be used correctly by unprivileged applications unless
- The compositor allows only one entered output per wl_surface
- The compositor only supports one surface transform/scale per wl_output
- The compositor uses a desktop-like layout (in contrast to virtual-reality compositors etc)
Some of them serve no purpose in unprivileged applications:
- Such applications have no need for output positions/sizes/modes.
They are still useful in some privileged applications:
- Screenshot applications that want to stitch together the entire screen.
- Output management applications.
- Shell components.
However, such applications can also be served by using appropriate privileged protocols (which might not yet exist.)
Xwayland already uses Xwayland-only protocols. These protocols can be enhanced to transmit the necessary information.
Therefore I would like to
- hard-code these fields to 0 in future protocol versions
- omit the events entirely if otherwise all of their fields would be 0.
Edited by Julian Orth