diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/main.cpp b/src/main.cpp index ed05f71..048726b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,31 +1,36 @@ #include <jo_lowbat.hpp> int main(int argc, const char *argv[]) { - string msg = nullptr; - string acstat = nullptr; - string batlvl = nullptr; + string msg; + string acstat; + string batlvl; int batlvlint = 0; + int val1; + int val2; + acstat = jo_exec("acpi | awk '{print $3}' | rev | cut -c 2- | rev"); + val1 = strlen(acstat.c_str()); + val2 = strlen("Discharging"); + msg = "beep beep - low battery"; if (argc > 1) { - if (memcmp(argv[1], "--say", strlen(argv[1]))) - msg = "beep beep - low battery"; - else + if (!memcmp(argv[1], "--say", strlen(argv[1]))) { msg = argv[2]; + } } while (true) { acstat = jo_exec("acpi | awk '{print $3}' | rev | cut -c 2- | rev"); batlvl = jo_exec("acpi | awk '{print $4}' | rev | cut -c 3- | rev"); batlvlint = stoi(batlvl); - if (batlvlint < 15) { - while (!memcmp(acstat, "Discharging", strlen(acstat))) { + if (batlvlint < 90) { + while (!memcmp(acstat.c_str(), "Discharging", strlen(acstat.c_str()))) { jo_notify(batlvl); if (memcmp(argv[1], "--silent", strlen(argv[1]))) jo_speak(msg); sleep_for(seconds(20)); acstat = jo_exec("acpi | awk '{print $3}' | rev | cut -c 2- | rev"); batlvl = jo_exec("acpi | awk '{print $4}' | rev | cut -c 3- | rev"); - if (!memcmp(acstat, "Charging", strlen(acstat))) + if (!memcmp(acstat.c_str(), "Charging", strlen(acstat.c_str()))) break ; } } |