diff options
| author | pmakhov <pavel.makhov@savoirfairelinux.com> | 2017-10-04 20:46:09 -0400 | 
|---|---|---|
| committer | pmakhov <pavel.makhov@savoirfairelinux.com> | 2017-10-04 20:46:09 -0400 | 
| commit | 5a8f70f9e9f9d6b643cf301b9cc274fa909b5906 (patch) | |
| tree | baa26e20dce2b4e8495c04cbc2f9eb88c71865bf /batteryarc-widget | |
| parent | 119983a3e2b4f5a1f0a51661670094536ab67bb4 (diff) | |
wip volumearc and batteryarc widgets
Diffstat (limited to 'batteryarc-widget')
| -rw-r--r-- | batteryarc-widget/README.md | 2 | ||||
| -rw-r--r-- | batteryarc-widget/batteryarc.lua | 81 | 
2 files changed, 83 insertions, 0 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 | 
