Browse Source

turns off disconnected outputs

master
mortie 6 years ago
parent
commit
6c64585a5e
1 changed files with 21 additions and 3 deletions
  1. 21
    3
      modules/display/index.js

+ 21
- 3
modules/display/index.js View File

@@ -36,8 +36,23 @@ function findRate(mode, rate) {
return null;
}

function applyRule(primary, rule, display) {
function randr(args) {
var cmd = "xrandr";

var child = spawn(cmd, args);
child.stderr.on("data", d => logger.warn("xrandr:", d.toString()));
}

function turnOff(display) {
var args = [
"--output", display.id,
"--off"
];

randr(args);
}

function applyRule(primary, rule, display) {
var args = [ "--output", display.id ];

if (rule.rate != null && rule.mode == null)
@@ -90,8 +105,7 @@ function applyRule(primary, rule, display) {
}
}

var child = spawn(cmd, args);
child.stderr.on("data", d => logger.warn("xrandr:", d.toString()));
randr(args);
}

function onchange() {
@@ -102,6 +116,10 @@ function onchange() {
}

xrandr.list(data => {

// Trun off all disconnected displays
data.displays.filter(d => !d.connected).forEach(turnOff);

var displays = data.displays.filter(d => d.connected);
var primary = displays.filter(d => d.primary)[0];


Loading…
Cancel
Save