Merge branch 'master' into update-brightnessctl
This commit is contained in:
commit
fc7d966cb9
|
@ -125,7 +125,7 @@ local function worker(user_args)
|
||||||
local battery_info = {}
|
local battery_info = {}
|
||||||
local capacities = {}
|
local capacities = {}
|
||||||
for s in stdout:gmatch("[^\r\n]+") do
|
for s in stdout:gmatch("[^\r\n]+") do
|
||||||
local status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)')
|
local status, charge_str, _ = string.match(s, '.+: ([%a%s]+), (%d?%d?%d)%%,?(.*)')
|
||||||
if status ~= nil then
|
if status ~= nil then
|
||||||
table.insert(battery_info, {status = status, charge = tonumber(charge_str)})
|
table.insert(battery_info, {status = status, charge = tonumber(charge_str)})
|
||||||
else
|
else
|
||||||
|
|
|
@ -39,6 +39,7 @@ It is possible to customize widget by providing a table with all or some of the
|
||||||
| `warning_msg_icon` | ~/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg | Icon of the warning popup |
|
| `warning_msg_icon` | ~/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg | Icon of the warning popup |
|
||||||
| `enable_battery_warning` | `true` | Display low battery warning |
|
| `enable_battery_warning` | `true` | Display low battery warning |
|
||||||
| `show_notification_mode` | `on_hover` | How to trigger a notification with the battery status: `on_hover`, `on_click` or `off` |
|
| `show_notification_mode` | `on_hover` | How to trigger a notification with the battery status: `on_hover`, `on_click` or `off` |
|
||||||
|
| `notification_position` | `top_left` | Where to show she notification when triggered. Values: `top_right`, `top_left`, `bottom_left`, `bottom_right`, `top_middle`, `bottom_middle`. (default `top_right`) |
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ local function worker(user_args)
|
||||||
local size = args.size or 18
|
local size = args.size or 18
|
||||||
local timeout = args.timeout or 10
|
local timeout = args.timeout or 10
|
||||||
local show_notification_mode = args.show_notification_mode or 'on_hover' -- on_hover / on_click
|
local show_notification_mode = args.show_notification_mode or 'on_hover' -- on_hover / on_click
|
||||||
|
local notification_position = args.notification_position or 'top_right' -- see naughty.notify position argument
|
||||||
|
|
||||||
local main_color = args.main_color or beautiful.fg_color
|
local main_color = args.main_color or beautiful.fg_color
|
||||||
local bg_color = args.bg_color or '#ffffff11'
|
local bg_color = args.bg_color or '#ffffff11'
|
||||||
|
@ -89,7 +90,7 @@ local function worker(user_args)
|
||||||
local charge = 0
|
local charge = 0
|
||||||
local status
|
local status
|
||||||
for s in stdout:gmatch("[^\r\n]+") do
|
for s in stdout:gmatch("[^\r\n]+") do
|
||||||
local cur_status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)')
|
local cur_status, charge_str, _ = string.match(s, '.+: ([%a%s]+), (%d?%d?%d)%%,?(.*)')
|
||||||
if cur_status ~= nil and charge_str ~=nil then
|
if cur_status ~= nil and charge_str ~=nil then
|
||||||
local cur_charge = tonumber(charge_str)
|
local cur_charge = tonumber(charge_str)
|
||||||
if cur_charge > charge then
|
if cur_charge > charge then
|
||||||
|
@ -146,6 +147,7 @@ local function worker(user_args)
|
||||||
title = "Battery status",
|
title = "Battery status",
|
||||||
timeout = 5,
|
timeout = 5,
|
||||||
width = 200,
|
width = 200,
|
||||||
|
position = notification_position,
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,7 +13,7 @@ It is possible to customize widget by providing a table with all or some of the
|
||||||
| `step` | 5 | Step |
|
| `step` | 5 | Step |
|
||||||
| `base` | 20 | Base level to set brightness to on left click. |
|
| `base` | 20 | Base level to set brightness to on left click. |
|
||||||
| `path_to_icon` | `/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg` | Path to the icon |
|
| `path_to_icon` | `/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg` | Path to the icon |
|
||||||
| `font` | `Play 9` | Font |
|
| `font` | `beautiful.font` | Font name and size, like `Play 12` |
|
||||||
| `timeout` | 1 | How often in seconds the widget refreshes. Check the note below |
|
| `timeout` | 1 | How often in seconds the widget refreshes. Check the note below |
|
||||||
| `tooltip` | false | Display brightness level in a tooltip when the mouse cursor hovers the widget |
|
| `tooltip` | false | Display brightness level in a tooltip when the mouse cursor hovers the widget |
|
||||||
| `percentage` | false | Display a '%' character after the brightness level |
|
| `percentage` | false | Display a '%' character after the brightness level |
|
||||||
|
|
|
@ -14,6 +14,7 @@ local watch = require("awful.widget.watch")
|
||||||
local spawn = require("awful.spawn")
|
local spawn = require("awful.spawn")
|
||||||
local gfs = require("gears.filesystem")
|
local gfs = require("gears.filesystem")
|
||||||
local naughty = require("naughty")
|
local naughty = require("naughty")
|
||||||
|
local beautiful = require("beautiful")
|
||||||
|
|
||||||
local ICON_DIR = gfs.get_configuration_dir() .. "awesome-wm-widgets/brightness-widget/"
|
local ICON_DIR = gfs.get_configuration_dir() .. "awesome-wm-widgets/brightness-widget/"
|
||||||
local get_brightness_cmd
|
local get_brightness_cmd
|
||||||
|
@ -34,28 +35,28 @@ end
|
||||||
local function worker(user_args)
|
local function worker(user_args)
|
||||||
local args = user_args or {}
|
local args = user_args or {}
|
||||||
|
|
||||||
local type = args.type or "arc" -- arc or icon_and_text
|
local type = args.type or 'arc' -- arc or icon_and_text
|
||||||
local path_to_icon = args.path_to_icon or ICON_DIR .. "brightness.svg"
|
local path_to_icon = args.path_to_icon or ICON_DIR .. 'brightness.svg'
|
||||||
local font = args.font or "Play 9"
|
local font = args.font or beautiful.font
|
||||||
local timeout = args.timeout or 100
|
local timeout = args.timeout or 100
|
||||||
|
|
||||||
local program = args.program or "light"
|
local program = args.program or 'light'
|
||||||
local step = args.step or 5
|
local step = args.step or 5
|
||||||
local base = args.base or 20
|
local base = args.base or 20
|
||||||
local current_level = 0 -- current brightness value
|
local current_level = 0 -- current brightness value
|
||||||
local tooltip = args.tooltip or false
|
local tooltip = args.tooltip or false
|
||||||
local percentage = args.percentage or false
|
local percentage = args.percentage or false
|
||||||
if program == "light" then
|
if program == 'light' then
|
||||||
get_brightness_cmd = "light -G"
|
get_brightness_cmd = 'light -G'
|
||||||
set_brightness_cmd = "light -S %d" -- <level>
|
set_brightness_cmd = 'light -S %d' -- <level>
|
||||||
inc_brightness_cmd = "light -A " .. step
|
inc_brightness_cmd = 'light -A ' .. step
|
||||||
dec_brightness_cmd = "light -U " .. step
|
dec_brightness_cmd = 'light -U ' .. step
|
||||||
elseif program == "xbacklight" then
|
elseif program == 'xbacklight' then
|
||||||
get_brightness_cmd = "xbacklight -get"
|
get_brightness_cmd = 'xbacklight -get'
|
||||||
set_brightness_cmd = "xbacklight -set %d" -- <level>
|
set_brightness_cmd = 'xbacklight -set %d' -- <level>
|
||||||
inc_brightness_cmd = "xbacklight -inc " .. step
|
inc_brightness_cmd = 'xbacklight -inc ' .. step
|
||||||
dec_brightness_cmd = "xbacklight -dec " .. step
|
dec_brightness_cmd = 'xbacklight -dec ' .. step
|
||||||
elseif program == "brightnessctl" then
|
elseif program == 'brightnessctl' then
|
||||||
get_brightness_cmd = "brightnessctl get"
|
get_brightness_cmd = "brightnessctl get"
|
||||||
set_brightness_cmd = "brightnessctl set %d%%" -- <level>
|
set_brightness_cmd = "brightnessctl set %d%%" -- <level>
|
||||||
inc_brightness_cmd = "brightnessctl set +" .. step .. "%"
|
inc_brightness_cmd = "brightnessctl set +" .. step .. "%"
|
||||||
|
@ -65,42 +66,42 @@ local function worker(user_args)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if type == "icon_and_text" then
|
if type == 'icon_and_text' then
|
||||||
brightness_widget.widget = wibox.widget({
|
brightness_widget.widget = wibox.widget {
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
image = path_to_icon,
|
image = path_to_icon,
|
||||||
resize = false,
|
resize = false,
|
||||||
widget = wibox.widget.imagebox,
|
widget = wibox.widget.imagebox,
|
||||||
},
|
},
|
||||||
valign = "center",
|
valign = 'center',
|
||||||
layout = wibox.container.place,
|
layout = wibox.container.place
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id = "txt",
|
id = 'txt',
|
||||||
font = font,
|
font = font,
|
||||||
widget = wibox.widget.textbox,
|
widget = wibox.widget.textbox
|
||||||
},
|
},
|
||||||
spacing = 4,
|
spacing = 4,
|
||||||
layout = wibox.layout.fixed.horizontal,
|
layout = wibox.layout.fixed.horizontal,
|
||||||
set_value = function(self, level)
|
set_value = function(self, level)
|
||||||
local display_level = level
|
local display_level = level
|
||||||
if percentage then
|
if percentage then
|
||||||
display_level = display_level .. "%"
|
display_level = display_level .. '%'
|
||||||
end
|
end
|
||||||
self:get_children_by_id("txt")[1]:set_text(display_level)
|
self:get_children_by_id('txt')[1]:set_text(display_level)
|
||||||
end,
|
end
|
||||||
})
|
}
|
||||||
elseif type == "arc" then
|
elseif type == 'arc' then
|
||||||
brightness_widget.widget = wibox.widget({
|
brightness_widget.widget = wibox.widget {
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
image = path_to_icon,
|
image = path_to_icon,
|
||||||
resize = true,
|
resize = true,
|
||||||
widget = wibox.widget.imagebox,
|
widget = wibox.widget.imagebox,
|
||||||
},
|
},
|
||||||
valign = "center",
|
valign = 'center',
|
||||||
layout = wibox.container.place,
|
layout = wibox.container.place
|
||||||
},
|
},
|
||||||
max_value = 100,
|
max_value = 100,
|
||||||
thickness = 2,
|
thickness = 2,
|
||||||
|
@ -111,11 +112,12 @@ local function worker(user_args)
|
||||||
widget = wibox.container.arcchart,
|
widget = wibox.container.arcchart,
|
||||||
set_value = function(self, level)
|
set_value = function(self, level)
|
||||||
self:set_value(level)
|
self:set_value(level)
|
||||||
end,
|
end
|
||||||
})
|
}
|
||||||
else
|
else
|
||||||
show_warning(type .. " type is not supported by the widget")
|
show_warning(type .. " type is not supported by the widget")
|
||||||
return
|
return
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local update_widget = function(widget, stdout, _, _, _)
|
local update_widget = function(widget, stdout, _, _, _)
|
||||||
|
@ -163,30 +165,24 @@ local function worker(user_args)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
brightness_widget.widget:buttons(awful.util.table.join(
|
brightness_widget.widget:buttons(
|
||||||
awful.button({}, 1, function()
|
awful.util.table.join(
|
||||||
brightness_widget:set(base)
|
awful.button({}, 1, function() brightness_widget:set(base) end),
|
||||||
end),
|
awful.button({}, 3, function() brightness_widget:toggle() end),
|
||||||
awful.button({}, 3, function()
|
awful.button({}, 4, function() brightness_widget:inc() end),
|
||||||
brightness_widget:toggle()
|
awful.button({}, 5, function() brightness_widget:dec() end)
|
||||||
end),
|
)
|
||||||
awful.button({}, 4, function()
|
)
|
||||||
brightness_widget:inc()
|
|
||||||
end),
|
|
||||||
awful.button({}, 5, function()
|
|
||||||
brightness_widget:dec()
|
|
||||||
end)
|
|
||||||
))
|
|
||||||
|
|
||||||
watch(get_brightness_cmd, timeout, update_widget, brightness_widget.widget)
|
watch(get_brightness_cmd, timeout, update_widget, brightness_widget.widget)
|
||||||
|
|
||||||
if tooltip then
|
if tooltip then
|
||||||
awful.tooltip({
|
awful.tooltip {
|
||||||
objects = { brightness_widget.widget },
|
objects = { brightness_widget.widget },
|
||||||
timer_function = function()
|
timer_function = function()
|
||||||
return current_level .. " %"
|
return current_level .. " %"
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
return brightness_widget.widget
|
return brightness_widget.widget
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.2 KiB |
|
@ -45,7 +45,7 @@ It is possible to customize the widget by providing a table with all or some of
|
||||||
|
|
||||||
| Name | Default | Description |
|
| Name | Default | Description |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `font` | `Play 9` | Font used for the track title |
|
| `font` | `beautiful.font` | Font name and size, like `Play 12` |
|
||||||
| `path_to_icons` | `/usr/share/icons/Arc/actions/symbolic/` | Alternative path for the icons |
|
| `path_to_icons` | `/usr/share/icons/Arc/actions/symbolic/` | Alternative path for the icons |
|
||||||
| `timeout`| `10` | Refresh cooldown |
|
| `timeout`| `10` | Refresh cooldown |
|
||||||
| `space` | `3` | Space between icon and track title |
|
| `space` | `3` | Space between icon and track title |
|
||||||
|
|
|
@ -10,21 +10,14 @@ local awful = require("awful")
|
||||||
local wibox = require("wibox")
|
local wibox = require("wibox")
|
||||||
local watch = require("awful.widget.watch")
|
local watch = require("awful.widget.watch")
|
||||||
local spawn = require("awful.spawn")
|
local spawn = require("awful.spawn")
|
||||||
local naughty = require("naughty")
|
local beautiful = require('beautiful')
|
||||||
|
|
||||||
local cmus_widget = {}
|
local cmus_widget = {}
|
||||||
|
|
||||||
local function show_warning(message)
|
|
||||||
naughty.notify{
|
|
||||||
preset = naughty.config.presets.critical,
|
|
||||||
title = "Cmus Widget",
|
|
||||||
text = message}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function worker(user_args)
|
local function worker(user_args)
|
||||||
|
|
||||||
local args = user_args or {}
|
local args = user_args or {}
|
||||||
local font = args.font or "Play 9"
|
local font = args.font or beautiful.font
|
||||||
|
|
||||||
local path_to_icons = args.path_to_icons or "/usr/share/icons/Arc/actions/symbolic/"
|
local path_to_icons = args.path_to_icons or "/usr/share/icons/Arc/actions/symbolic/"
|
||||||
local timeout = args.timeout or 10
|
local timeout = args.timeout or 10
|
||||||
|
@ -44,6 +37,7 @@ local function worker(user_args)
|
||||||
font = font,
|
font = font,
|
||||||
widget = wibox.widget.textbox
|
widget = wibox.widget.textbox
|
||||||
},
|
},
|
||||||
|
spacing = space,
|
||||||
layout = wibox.layout.fixed.horizontal,
|
layout = wibox.layout.fixed.horizontal,
|
||||||
update_icon = function(self, name)
|
update_icon = function(self, name)
|
||||||
self:get_children_by_id("playback_icon")[1]:set_image(path_to_icons .. name)
|
self:get_children_by_id("playback_icon")[1]:set_image(path_to_icons .. name)
|
||||||
|
@ -53,7 +47,7 @@ local function worker(user_args)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_widget(widget, stdout, _, _, code)
|
local function update_widget(widget, stdout, _, _, code)
|
||||||
if code == 0 then
|
if code == 0 then
|
||||||
local cmus_info = {}
|
local cmus_info = {}
|
||||||
|
|
||||||
|
@ -63,12 +57,12 @@ local function worker(user_args)
|
||||||
if key and val then
|
if key and val then
|
||||||
cmus_info[key] = val
|
cmus_info[key] = val
|
||||||
else
|
else
|
||||||
local key, val = string.match(s, "^set (%a+) (.+)$")
|
key, val = string.match(s, "^set (%a+) (.+)$")
|
||||||
|
|
||||||
if key and val then
|
if key and val then
|
||||||
cmus_info[key] = val
|
cmus_info[key] = val
|
||||||
else
|
else
|
||||||
local key, val = string.match(s, "^(%a+) (.+)$")
|
key, val = string.match(s, "^(%a+) (.+)$")
|
||||||
if key and val then
|
if key and val then
|
||||||
cmus_info[key] = val
|
cmus_info[key] = val
|
||||||
end
|
end
|
||||||
|
@ -96,7 +90,6 @@ local function worker(user_args)
|
||||||
widget.visible = true
|
widget.visible = true
|
||||||
else
|
else
|
||||||
widget.visible = false
|
widget.visible = false
|
||||||
widget.width = 0
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
widget.visible = false
|
widget.visible = false
|
||||||
|
|
|
@ -15,6 +15,8 @@ It is possible to customize widget by providing a table with all or some of the
|
||||||
| `color_used` | `beautiful.bg_urgent` | Color for used RAM |
|
| `color_used` | `beautiful.bg_urgent` | Color for used RAM |
|
||||||
| `color_free` | `beautiful.fg_normal` | Color for free RAM |
|
| `color_free` | `beautiful.fg_normal` | Color for free RAM |
|
||||||
| `color_buf` | `beautiful.border_color_active` | Color for buffers/cache |
|
| `color_buf` | `beautiful.border_color_active` | Color for buffers/cache |
|
||||||
|
| `widget_height` | `25` | Height of the widget |
|
||||||
|
| `widget_width` | `25` | Width of the widget |
|
||||||
| `widget_show_buf` | `false` | Whether to display buffers/cache separately in the tray widget. If `false`, buffers/cache are considered free RAM. |
|
| `widget_show_buf` | `false` | Whether to display buffers/cache separately in the tray widget. If `false`, buffers/cache are considered free RAM. |
|
||||||
| `timeout` | 1 | How often (in seconds) the widget refreshes |
|
| `timeout` | 1 | How often (in seconds) the widget refreshes |
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,8 @@ local function worker(user_args)
|
||||||
local color_free = args.color_free or beautiful.fg_normal
|
local color_free = args.color_free or beautiful.fg_normal
|
||||||
local color_buf = args.color_buf or beautiful.border_color_active
|
local color_buf = args.color_buf or beautiful.border_color_active
|
||||||
local widget_show_buf = args.widget_show_buf or false
|
local widget_show_buf = args.widget_show_buf or false
|
||||||
|
local widget_height = args.widget_height or 25
|
||||||
|
local widget_width = args.widget_width or 25
|
||||||
|
|
||||||
--- Main ram widget shown on wibar
|
--- Main ram widget shown on wibar
|
||||||
ramgraph_widget = wibox.widget {
|
ramgraph_widget = wibox.widget {
|
||||||
|
@ -25,7 +27,8 @@ local function worker(user_args)
|
||||||
color_buf,
|
color_buf,
|
||||||
},
|
},
|
||||||
display_labels = false,
|
display_labels = false,
|
||||||
forced_width = 25,
|
forced_height = widget_height,
|
||||||
|
forced_width = widget_width,
|
||||||
widget = wibox.widget.piechart
|
widget = wibox.widget.piechart
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue