From 5a8f70f9e9f9d6b643cf301b9cc274fa909b5906 Mon Sep 17 00:00:00 2001 From: pmakhov Date: Wed, 4 Oct 2017 20:46:09 -0400 Subject: wip volumearc and batteryarc widgets --- batteryarc-widget/README.md | 2 + batteryarc-widget/batteryarc.lua | 81 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 batteryarc-widget/README.md (limited to 'batteryarc-widget') 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 -- cgit v1.2.3