summaryrefslogtreecommitdiff
path: root/BatteryWidget
diff options
context:
space:
mode:
authorPavel Makhov <pavel.makhov@cern.ch>2015-08-29 09:18:39 +0200
committerPavel Makhov <pavel.makhov@cern.ch>2015-08-29 09:18:39 +0200
commitfa9e92be981230517f19fea2a2ed2c9a1d228d29 (patch)
treeb43ab38751cda903ee5bb0737ef07fba5eef1e96 /BatteryWidget
parent1c457ea987c06db8e3d6965906ed3d98cf68dabc (diff)
parent21c929ce206f3bdd8cbf0ef57a3b839ed62d725b (diff)
Merge branch 'master' of https://github.com/streetturtle/AwesomeWM
Diffstat (limited to 'BatteryWidget')
-rw-r--r--BatteryWidget/README.md8
-rw-r--r--BatteryWidget/batWid3.pngbin0 -> 8284 bytes
-rw-r--r--BatteryWidget/battery.lua44
3 files changed, 33 insertions, 19 deletions
diff --git a/BatteryWidget/README.md b/BatteryWidget/README.md
index fa3925e..531a15c 100644
--- a/BatteryWidget/README.md
+++ b/BatteryWidget/README.md
@@ -1,9 +1,11 @@
## Battery widget
Simple and easy-to-install widget for Awesome Window Manager.
-Basically this widget consists of an icon which shows the battery status: ![Battery Widget](./batWid1.png)
+This widget consists of
-And a pop-up window, which shows up when you hover over it: ![Battery Widget](./batWid2.png)
+ - an icon which shows the battery status: ![Battery Widget](./batWid1.png)
+ - a pop-up window, which shows up when you hover over it: ![Battery Widget](./batWid2.png)
+ - a pop-up warning message which appears when battery level is less that 15%: ![Battery Widget](./batWid3.png)
## Installation
@@ -14,6 +16,8 @@ sudo apt-get install acpi
```
- clone/copy battery.lua file and battery-icons folder to your ~/home/username/.config/awesome/ folder;
+- change path to the icons in `battery.lua`;
+
- include `battery.lua` and add battery widget to your wibox in rc.lua:
```
require("battery")
diff --git a/BatteryWidget/batWid3.png b/BatteryWidget/batWid3.png
new file mode 100644
index 0000000..feeb453
--- /dev/null
+++ b/BatteryWidget/batWid3.png
Binary files differ
diff --git a/BatteryWidget/battery.lua b/BatteryWidget/battery.lua
index 09e0ed6..3e9dd9a 100644
--- a/BatteryWidget/battery.lua
+++ b/BatteryWidget/battery.lua
@@ -7,39 +7,49 @@ function showBatteryWidgetPopup()
naughty.notify({
text = awful.util.pread("acpi | cut -d, -f 2,3"),
title = "Battery status",
- timeout = 2, hover_timeout = 0.5,
+ timeout = 5, hover_timeout = 0.5,
width = 160,
})
end
+function showWarningWidgetPopup()
+ local charge = tonumber(awful.util.pread("acpi | cut -d, -f 2 | egrep -o '[0-9]{1,3}'"))
+ if (charge < 15) then
+ naughty.notify({
+ text = "Huston, we have a problem",
+ title = "Battery dying",
+ timeout = 5, hover_timeout = 0.5,
+ position = "bottom_right",
+ bg = "#ff1122",
+ width = 160,
+ })
+ end
+end
+
function showBatteryWidgetIcon()
local charge = tonumber(awful.util.pread("acpi | cut -d, -f 2 | egrep -o '[0-9]{1,3}'"))
local batteryType
if (charge >= 0 and charge < 20) then batteryType=20
- elseif (charge >= 20 and charge < 40) then batteryType=40
- elseif (charge >= 40 and charge < 60) then batteryType=60
- elseif (charge >= 60 and charge < 80) then batteryType=80
- elseif (charge >= 80 and charge < 100) then batteryType=100
+ elseif (charge >= 20 and charge < 40) then batteryType=40
+ elseif (charge >= 40 and charge < 60) then batteryType=60
+ elseif (charge >= 60 and charge < 80) then batteryType=80
+ elseif (charge >= 80 and charge <= 100) then batteryType=100
end
- batteryIcon:set_image("/home/pashik/.config/awesome/battery-icons/" .. batteryType .. ".png")
+ batteryIcon:set_image("/home/username/.config/awesome/battery-icons/" .. batteryType .. ".png")
end
batteryIcon = wibox.widget.imagebox()
showBatteryWidgetIcon()
-batteryIcon:connect_signal("mouse::enter",
- function()
- showBatteryWidgetPopup()
- end
-)
+batteryIcon:connect_signal("mouse::enter", function() showBatteryWidgetPopup() end)
-- timer to refresh battery icon
batteryWidgetTimer = timer({ timeout = 5 })
-batteryWidgetTimer:connect_signal("timeout",
- function()
- showBatteryWidgetIcon()
- end
-)
+batteryWidgetTimer:connect_signal("timeout", function() showBatteryWidgetIcon() end)
+batteryWidgetTimer:start()
-batteryWidgetTimer:start() \ No newline at end of file
+-- timer to refresh battery warning
+batteryWarningTimer = timer({ timeout = 50 })
+batteryWarningTimer:connect_signal("timeout", function() showWarningWidgetPopup() end)
+batteryWarningTimer:start() \ No newline at end of file