diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2019-12-29 17:59:11 +0100 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2019-12-29 17:59:11 +0100 |
commit | 58ee60be9de472ee9d7558e64f23fb53e4d8cb4e (patch) | |
tree | a288ae2387e9ad447ce90ab18c8716287cedf8c0 /src/jo_lowbat.cpp | |
parent | in progress (diff) | |
download | lowbat-gnu-58ee60be9de472ee9d7558e64f23fb53e4d8cb4e.tar.gz lowbat-gnu-58ee60be9de472ee9d7558e64f23fb53e4d8cb4e.tar.bz2 lowbat-gnu-58ee60be9de472ee9d7558e64f23fb53e4d8cb4e.tar.xz lowbat-gnu-58ee60be9de472ee9d7558e64f23fb53e4d8cb4e.tar.zst lowbat-gnu-58ee60be9de472ee9d7558e64f23fb53e4d8cb4e.zip |
Starting to look good
Diffstat (limited to 'src/jo_lowbat.cpp')
-rw-r--r-- | src/jo_lowbat.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/src/jo_lowbat.cpp b/src/jo_lowbat.cpp index 96686e5..f4c3b2e 100644 --- a/src/jo_lowbat.cpp +++ b/src/jo_lowbat.cpp @@ -15,8 +15,17 @@ Lowbat::jo_testAcpi(void) { return 0; } +int +Lowbat::jo_fetchBatlvl(void) { + cout << "Fetching batlvl: "; + m_batlvl = Lowbat::jo_exec("acpi | awk '{print $4}' | rev | cut -c 3- | rev"); + m_batlvl.erase(remove(m_batlvl.begin(), m_batlvl.end(), '\n'), m_batlvl.end()); + cout << m_batlvl << "%" << endl; + return(stoi(m_batlvl)); +} + string -jo_exec(const char* cmd) { +Lowbat::jo_exec(const char* cmd) { array<char, 128> buffer; string result; unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose); @@ -29,15 +38,13 @@ jo_exec(const char* cmd) { return result; } -string -Lowbat::jo_fetchBatlvl(void) { - string batlvl; - uint8_t batlvlint; +int +Lowbat::jo_notify(void) { + string str; - cout << "Fetching batlvl: "; - batlvl = Lowbat::jo_exec("acpi | awk '{print $4}' | rev | cut -c 3- | rev"); - batlvl.erase(remove(batlvl.begin(), batlvl.end(), '\n'), batlvl.end()); - batlvlint = stoi(batlvl); - cout << batlvlint << "%" << endl; - return (batlvl); + str = "notify-send \"Low battery: "; + str += m_batlvl; + str += "%\" \"Please plug in computer\" -u critical -t 15000"; + cout << "Notifying" << endl; + return system(str.c_str()); } |