summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpmakhov <pavel.makhov@savoirfairelinux.com>2017-10-04 20:46:09 -0400
committerpmakhov <pavel.makhov@savoirfairelinux.com>2017-10-04 20:46:09 -0400
commit5a8f70f9e9f9d6b643cf301b9cc274fa909b5906 (patch)
treebaa26e20dce2b4e8495c04cbc2f9eb88c71865bf
parent119983a3e2b4f5a1f0a51661670094536ab67bb4 (diff)
wip volumearc and batteryarc widgets
-rw-r--r--batteryarc-widget/README.md2
-rw-r--r--batteryarc-widget/batteryarc.lua81
-rw-r--r--volumearc-widget/README.md2
-rw-r--r--volumearc-widget/volumearc.lua10
4 files changed, 93 insertions, 2 deletions
diff --git a/batteryarc-widget/README.md b/batteryarc-widget/README.md
new file mode 100644
index 0000000..96ad074
--- /dev/null
+++ b/batteryarc-widget/README.md
@@ -0,0 +1,2 @@
+# Batteryarc widget
+:hammer: Work in progress...:construction:
diff --git a/batteryarc-widget/batteryarc.lua b/batteryarc-widget/batteryarc.lua
index e69de29..14db87c 100644
--- a/batteryarc-widget/batteryarc.lua
+++ b/batteryarc-widget/batteryarc.lua
@@ -0,0 +1,81 @@
+local awful = require("awful")
+local naughty = require("naughty")
+local wibox = require("wibox")
+local watch = require("awful.widget.watch")
+
+local USERNAME = os.getenv("USER")
+
+batteryarc_widget = wibox.widget {
+ {
+ id = "txt",
+ text = "1",
+ font = "Play 5",
+ widget = wibox.widget.textbox
+ },
+ max_value = 1,
+ rounded_edge = true,
+ thickness = 2,
+ start_angle = 4.71238898, -- 2pi*3/4
+ forced_height = 16,
+ forced_width = 16,
+ bg = "#ffffff11",
+ paddings = 2,
+ widget = wibox.container.arcchart,
+ set_value = function(self, value)
+ self.value = value
+ end,
+}
+
+watch(
+ "acpi", 10,
+ function(widget, stdout, stderr, exitreason, exitcode)
+ local batteryType
+ local _, status, charge_str, time = string.match(stdout, '(.+): (%a+), (%d?%d%d)%%,? ?.*')
+ local charge = tonumber(charge_str)
+ widget.value = charge / 100
+ widget.txt.text = charge
+ end,
+ batteryarc_widget
+)
+
+-- Popup with battery info
+-- One way of creating a pop-up notification - naughty.notify
+local notification
+function show_battery_status()
+ awful.spawn.easy_async([[bash -c 'acpi']],
+ function(stdout, _, _, _)
+ notification = naughty.notify{
+ text = stdout,
+ title = "Battery status",
+ timeout = 5, hover_timeout = 0.5,
+ width = 200,
+ }
+ end
+ )
+end
+batteryarc_widget:connect_signal("mouse::enter", function() show_battery_status() end)
+batteryarc_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end)
+
+-- Alternative to naughty.notify - tooltip. You can compare both and choose the preferred one
+
+--battery_popup = awful.tooltip({objects = {battery_widget}})
+
+-- To use colors from beautiful theme put
+-- following lines in rc.lua before require("battery"):
+-- beautiful.tooltip_fg = beautiful.fg_normal
+-- beautiful.tooltip_bg = beautiful.bg_normal
+
+--[[ Show warning notification ]]
+function show_battery_warning()
+ naughty.notify{
+ icon = "/home/" .. USERNAME .. "/.config/awesome/nichosi.png",
+ icon_size=100,
+ text = "Huston, we have a problem",
+ title = "Battery is dying",
+ timeout = 5, hover_timeout = 0.5,
+ position = "bottom_right",
+ bg = "#F06060",
+ fg = "#EEE9EF",
+ width = 300,
+ }
+end
diff --git a/volumearc-widget/README.md b/volumearc-widget/README.md
new file mode 100644
index 0000000..56f4c7c
--- /dev/null
+++ b/volumearc-widget/README.md
@@ -0,0 +1,2 @@
+# Volumearc widget
+:hammer: Work in progress...:construction:
diff --git a/volumearc-widget/volumearc.lua b/volumearc-widget/volumearc.lua
index 2c1044b..54e2f4f 100644
--- a/volumearc-widget/volumearc.lua
+++ b/volumearc-widget/volumearc.lua
@@ -8,6 +8,12 @@ local bar_color = "#74aeab"
local mute_color = "#ff0000"
volumearc_widget = wibox.widget {
+-- {
+-- id = "txt",
+-- text = "1",
+-- font = "Play 5",
+-- widget = wibox.widget.textbox
+-- },
max_value = 1,
rounded_edge = true,
thickness = 2,
@@ -27,12 +33,12 @@ local update_graphic = function(widget, stdout, _, _, _)
local volume = string.match(stdout, "(%d?%d?%d)%%")
volume = tonumber(string.format("% 3d", volume))
+ widget.value = volume / 100;
+-- widget.txt.text = volume;
if mute == "off" then
widget.colors = { mute_color }
- widget.value = volume / 100;
else
widget.colors = { bar_color }
- widget.value = volume / 100;
end
end