diff --git a/lib/filesystem.js b/lib/filesystem.js index 303b695..c4051cb 100755 --- a/lib/filesystem.js +++ b/lib/filesystem.js @@ -190,6 +190,7 @@ function fsOpenFiles(callback) { result.allocated = parseInt(parts[0], 10); result.available = parseInt(parts[1], 10); result.max = parseInt(parts[2], 10); + if (!result.available) { result.available = result.max - result.allocated; } } } } diff --git a/lib/graphics.js b/lib/graphics.js index 665a131..28de77a 100644 --- a/lib/graphics.js +++ b/lib/graphics.js @@ -531,7 +531,7 @@ function graphics(callback) { start += 36; } result.resolutionX = parseInt('0x0' + edid.substr(start + 8, 1) + edid.substr(start + 4, 2)); - result.resolutionX = parseInt('0x0' + edid.substr(start + 14, 1) + edid.substr(start + 10, 2)); + result.resolutionY = parseInt('0x0' + edid.substr(start + 14, 1) + edid.substr(start + 10, 2)); result.sizeX = parseInt('0x0' + edid.substr(start + 28, 1) + edid.substr(start + 24, 2)); result.sizeY = parseInt('0x0' + edid.substr(start + 29, 1) + edid.substr(start + 26, 2)); // monitor name diff --git a/lib/osinfo.js b/lib/osinfo.js index 0d30488..fc97676 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -356,7 +356,7 @@ function isUefiLinux() { exec('dmesg | grep -E "EFI v|UEFI"', function (error, stdout) { if (!error) { const lines = stdout.toString().split('\n'); - return (lines.length > 0); + resolve(lines.length > 0); } resolve(false); }); @@ -375,6 +375,14 @@ function isUefiWindows() { const line = stdout.toString().split('\n\r')[0]; resolve(line.toLowerCase().indexOf('uefi') >= 0); return; + } else { + exec('$env:firmware_type', util.execOptsWin, function (error, stdout) { + if (!error) { + const line = stdout.toString() || ''; + resolve(line.toLowerCase().indexOf('uefi') >= 0); + } + resolve(false); + }) } resolve(false); }); diff --git a/lib/processes.js b/lib/processes.js index 0538e4d..3a794ff 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -945,10 +945,22 @@ function processLoad(proc, callback) { cpus: 0, mem }); - if (processesString === '*' || processes.indexOf(name.toLowerCase()) >= 0) { + let pname = ''; + let inList = false; + processes.forEach(function (proc) { + // console.log(proc) + // console.log(item) + // inList = inList || item.name.toLowerCase() === proc.toLowerCase(); + if (name.toLowerCase().indexOf(proc.toLowerCase()) >= 0 && !inList) { + inList = true; + pname = proc; + } + }) + + if (processesString === '*' || inList) { let processFound = false; result.forEach(function (item) { - if (item.proc.toLowerCase() === name.toLowerCase()) { + if (item.proc.toLowerCase() === pname.toLowerCase()) { item.pids.push(pid); item.mem += mem / os.totalmem() * 100; processFound = true; @@ -956,7 +968,7 @@ function processLoad(proc, callback) { }) if (!processFound) { result.push({ - proc: name, + proc: pname, pid: pid, pids: [pid], cpu: 0, @@ -969,7 +981,9 @@ function processLoad(proc, callback) { // add missing processes if (processesString !== '*') { let processesMissing = processes.filter(function (name) { - return procStats.filter(function(item) { return item.name.toLowerCase() === name }).length === 0; + // return procStats.filter(function(item) { return item.name.toLowerCase() === name }).length === 0; + return procStats.filter(function (item) { return item.name.toLowerCase().indexOf(name) >= 0 }).length === 0; + }); processesMissing.forEach(function (procName) { result.push({ @@ -986,7 +1000,7 @@ function processLoad(proc, callback) { for (let i = 0; i < procStats.length; i++) { let resultProcess = calcProcStatWin(procStats[i], allcpuu + allcpus, _process_cpu); - let listPos = 0; + let listPos = -1; for (let j = 0; j < result.length; j++) { if (result[j].pid === resultProcess.pid || result[j].pids.indexOf(resultProcess.pid) >= 0) { listPos === j; } } diff --git a/test/si.js b/test/si.js index d544df8..354077d 100644 --- a/test/si.js +++ b/test/si.js @@ -19,7 +19,7 @@ function test(f) { else if (f === 'g') { si.graphics().then(data => { if (data !== null) { resolve({ data, title: 'Graphics' }); } else { resolve('not_supported') } }) } else if (f === 'h') { si.bluetoothDevices().then(data => { if (data !== null) { resolve({ data, title: 'Bluetooth' }); } else { resolve('not_supported') } }) } else if (f === 'i') { si.inetLatency().then(data => { if (data !== null) { resolve({ data, title: 'Internet Latency' }); } else { resolve('not_supported') } }) } - else if (f === 'I') { si.inetChecksite('www.plus-innovations.com').then(data => { if (data !== null) { resolve({ data, title: 'Internet Check Site' }); } else { resolve('not_supported') } }) } + else if (f === 'I') { si.inetChecksite('https://www.plus-innovations.com').then(data => { if (data !== null) { resolve({ data, title: 'Internet Check Site' }); } else { resolve('not_supported') } }) } else if (f === 'j') { si.cpuCurrentSpeed().then(data => { if (data !== null) { resolve({ data, title: 'CPU Current Speed' }); } else { resolve('not_supported') } }) } else if (f === 'l') { si.currentLoad().then(data => { if (data !== null) { resolve({ data, title: 'CPU Current Load' }); } else { resolve('not_supported') } }) } else if (f === 'L') { si.fullLoad().then(data => { if (data !== null) { resolve({ data, title: 'CPU Full Load' }); } else { resolve('not_supported') } }) }