From 4653ea6c5d8bf98bd8e2f34fe8a225f6abdbd3a5 Mon Sep 17 00:00:00 2001 From: Phillip Berndt Date: Sun, 31 Jul 2022 19:40:12 +0200 Subject: [PATCH] Do not pass --fb when disabling scaling Second part of the fix for #296. --- autorandr.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/autorandr.py b/autorandr.py index fe1906d..f22b218 100755 --- a/autorandr.py +++ b/autorandr.py @@ -889,10 +889,10 @@ def apply_configuration(new_configuration, current_configuration, dry_run=False) fb_dimensions = get_fb_dimensions(new_configuration) try: - base_argv += ["--fb", "%dx%d" % fb_dimensions] + fb_args = ["--fb", "%dx%d" % fb_dimensions] except: # Failed to obtain frame-buffer size. Doesn't matter, xrandr will choose for the user. - pass + fb_args = [] auxiliary_changes_pre = [] disable_outputs = [] @@ -942,6 +942,11 @@ def apply_configuration(new_configuration, current_configuration, dry_run=False) if call_and_retry(argv, dry_run=dry_run) != 0: raise AutorandrException("Command failed: %s" % " ".join(argv)) + # Starting here, fix the frame buffer size + # Do not do this earlier, as disabling scaling might temporarily make the framebuffer + # dimensions larger than they will finally be. + base_argv += fb_args + # Disable unused outputs, but make sure that there always is at least one active screen disable_keep = 0 if remain_active_count else 1 if len(disable_outputs) > disable_keep: -- 2.39.2