output-management-v1: only create custom mode object for enabled heads
We were always creating a custom mode object when the output didn't have a fixed mode. This is important to handle two cases:
- Virtual outputs with no concept of fixed modes.
- DRM outputs with a list of fixed modes but with a custom mode set.
However, in the case where an output didn't have a fixed mode and was disabled, we were also creating the custom mode object. Clients would then see a "ghost" mode: a mode object with no properties at all.
Fix this by only creating the custom mode object if the output is enabled.
Fixes: 5de9e1a9 ("wlr-output-management: Send custom modes to clients")
Closes: https://github.com/swaywm/sway/issues/8420
Edited by Simon Ser