commit 423459723bc488b69aa6fafcc9aa4e13fdf92717
parent 4666d1785bfb6635e6e8604de383c91714bceebc
Author: Simon Ser <contact@emersion.fr>
Date: Mon, 20 Feb 2023 18:56:43 +0100
Adjust scale for fractional-scale-v1
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/sway/config/output.c b/sway/config/output.c
@@ -460,6 +460,16 @@ static void queue_output_config(struct output_config *oc,
float scale;
if (oc && oc->scale > 0) {
scale = oc->scale;
+
+ // The factional-scale-v1 protocol uses increments of 120ths to send
+ // the scale factor to the client. Adjust the scale so that we use the
+ // same value as the clients'.
+ float adjusted_scale = round(scale * 120) / 120;
+ if (scale != adjusted_scale) {
+ sway_log(SWAY_INFO, "Adjusting output scale from %f to %f",
+ scale, adjusted_scale);
+ scale = adjusted_scale;
+ }
} else {
scale = compute_default_scale(wlr_output, pending);
sway_log(SWAY_DEBUG, "Auto-detected output scale: %f", scale);