diff --git a/src/state.rs b/src/state.rs index ce546505..24ccd9e1 100644 --- a/src/state.rs +++ b/src/state.rs @@ -956,8 +956,11 @@ impl Common { ); if let Some(output) = primary_scanout_output { with_fractional_scale(states, |fraction_scale| { - fraction_scale - .set_preferred_scale(output.current_scale().fractional_scale()); + // The 1.0 clamp is a workaround for Chromium + // TODO: remove if Chromium ever gets fixed + fraction_scale.set_preferred_scale( + output.current_scale().fractional_scale().max(1.0), + ); }); } } diff --git a/src/wayland/handlers/fractional_scale.rs b/src/wayland/handlers/fractional_scale.rs index aea0cc7e..dcc8d7f9 100644 --- a/src/wayland/handlers/fractional_scale.rs +++ b/src/wayland/handlers/fractional_scale.rs @@ -49,7 +49,10 @@ impl FractionalScaleHandler for State { with_states(&surface, |states| { with_fractional_scale(states, |fractional_scale| { - fractional_scale.set_preferred_scale(output.current_scale().fractional_scale()); + // The 1.0 clamp is a workaround for Chromium + // TODO: remove if Chromium ever gets fixed + fractional_scale + .set_preferred_scale(output.current_scale().fractional_scale().max(1.0)); }); }); }