summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShubham Pawar <31388020+shubham-cpp@users.noreply.github.com>2022-04-16 18:30:12 +0530
committerGitHub <noreply@github.com>2022-04-16 18:30:12 +0530
commitfc7d966cb9f06eb2da2e8998402adc8663d831ee (patch)
treeed2bd23e6340aab609de1a881c30dadf5116250b
parent6d1c05decca2fffe87863fceaa163a077360f21d (diff)
parent8439ca7930e73e17746a1d6f0610417e8a42865f (diff)
Merge branch 'master' into update-brightnessctl
-rw-r--r--battery-widget/battery.lua2
-rw-r--r--batteryarc-widget/README.md1
-rw-r--r--batteryarc-widget/batteryarc.lua4
-rw-r--r--brightness-widget/README.md2
-rw-r--r--brightness-widget/brightness.lua308
-rw-r--r--calendar-widget/calendar_start_sunday.pngbin0 -> 8410 bytes
-rw-r--r--cmus-widget/README.md2
-rw-r--r--cmus-widget/cmus.lua19
-rw-r--r--ram-widget/README.md2
-rw-r--r--ram-widget/ram-widget.lua5
10 files changed, 171 insertions, 174 deletions
diff --git a/battery-widget/battery.lua b/battery-widget/battery.lua
index f7f76b5..452d7ef 100644
--- a/battery-widget/battery.lua
+++ b/battery-widget/battery.lua
@@ -125,7 +125,7 @@ local function worker(user_args)
local battery_info = {}
local capacities = {}
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
table.insert(battery_info, {status = status, charge = tonumber(charge_str)})
else
diff --git a/batteryarc-widget/README.md b/batteryarc-widget/README.md
index a257b2f..98a2956 100644
--- a/batteryarc-widget/README.md
+++ b/batteryarc-widget/README.md
@@ -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 |
| `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` |
+| `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
diff --git a/batteryarc-widget/batteryarc.lua b/batteryarc-widget/batteryarc.lua
index 1b6752a..55a7694 100644
--- a/batteryarc-widget/batteryarc.lua
+++ b/batteryarc-widget/batteryarc.lua
@@ -29,6 +29,7 @@ local function worker(user_args)
local size = args.size or 18
local timeout = args.timeout or 10
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 bg_color = args.bg_color or '#ffffff11'
@@ -89,7 +90,7 @@ local function worker(user_args)
local charge = 0
local status
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
local cur_charge = tonumber(charge_str)
if cur_charge > charge then
@@ -146,6 +147,7 @@ local function worker(user_args)
title = "Battery status",
timeout = 5,
width = 200,
+ position = notification_position,
}
end)
end
diff --git a/brightness-widget/README.md b/brightness-widget/README.md
index 156d109..0cdb774 100644
--- a/brightness-widget/README.md
+++ b/brightness-widget/README.md
@@ -13,7 +13,7 @@ It is possible to customize widget by providing a table with all or some of the
| `step` | 5 | Step |
| `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 |
-| `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 |
| `tooltip` | false | Display brightness level in a tooltip when the mouse cursor hovers the widget |
| `percentage` | false | Display a '%' character after the brightness level |
diff --git a/brightness-widget/brightness.lua b/brightness-widget/brightness.lua
index c069b61..b1cb107 100644
--- a/brightness-widget/brightness.lua
+++ b/brightness-widget/brightness.lua
@@ -14,6 +14,7 @@ local watch = require("awful.widget.watch")
local spawn = require("awful.spawn")
local gfs = require("gears.filesystem")
local naughty = require("naughty")
+local beautiful = require("beautiful")
local ICON_DIR = gfs.get_configuration_dir() .. "awesome-wm-widgets/brightness-widget/"
local get_brightness_cmd
@@ -32,164 +33,159 @@ local function show_warning(message)
end
local function worker(user_args)
- local args = user_args or {}
-
- 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 font = args.font or "Play 9"
- local timeout = args.timeout or 100
-
- local program = args.program or "light"
- local step = args.step or 5
- local base = args.base or 20
- local current_level = 0 -- current brightness value
- local tooltip = args.tooltip or false
- local percentage = args.percentage or false
- if program == "light" then
- get_brightness_cmd = "light -G"
- set_brightness_cmd = "light -S %d" -- <level>
- inc_brightness_cmd = "light -A " .. step
- dec_brightness_cmd = "light -U " .. step
- elseif program == "xbacklight" then
- get_brightness_cmd = "xbacklight -get"
- set_brightness_cmd = "xbacklight -set %d" -- <level>
- inc_brightness_cmd = "xbacklight -inc " .. step
- dec_brightness_cmd = "xbacklight -dec " .. step
- elseif program == "brightnessctl" then
- get_brightness_cmd = "brightnessctl get"
+ local args = user_args or {}
+
+ 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 font = args.font or beautiful.font
+ local timeout = args.timeout or 100
+
+ local program = args.program or 'light'
+ local step = args.step or 5
+ local base = args.base or 20
+ local current_level = 0 -- current brightness value
+ local tooltip = args.tooltip or false
+ local percentage = args.percentage or false
+ if program == 'light' then
+ get_brightness_cmd = 'light -G'
+ set_brightness_cmd = 'light -S %d' -- <level>
+ inc_brightness_cmd = 'light -A ' .. step
+ dec_brightness_cmd = 'light -U ' .. step
+ elseif program == 'xbacklight' then
+ get_brightness_cmd = 'xbacklight -get'
+ set_brightness_cmd = 'xbacklight -set %d' -- <level>
+ inc_brightness_cmd = 'xbacklight -inc ' .. step
+ dec_brightness_cmd = 'xbacklight -dec ' .. step
+ elseif program == 'brightnessctl' then
+ get_brightness_cmd = "brightnessctl get"
set_brightness_cmd = "brightnessctl set %d%%" -- <level>
inc_brightness_cmd = "brightnessctl set +" .. step .. "%"
- dec_brightness_cmd = "brightnessctl set " .. step .. "-%"
- else
- show_warning(program .. " command is not supported by the widget")
- return
- end
-
- if type == "icon_and_text" then
- brightness_widget.widget = wibox.widget({
- {
- {
- image = path_to_icon,
- resize = false,
- widget = wibox.widget.imagebox,
- },
- valign = "center",
- layout = wibox.container.place,
- },
- {
- id = "txt",
- font = font,
- widget = wibox.widget.textbox,
- },
- spacing = 4,
- layout = wibox.layout.fixed.horizontal,
- set_value = function(self, level)
- local display_level = level
- if percentage then
- display_level = display_level .. "%"
- end
- self:get_children_by_id("txt")[1]:set_text(display_level)
- end,
- })
- elseif type == "arc" then
- brightness_widget.widget = wibox.widget({
- {
- {
- image = path_to_icon,
- resize = true,
- widget = wibox.widget.imagebox,
- },
- valign = "center",
- layout = wibox.container.place,
- },
- max_value = 100,
- thickness = 2,
- start_angle = 4.71238898, -- 2pi*3/4
- forced_height = 18,
- forced_width = 18,
- paddings = 2,
- widget = wibox.container.arcchart,
- set_value = function(self, level)
- self:set_value(level)
- end,
- })
- else
- show_warning(type .. " type is not supported by the widget")
- return
- end
-
- local update_widget = function(widget, stdout, _, _, _)
- local brightness_level = tonumber(string.format("%.0f", stdout))
- current_level = brightness_level
- widget:set_value(brightness_level)
- end
-
- function brightness_widget:set(value)
- current_level = value
- spawn.easy_async(string.format(set_brightness_cmd, value), function()
- spawn.easy_async(get_brightness_cmd, function(out)
- update_widget(brightness_widget.widget, out)
- end)
- end)
- end
- local old_level = 0
- function brightness_widget:toggle()
- if old_level < 0.1 then
- -- avoid toggling between '0' and 'almost 0'
- old_level = 1
- end
- if current_level < 0.1 then
- -- restore previous level
- current_level = old_level
- else
- -- save current brightness for later
- old_level = current_level
- current_level = 0
- end
- brightness_widget:set(current_level)
- end
- function brightness_widget:inc()
- spawn.easy_async(inc_brightness_cmd, function()
- spawn.easy_async(get_brightness_cmd, function(out)
- update_widget(brightness_widget.widget, out)
- end)
- end)
- end
- function brightness_widget:dec()
- spawn.easy_async(dec_brightness_cmd, function()
- spawn.easy_async(get_brightness_cmd, function(out)
- update_widget(brightness_widget.widget, out)
- end)
- end)
- end
-
- brightness_widget.widget:buttons(awful.util.table.join(
- awful.button({}, 1, function()
- brightness_widget:set(base)
- end),
- awful.button({}, 3, function()
- brightness_widget:toggle()
- 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)
-
- if tooltip then
- awful.tooltip({
- objects = { brightness_widget.widget },
- timer_function = function()
- return current_level .. " %"
- end,
- })
- end
-
- return brightness_widget.widget
+ dec_brightness_cmd = "brightnessctl set " .. step .. "-%"
+ else
+ show_warning(program .. " command is not supported by the widget")
+ return
+ end
+
+ if type == 'icon_and_text' then
+ brightness_widget.widget = wibox.widget {
+ {
+ {
+ image = path_to_icon,
+ resize = false,
+ widget = wibox.widget.imagebox,
+ },
+ valign = 'center',
+ layout = wibox.container.place
+ },
+ {
+ id = 'txt',
+ font = font,
+ widget = wibox.widget.textbox
+ },
+ spacing = 4,
+ layout = wibox.layout.fixed.horizontal,
+ set_value = function(self, level)
+ local display_level = level
+ if percentage then
+ display_level = display_level .. '%'
+ end
+ self:get_children_by_id('txt')[1]:set_text(display_level)
+ end
+ }
+ elseif type == 'arc' then
+ brightness_widget.widget = wibox.widget {
+ {
+ {
+ image = path_to_icon,
+ resize = true,
+ widget = wibox.widget.imagebox,
+ },
+ valign = 'center',
+ layout = wibox.container.place
+ },
+ max_value = 100,
+ thickness = 2,
+ start_angle = 4.71238898, -- 2pi*3/4
+ forced_height = 18,
+ forced_width = 18,
+ paddings = 2,
+ widget = wibox.container.arcchart,
+ set_value = function(self, level)
+ self:set_value(level)
+ end
+ }
+ else
+ show_warning(type .. " type is not supported by the widget")
+ return
+
+ end
+
+ local update_widget = function(widget, stdout, _, _, _)
+ local brightness_level = tonumber(string.format("%.0f", stdout))
+ current_level = brightness_level
+ widget:set_value(brightness_level)
+ end
+
+ function brightness_widget:set(value)
+ current_level = value
+ spawn.easy_async(string.format(set_brightness_cmd, value), function()
+ spawn.easy_async(get_brightness_cmd, function(out)
+ update_widget(brightness_widget.widget, out)
+ end)
+ end)
+ end
+ local old_level = 0
+ function brightness_widget:toggle()
+ if old_level < 0.1 then
+ -- avoid toggling between '0' and 'almost 0'
+ old_level = 1
+ end
+ if current_level < 0.1 then
+ -- restore previous level
+ current_level = old_level
+ else
+ -- save current brightness for later
+ old_level = current_level
+ current_level = 0
+ end
+ brightness_widget:set(current_level)
+ end
+ function brightness_widget:inc()
+ spawn.easy_async(inc_brightness_cmd, function()
+ spawn.easy_async(get_brightness_cmd, function(out)
+ update_widget(brightness_widget.widget, out)
+ end)
+ end)
+ end
+ function brightness_widget:dec()
+ spawn.easy_async(dec_brightness_cmd, function()
+ spawn.easy_async(get_brightness_cmd, function(out)
+ update_widget(brightness_widget.widget, out)
+ end)
+ end)
+ end
+
+ brightness_widget.widget:buttons(
+ awful.util.table.join(
+ awful.button({}, 1, function() brightness_widget:set(base) end),
+ awful.button({}, 3, function() brightness_widget:toggle() 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)
+
+ if tooltip then
+ awful.tooltip {
+ objects = { brightness_widget.widget },
+ timer_function = function()
+ return current_level .. " %"
+ end,
+ }
+ end
+
+ return brightness_widget.widget
end
return setmetatable(brightness_widget, {
diff --git a/calendar-widget/calendar_start_sunday.png b/calendar-widget/calendar_start_sunday.png
new file mode 100644
index 0000000..126a218
--- /dev/null
+++ b/calendar-widget/calendar_start_sunday.png
Binary files differ
diff --git a/cmus-widget/README.md b/cmus-widget/README.md
index 7e7fb9e..eec5773 100644
--- a/cmus-widget/README.md
+++ b/cmus-widget/README.md
@@ -45,7 +45,7 @@ It is possible to customize the widget by providing a table with all or some of
| 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 |
| `timeout`| `10` | Refresh cooldown |
| `space` | `3` | Space between icon and track title |
diff --git a/cmus-widget/cmus.lua b/cmus-widget/cmus.lua
index 51daa89..2ffa872 100644
--- a/cmus-widget/cmus.lua
+++ b/cmus-widget/cmus.lua
@@ -10,21 +10,14 @@ local awful = require("awful")
local wibox = require("wibox")
local watch = require("awful.widget.watch")
local spawn = require("awful.spawn")
-local naughty = require("naughty")
+local beautiful = require('beautiful')
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 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 timeout = args.timeout or 10
@@ -44,6 +37,7 @@ local function worker(user_args)
font = font,
widget = wibox.widget.textbox
},
+ spacing = space,
layout = wibox.layout.fixed.horizontal,
update_icon = function(self, 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
}
- function update_widget(widget, stdout, _, _, code)
+ local function update_widget(widget, stdout, _, _, code)
if code == 0 then
local cmus_info = {}
@@ -63,12 +57,12 @@ local function worker(user_args)
if key and val then
cmus_info[key] = val
else
- local key, val = string.match(s, "^set (%a+) (.+)$")
+ key, val = string.match(s, "^set (%a+) (.+)$")
if key and val then
cmus_info[key] = val
else
- local key, val = string.match(s, "^(%a+) (.+)$")
+ key, val = string.match(s, "^(%a+) (.+)$")
if key and val then
cmus_info[key] = val
end
@@ -96,7 +90,6 @@ local function worker(user_args)
widget.visible = true
else
widget.visible = false
- widget.width = 0
end
else
widget.visible = false
diff --git a/ram-widget/README.md b/ram-widget/README.md
index 6e80976..568245b 100644
--- a/ram-widget/README.md
+++ b/ram-widget/README.md
@@ -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_free` | `beautiful.fg_normal` | Color for free RAM |
| `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. |
| `timeout` | 1 | How often (in seconds) the widget refreshes |
diff --git a/ram-widget/ram-widget.lua b/ram-widget/ram-widget.lua
index 1b5cdcf..867d28e 100644
--- a/ram-widget/ram-widget.lua
+++ b/ram-widget/ram-widget.lua
@@ -15,6 +15,8 @@ local function worker(user_args)
local color_free = args.color_free or beautiful.fg_normal
local color_buf = args.color_buf or beautiful.border_color_active
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
ramgraph_widget = wibox.widget {
@@ -25,7 +27,8 @@ local function worker(user_args)
color_buf,
},
display_labels = false,
- forced_width = 25,
+ forced_height = widget_height,
+ forced_width = widget_width,
widget = wibox.widget.piechart
}