Commit b9454fde authored by Philipp Zabel's avatar Philipp Zabel Committed by Daniel Stone

weston: keep non-desktop displays turned off by default

Keep non-desktop heads representing e.g. head mounted displays turned off by
default. When using the DRM backend they can still be enabled by setting an
explicit [output] mode (or "mode=preferred") in weston.ini.
Signed-off-by: Philipp Zabel's avatarPhilipp Zabel <philipp.zabel@gmail.com>
parent 61dc4ca9
......@@ -1411,13 +1411,15 @@ simple_heads_changed(struct wl_listener *listener, void *arg)
bool connected;
bool enabled;
bool changed;
bool non_desktop;
while ((head = weston_compositor_iterate_heads(wet->compositor, head))) {
connected = weston_head_is_connected(head);
enabled = weston_head_is_enabled(head);
changed = weston_head_is_device_changed(head);
non_desktop = weston_head_is_non_desktop(head);
if (connected && !enabled) {
if (connected && !enabled && !non_desktop) {
simple_head_enable(wet, head);
} else if (!connected && enabled) {
simple_head_disable(head);
......@@ -1715,14 +1717,16 @@ drm_head_prepare_enable(struct wet_compositor *wet,
section = drm_config_find_controlling_output_section(wet->config, name);
if (section) {
/* skip outputs that are explicitly off, the backend turns
* them off automatically.
/* skip outputs that are explicitly off, or non-desktop and not
* explicitly enabled. The backend turns them off automatically.
*/
weston_config_section_get_string(section, "mode", &mode, NULL);
if (mode && strcmp(mode, "off") == 0) {
free(mode);
return;
}
if (!mode && weston_head_is_non_desktop(head))
return;
free(mode);
weston_config_section_get_string(section, "name",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment