+ if (output.connected && output.power_mode == mir_power_mode_on &&
Should be just 'if (output.used &&'. Because we don't want to include unused but connected outputs, and we DO want to include used but sleeping outputs (they should turn on when the cursor moves anyway).
+ if (output.connected && output.power_mode == mir_power_mode_on &&
Should be just 'if (output.used &&'. Because we don't want to include unused but connected outputs, and we DO want to include used but sleeping outputs (they should turn on when the cursor moves anyway).