improve batteryarc config

This commit is contained in:
streetturtle 2019-06-02 09:46:41 -04:00
parent 0b48f0b200
commit 6857b71729
2 changed files with 26 additions and 13 deletions

View File

@ -23,10 +23,11 @@ It is possible to customize widget by providing a table with all or some of the
|---|---|---| |---|---|---|
| `font` | Font | Play 6 | | `font` | Font | Play 6 |
| `arc_thickness` | Thickness of the arc | 2 | | `arc_thickness` | Thickness of the arc | 2 |
| `text_color` | Color of text with the current charge | `beautiful.fg_color` | | `show_current_level`| Show current charge level | false |
| `main_color` | Color of the text with the current charge level and the arc| `beautiful.fg_color` |
| `low_level_color` | Arc color when battery charge is less that 15%| #e53935 | | `low_level_color` | Arc color when battery charge is less that 15%| #e53935 |
| `medium_level_color` | Arc color when battery charge is between 15% and 40% | #c0ca33 | | `medium_level_color` | Arc color when battery charge is between 15% and 40% | #c0ca33 |
| `full_level_color` | Arc color when battery charge is above 40% | `beautiful.fg_color` | | `charging` | Color of the circle inside the arc when charging | `beautiful.fg_color` |
| `warning_msg_title` | Title of the warning popup | _Huston, we have a problem_ | | `warning_msg_title` | Title of the warning popup | _Huston, we have a problem_ |
| `warning_msg_text` | Text of the warning popup | _Battery is dying_ | | `warning_msg_text` | Text of the warning popup | _Battery is dying_ |
| `warning_msg_position` | Position of the warning popup | `bottom_right` | | `warning_msg_position` | Position of the warning popup | `bottom_right` |
@ -44,8 +45,15 @@ s.mytasklist, -- Middle widget
{ -- Right widgets { -- Right widgets
layout = wibox.layout.fixed.horizontal, layout = wibox.layout.fixed.horizontal,
... ...
batteryarc_widget(), --[[default]]
... batteryarc_widget(),
--[[or customized]]
batteryarc_widget({
show_current_level = true,
thickness = '1',
}),
}
...
``` ```
## Troubleshooting ## Troubleshooting

View File

@ -24,11 +24,12 @@ local function worker(args)
local font = args.font or 'Play 6' local font = args.font or 'Play 6'
local arc_thickness = args.thickness or 2 local arc_thickness = args.thickness or 2
local show_current_level = args.show_current_level or false
local text_color = args.text_color or beautiful.fg_color local main_color = args.main_color or beautiful.fg_color
local low_level_color = args.low_level_color or '#e53935' local low_level_color = args.low_level_color or '#e53935'
local medium_level_color = args.medium_level_color or '#c0ca33' local medium_level_color = args.medium_level_color or '#c0ca33'
local full_level_color = args.full_level_color or beautiful.fg_color local charging_color = args.charging_color or '#43a047'
local warning_msg_title = args.warning_msg_title or 'Huston, we have a problem' local warning_msg_title = args.warning_msg_title or 'Huston, we have a problem'
local warning_msg_text = args.warning_msg_text or 'Battery is dying' local warning_msg_text = args.warning_msg_text or 'Battery is dying'
@ -109,17 +110,21 @@ local function worker(args)
widget.value = charge / 100 widget.value = charge / 100
if status == 'Charging' then if status == 'Charging' then
text_with_background.bg = full_level_color text_with_background.bg = charging_color
text_with_background.fg = '#000000' text_with_background.fg = '#000000'
else else
text_with_background.bg = '#00000000' text_with_background.bg = '#00000000'
text_with_background.fg = text_color text_with_background.fg = main_color
end end
--- if battery is fully charged (100) there is not enough place for three digits, so we don't show any text if show_current_level == true then
text.text = charge == 100 --- if battery is fully charged (100) there is not enough place for three digits, so we don't show any text
and '' text.text = charge == 100
or string.format('%d', charge) and ''
or string.format('%d', charge)
else
text.text = ''
end
if charge < 15 then if charge < 15 then
widget.colors = { low_level_color } widget.colors = { low_level_color }
@ -132,7 +137,7 @@ local function worker(args)
elseif charge > 15 and charge < 40 then elseif charge > 15 and charge < 40 then
widget.colors = { medium_level_color } widget.colors = { medium_level_color }
else else
widget.colors = { full_level_color } widget.colors = { main_color }
end end
end, end,
widget) widget)