crash-override
Version:
Control system functions (restart/shutdown/volume/screensaver etc)
49 lines (39 loc) • 1.04 kB
JavaScript
var spawn = require('child_process').spawn;
function sudo(args, cb) {
cmd("sudo", args, cb);
}
function cmd(bin, args, cb) {
var proc = spawn(bin, args);
if (cb) {
proc.on('close', function(code) {
cb(code === 0
? null
: new Error("command exited with status: " + code));
});
}
}
exports.restart = function(cb) {
sudo("reboot", [], cb);
}
exports.shutdown = function(cb) {
sudo("shutdown", ["-h", "now"], cb);
}
exports.sleep = function(cb) {
// ...
}
exports.mute = function(cb) {
cmd("amixer", ["set", "Master", "mute"], cb);
}
exports.unmute = function(cb) {
cmd("amixer", ["set", "Master", "unmute"], cb);
}
exports.setVolume = function(val, cb) {
val = Math.floor(val * 100);
cmd("amixer", ["set", "Master", val + '%'], cb);
}
exports.startScreensaver = function(cb) {
cmd("xscreensaver-command", ["-activate"], cb);
}
exports.stopScreensaver = function(cb) {
cmd("xscreensaver-command", ["-deactivate"], cb);
}