]> oss.titaniummirror.com Git - dispcfg.git/blobdiff - configure_displays
Ensure restarted displays are restarted
[dispcfg.git] / configure_displays
index 5d122a11dcedb28066c5e9ecdc4a7c9ddc6c26dd..34f3762862f9749c3189b7198937c581211d98cb 100755 (executable)
@@ -130,13 +130,14 @@ def disable_an_entry(outputs):
     return 0
 
 
-def enable_an_entry(outputs):
+def enable_an_entry(outputs, new_enable):
     enables = 0
     for output in reversed(outputs):
         if not output['done'] and output['use']:
-            xrandr_on(output)
-            output['done'] = True
-            return 1
+            if new_enable or output['connected']:
+                xrandr_on(output)
+                output['done'] = True
+                return 1
     return 0
 
 
@@ -186,8 +187,7 @@ if __name__ == '__main__':
         while not all_done(outputs):
             if enabled_count > 1:
                 enabled_count -= disable_an_entry(outputs)
-            if enabled_count < 2:
-                enabled_count += enable_an_entry(outputs)
+            enabled_count += enable_an_entry(outputs, enabled_count < 2)
 
 
     main(sys.argv)