@@ -603,19 +603,14 @@ void comp_output_update_sizes(struct comp_output *output) {
603603 wlr_scene_node_set_position (& output -> object .scene_tree -> node ,
604604 output -> geometry .x , output -> geometry .y );
605605
606- // Also marks the blur as dirty
607- wlr_scene_optimized_blur_set_size (output -> layers .optimized_blur_node ,
608- output -> geometry .width ,
609- output -> geometry .height );
610-
611606 comp_output_arrange_layers (output );
612607 comp_output_arrange_output (output );
613608
614609 // TODO: Update toplevel positions/tiling/sizes Only enable for actual
615610 // outputs
616- // printf("GEO: %i %i %ix%i\n", output->geometry.width,
617- // output->geometry.height, output->geometry.x,
618- // output->geometry.y );
611+
612+ // Also marks the blur as dirty
613+ wlr_scene_optimized_blur_mark_dirty ( output -> layers . optimized_blur_node );
619614}
620615
621616void comp_output_move_workspace_to (struct comp_output * dest_output ,
@@ -777,6 +772,12 @@ void comp_output_arrange_output(struct comp_output *output) {
777772 wlr_scene_node_set_enabled (& output -> layers .shell_top -> node ,
778773 !is_fullscreen && !is_locked );
779774 wlr_scene_node_set_enabled (& output -> layers .shell_overlay -> node , !is_locked );
775+
776+ int output_width , output_height ;
777+ wlr_output_effective_resolution (output -> wlr_output , & output_width ,
778+ & output_height );
779+ wlr_scene_optimized_blur_set_size (output -> layers .optimized_blur_node ,
780+ output_width , output_height );
780781}
781782
782783static void arrange_layer_surfaces (struct comp_output * output ,
0 commit comments