]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
Do not pass --fb when disabling scaling
authorPhillip Berndt <phillip.berndt@googlemail.com>
Sun, 31 Jul 2022 17:40:12 +0000 (19:40 +0200)
committerPhillip Berndt <phillip.berndt@googlemail.com>
Sun, 31 Jul 2022 17:40:12 +0000 (19:40 +0200)
Second part of the fix for #296.

autorandr.py

index fe1906d16e83b2fed2f71ddbee8592eee1ce6ff9..f22b218e7e2f5094c8572033d32f50a9ae570fe1 100755 (executable)
@@ -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: