rusty-battery
CLI tool to help you care about your devices's battery health.
Why should you use rusty-battery
?
If you aren't able to set start/stop charge threshold
(for example via TLP) but would still like to
make sure that your battery won't exceed your preferred threshold.
rusty-battery
can let you know when your battery reached the threshold by
showing a desktop notification and optionally pinging your
KDE Connect devices.
Features
notify
Notify whenever battery percentage exceeds the given threshold.
USAGE:
rusty-battery notify [FLAGS] [OPTIONS]
FLAGS:
-v, --verbose
Activates verbose mode
OPTIONS:
--kde-connect <kde-connect-names>...
KDE Connect device names
If this value is not present, KDE Connect will not be used.
If this value is empty, all of the KDE Connect devices will be pinged.
-m, --model <model>
Battery model name
If this value is omitted and only battery device is found for the current device, that one will be used.
Otherwise, please use the `batteries` subcommand to get a list of all battery devices to get the model of
the wanted battery device which should be monitored.
--refresh-secs <refresh-secs>
Number of seconds to wait before refreshing battery device data
After every battery device refresh, its data will be checked. Notifications will be sent everytime they
should be, based on the new refreshed battery device data. [default: 30]
-t, --threshold <threshold>
Battery charge threshold
Whenever the chosen battery device reaches this charge threshold and will be charging, notifications will be
sent, alerting that the charger should be unplugged. [default: 80]
batteries
List all available batteries of the current device
USAGE:
rusty-battery batteries [FLAGS]
FLAGS:
-v, --verbose Activates verbose mode
kde-connect-devices
List all available KDE Connect devices
USAGE:
rusty-battery kde-connect-devices [FLAGS]
FLAGS:
-v, --verbose Activates verbose mode
Installation
From crates.io
cargo install rust-battery
From source
git clone git@github.com:kucera-lukas/rusty-battery.git
cd rusty-battery
cargo install --path .
From release page
Download a binary of the
latest release
and move it to a directory which is in your $PATH
.
You may need to change the binary's permissions by running
chmod +x rusty-battery
.
If there are any problems with the pre-compiled binaries, file an issue.
Usage tips
This tool is best used when set up as a background task.
Setup with cron
- open terminal
crontab -e
- this should open a text editor- paste in
@reboot rusty-battery notify [YOUR OPTIONS]
- save and exit the text editor, you should see
crontab: installing new crontab
in your terminal reboot
Logging
- choose the log verbosity via the
-v
or--verbose
flag - append it to the
rusty-battery
command - redirect output via
>> /path/to/log/file 2>&1
- check all logs via
more /path/to/log/file
- for live logs use
tail
:tail -f /path/to/log/file
2>&1
explanation
Debugging
- here is a useful thread for crontab debugging
- to check that
rusty-battery
is running you can useps aux | grep -e rusty-battery
- to kill the job you can use
kill $PID
($PID
can be found via the previous command)
OS support
Currently, only linux is supported.