mirror of
https://github.com/tomru/switchmon.git
synced 2026-03-03 06:27:23 +01:00
update readme and usage
This commit is contained in:
44
cli.js
44
cli.js
@@ -2,44 +2,21 @@
|
||||
'use strict';
|
||||
|
||||
const argv = require('minimist')(process.argv.slice(2));
|
||||
|
||||
const swm = require('./swm.js');
|
||||
const config = require('./config.js');
|
||||
const usage = require('./usage.js');
|
||||
|
||||
const postCmd = argv.postCmd || config.postCmd;
|
||||
const profile = argv.profile || argv.p;
|
||||
|
||||
function connectionStatus(device) {
|
||||
return device.connected ? 'Connected' : 'Disconnected';
|
||||
}
|
||||
|
||||
if (argv.help || argv.h) {
|
||||
console.log(
|
||||
`Simple helper for turning on/off connected/disconnected monitors with 'xrandr'.
|
||||
|
||||
Usage:
|
||||
|
||||
'swm [monitor-1...montior-n] [--postCmd="cmd"]' e.g. 'swm LVDS1 HDMI1'
|
||||
|
||||
If 'monitor-1' to 'monitor-n' is specified 'swm' will turn on these monitors
|
||||
and place them from left to right in the order given. If a provided monitor is
|
||||
not connected it will be skipped.
|
||||
|
||||
If no monitors are specified all connected monitors will be turned on and
|
||||
placed from left to right in alphabetical order of their name.
|
||||
|
||||
If "--postCmd" is given, this command is executed after switching the monitors.
|
||||
This is usefull to tell your window manager to re-detect monitors, e.g. for
|
||||
herbstluftwm "herbstclient reload".
|
||||
|
||||
'swm -l' or 'swm --list'
|
||||
|
||||
List all devices with the connectivity status.
|
||||
|
||||
The configuration can be placed in "$XDG_CONFIG_HOME/switchmon/config.json" in
|
||||
the form of
|
||||
|
||||
{
|
||||
"postCmd": "some command"
|
||||
}`
|
||||
|
||||
);
|
||||
|
||||
process.exit(2);
|
||||
console.log(usage);
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const devices = swm.getDevices();
|
||||
@@ -50,7 +27,7 @@ if (argv.list || argv.l) {
|
||||
console.log('Detected devices:\n');
|
||||
Object.keys(devices)
|
||||
.sort(key => !devices[key].connected)
|
||||
.forEach(key => console.log(key + ':', devices[key].connected ? 'Connected' : 'Disconnected'));
|
||||
.forEach(key => console.log(key + ':', connectionStatus(devices[key])));
|
||||
process.exit(0);
|
||||
});
|
||||
} else {
|
||||
@@ -73,5 +50,6 @@ if (argv.list || argv.l) {
|
||||
.then(swm.executePostCmd.bind(null, postCmd))
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
process.exit(2);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user