mirror of
https://github.com/cupcakearmy/volta.git
synced 2024-12-22 07:56:27 +00:00
Fix precision of battery level
This commit is contained in:
parent
bd5aa44be9
commit
dd3fba2052
@ -16,7 +16,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"auto-launch": "^5",
|
||||
"battery-level": "^3",
|
||||
"child_process": "^1.0.2",
|
||||
"dark-mode": "^3.0.0",
|
||||
"electron-settings": "^3"
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Weather</title>
|
||||
<title>Volta</title>
|
||||
<link rel="stylesheet" href="./index.css" charset="utf-8">
|
||||
<link rel="stylesheet" href="./vendor/nouislider.min.css" charset="utf-8">
|
||||
<script charset="utf-8" src="./vendor/nouislider.min.js">
|
||||
@ -20,7 +20,6 @@
|
||||
<div class="title">Current:
|
||||
<span id="currentBattery"></span>
|
||||
</div>
|
||||
<small>Note: Due to limits in the implementation the actual battery value may differ from the one given by the OS</small>
|
||||
<hr/>
|
||||
|
||||
<div id="settings">
|
||||
|
@ -66,5 +66,5 @@ ipcRenderer.on('launch', (event, checked) => {
|
||||
})
|
||||
|
||||
ipcRenderer.on('battery', (event, value) => {
|
||||
document.getElementById('currentBattery').innerText = `${value}%`
|
||||
document.getElementById('currentBattery').innerText = `${value}`
|
||||
})
|
||||
|
25
src/main.js
25
src/main.js
@ -12,6 +12,7 @@ const settings = require('electron-settings')
|
||||
const path = require('path')
|
||||
const AutoLaunch = require('auto-launch')
|
||||
const batteryLevel = require('battery-level')
|
||||
const exec = require('child_process').exec
|
||||
|
||||
const al = new AutoLaunch({
|
||||
name: 'Volta'
|
||||
@ -148,21 +149,15 @@ function sendMax() {
|
||||
}).show()
|
||||
}
|
||||
|
||||
let level = 'checking...';
|
||||
setInterval(() => {
|
||||
batteryLevel().then(level => {
|
||||
level = parseInt(level * 100)
|
||||
|
||||
if (level === lastBattery) return
|
||||
if (level > lastBattery) charging = true
|
||||
else charging = false
|
||||
lastBattery = level
|
||||
|
||||
const limits = settings.get('values', defaultValues)
|
||||
|
||||
if (level <= limits.min) sendMin()
|
||||
else if (level >= limits.max) sendMax()
|
||||
else numMax = numMin = 0
|
||||
|
||||
exec('pmset -g batt | egrep "([0-9]+\%)" -o', function(err, stdout, stderr) {
|
||||
if (err) {
|
||||
console.log(error.stack)
|
||||
console.log('Error code: ' + error.code)
|
||||
console.log('Signal received: ' + error.signal)
|
||||
}
|
||||
level = String(stdout)
|
||||
})
|
||||
window.webContents.send('battery', level)
|
||||
}).catch(() => console.log('Could not get Battery level'))
|
||||
}, 3000)
|
||||
|
Loading…
Reference in New Issue
Block a user