diff options
Diffstat (limited to '')
| -rw-r--r-- | dwl.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| @@ -1607,6 +1607,7 @@ outputmgrapplyortest(struct wlr_output_configuration_v1 *config, int test)  	/* Then enable outputs that need to */  	wl_list_for_each(config_head, &config->heads, link) {  		struct wlr_output *wlr_output = config_head->state.output; +		Monitor *m = wlr_output->data;  		if (!config_head->state.enabled)  			continue; @@ -1619,8 +1620,11 @@ outputmgrapplyortest(struct wlr_output_configuration_v1 *config, int test)  					config_head->state.custom_mode.height,  					config_head->state.custom_mode.refresh); -		wlr_output_layout_move(output_layout, wlr_output, -				config_head->state.x, config_head->state.y); +		/* Don't move monitors if position wouldn't change, this to avoid +		 * wlroots marking the output as manually configured */ +		if (m->m.x != config_head->state.x || m->m.y != config_head->state.y) +			wlr_output_layout_move(output_layout, wlr_output, +					config_head->state.x, config_head->state.y);  		wlr_output_set_transform(wlr_output, config_head->state.transform);  		wlr_output_set_scale(wlr_output, config_head->state.scale); | 
