<gap>0</gap>
<adaptiveSync>no</adaptiveSync>
<allowTearing>no</allowTearing>
+ <autoEnableOutputs>yes</autoEnableOutputs>
<reuseOutputMode>no</reuseOutputMode>
<xwaylandPersistence>yes</xwaylandPersistence>
</core>
consider setting the environment variable WLR_DRM_NO_ATOMIC=1 when
launching labwc.
+*<core><autoEnableOutputs>* [yes|no]
+ Automatically enable outputs at startup and when new outputs are
+ connected. Default is yes.
+
+ Caution: Disabling this option will make the labwc session unusable
+ unless an external tool such as `wlr-randr` or `kanshi` is used to
+ manage outputs.
+
*<core><reuseOutputMode>* [yes|no]
Try to re-use the existing output mode (resolution / refresh rate).
This may prevent unnecessary screenblank delays when starting labwc
<gap>0</gap>
<adaptiveSync>no</adaptiveSync>
<allowTearing>no</allowTearing>
+ <autoEnableOutputs>yes</autoEnableOutputs>
<reuseOutputMode>no</reuseOutputMode>
<xwaylandPersistence>yes</xwaylandPersistence>
</core>
int gap;
enum adaptive_sync_mode adaptive_sync;
enum tearing_mode allow_tearing;
+ bool auto_enable_outputs;
bool reuse_output_mode;
enum view_placement_policy placement_policy;
bool xwayland_persistence;
set_adaptive_sync_mode(content, &rc.adaptive_sync);
} else if (!strcasecmp(nodename, "allowTearing.core")) {
set_tearing_mode(content, &rc.allow_tearing);
+ } else if (!strcasecmp(nodename, "autoEnableOutputs.core")) {
+ set_bool(content, &rc.auto_enable_outputs);
} else if (!strcasecmp(nodename, "reuseOutputMode.core")) {
set_bool(content, &rc.reuse_output_mode);
} else if (!strcmp(nodename, "policy.placement")) {
rc.gap = 0;
rc.adaptive_sync = LAB_ADAPTIVE_SYNC_DISABLED;
rc.allow_tearing = false;
+ rc.auto_enable_outputs = true;
rc.reuse_output_mode = false;
#if LAB_WLR_VERSION_OLDER_THAN(0, 18, 2)
wlr_scene_node_raise_to_top(&server->menu_tree->node);
wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
- configure_new_output(server, output);
+ if (rc.auto_enable_outputs) {
+ configure_new_output(server, output);
+ }
+
do_output_layout_change(server);
}