diff --git a/battery-widget/battery.lua b/battery-widget/battery.lua index 8a6982a..b0a71e7 100644 --- a/battery-widget/battery.lua +++ b/battery-widget/battery.lua @@ -20,10 +20,11 @@ local dpi = require('beautiful').xresources.apply_dpi -- Battery 0: Charging, 53%, 00:57:43 until charged local HOME = os.getenv("HOME") +local WIDGET_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/battery-widget' local battery_widget = {} -local function worker(args) - local args = args or {} +local function worker(user_args) + local args = user_args or {} local font = args.font or 'Play 8' local path_to_icons = args.path_to_icons or "/usr/share/icons/Arc/status/symbolic/" @@ -39,7 +40,7 @@ local function worker(args) 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_position = args.warning_msg_position or 'bottom_right' - local warning_msg_icon = args.warning_msg_icon or HOME .. '/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg' + local warning_msg_icon = args.warning_msg_icon or WIDGET_DIR .. '/spaceman.jpg' local enable_battery_warning = args.enable_battery_warning if enable_battery_warning == nil then enable_battery_warning = true @@ -59,7 +60,8 @@ local function worker(args) widget = wibox.widget.imagebox, resize = false }, - layout = wibox.container.margin(_, 0, 0, 3) + bottom = 3, + layout = wibox.container.margin } local level_widget = wibox.widget { font = font, @@ -119,11 +121,11 @@ local function worker(args) local batteryType = "battery-good-symbolic" watch("acpi -i", timeout, - function(widget, stdout, stderr, exitreason, exitcode) + function(widget, stdout) local battery_info = {} local capacities = {} for s in stdout:gmatch("[^\r\n]+") do - local status, charge_str, time = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') + local status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') if status ~= nil then table.insert(battery_info, {status = status, charge = tonumber(charge_str)}) else @@ -133,7 +135,7 @@ local function worker(args) end local capacity = 0 - for i, cap in ipairs(capacities) do + for _, cap in ipairs(capacities) do capacity = capacity + cap end @@ -184,12 +186,12 @@ local function worker(args) battery_widget:connect_signal("mouse::enter", function() show_battery_status(batteryType) end) battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) elseif display_notification_onClick then - battery_widget:connect_signal("button::press", function(_,_,_,button) + battery_widget:connect_signal("button::press", function(_,_,_,button) if (button == 3) then show_battery_status(batteryType) end end) battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) end - + return wibox.container.margin(battery_widget, margin_left, margin_right) end diff --git a/batteryarc-widget/batteryarc.lua b/batteryarc-widget/batteryarc.lua index 858d3b3..1b6752a 100644 --- a/batteryarc-widget/batteryarc.lua +++ b/batteryarc-widget/batteryarc.lua @@ -15,12 +15,13 @@ local wibox = require("wibox") local watch = require("awful.widget.watch") local HOME = os.getenv("HOME") +local WIDGET_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/batteryarc-widget' -local widget = {} +local batteryarc_widget = {} -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local font = args.font or 'Play 6' local arc_thickness = args.arc_thickness or 2 @@ -38,7 +39,7 @@ local function worker(args) local warning_msg_title = args.warning_msg_title or 'Houston, we have a problem' local warning_msg_text = args.warning_msg_text or 'Battery is dying' local warning_msg_position = args.warning_msg_position or 'bottom_right' - local warning_msg_icon = args.warning_msg_icon or HOME .. '/.config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg' + local warning_msg_icon = args.warning_msg_icon or WIDGET_DIR .. '/spaceman.jpg' local enable_battery_warning = args.enable_battery_warning if enable_battery_warning == nil then enable_battery_warning = true @@ -53,7 +54,7 @@ local function worker(args) local text_with_background = wibox.container.background(text) - widget = wibox.widget { + batteryarc_widget = wibox.widget { text_with_background, max_value = 100, rounded_edge = true, @@ -88,7 +89,7 @@ local function worker(args) local charge = 0 local status for s in stdout:gmatch("[^\r\n]+") do - local cur_status, charge_str, time = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') + local cur_status, charge_str, _ = string.match(s, '.+: (%a+), (%d?%d?%d)%%,?(.*)') if cur_status ~= nil and charge_str ~=nil then local cur_charge = tonumber(charge_str) if cur_charge > charge then @@ -132,7 +133,7 @@ local function worker(args) end end - watch("acpi", timeout, update_widget, widget) + watch("acpi", timeout, update_widget, batteryarc_widget) -- Popup with battery info local notification @@ -150,18 +151,18 @@ local function worker(args) end if show_notification_mode == 'on_hover' then - widget:connect_signal("mouse::enter", function() show_battery_status() end) - widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + batteryarc_widget:connect_signal("mouse::enter", function() show_battery_status() end) + batteryarc_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) elseif show_notification_mode == 'on_click' then - widget:connect_signal('button::press', function(_, _, _, button) + batteryarc_widget:connect_signal('button::press', function(_, _, _, button) if (button == 1) then show_battery_status() end end) end - return widget + return batteryarc_widget end -return setmetatable(widget, { __call = function(_, ...) +return setmetatable(batteryarc_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/brightness-widget/brightness.lua b/brightness-widget/brightness.lua index 0cfbea4..4686041 100644 --- a/brightness-widget/brightness.lua +++ b/brightness-widget/brightness.lua @@ -17,11 +17,11 @@ local GET_BRIGHTNESS_CMD = "light -G" -- "xbacklight -get" local INC_BRIGHTNESS_CMD = "light -A 5" -- "xbacklight -inc 5" local DEC_BRIGHTNESS_CMD = "light -U 5" -- "xbacklight -dec 5" -local widget = {} +local brightness_widget = {} -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local get_brightness_cmd = args.get_brightness_cmd or GET_BRIGHTNESS_CMD local inc_brightness_cmd = args.inc_brightness_cmd or INC_BRIGHTNESS_CMD @@ -43,7 +43,7 @@ local function worker(args) widget = wibox.container.margin } - widget = wibox.widget { + brightness_widget = wibox.widget { brightness_icon, brightness_text, layout = wibox.layout.fixed.horizontal, @@ -52,9 +52,9 @@ local function worker(args) local update_widget = function(widget, stdout, _, _, _) local brightness_level = tonumber(string.format("%.0f", stdout)) widget:set_text(" " .. brightness_level .. "%") - end, + end - widget:connect_signal("button::press", function(_, _, _, button) + brightness_widget:connect_signal("button::press", function(_, _, _, button) if (button == 4) then spawn(inc_brightness_cmd, false) elseif (button == 5) then @@ -64,9 +64,9 @@ local function worker(args) watch(get_brightness_cmd, timeout, update_widget, brightness_text) - return widget + return brightness_widget end -return setmetatable(widget, { __call = function(_, ...) +return setmetatable(brightness_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/brightnessarc-widget/brightnessarc.lua b/brightnessarc-widget/brightnessarc.lua index ee93482..fd37894 100644 --- a/brightnessarc-widget/brightnessarc.lua +++ b/brightnessarc-widget/brightnessarc.lua @@ -18,11 +18,11 @@ local GET_BRIGHTNESS_CMD = "light -G" -- "xbacklight -get" local INC_BRIGHTNESS_CMD = "light -A 5" -- "xbacklight -inc 5" local DEC_BRIGHTNESS_CMD = "light -U 5" -- "xbacklight -dec 5" -local widget = {} +local brightness_widget = {} -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local get_brightness_cmd = args.get_brightness_cmd or GET_BRIGHTNESS_CMD local inc_brightness_cmd = args.inc_brightness_cmd or INC_BRIGHTNESS_CMD @@ -39,7 +39,7 @@ local function worker(args) widget = wibox.widget.imagebox, } - widget = wibox.widget { + brightness_widget = wibox.widget { icon, max_value = 1, thickness = 2, @@ -57,9 +57,9 @@ local function worker(args) brightness_level = tonumber(string.format("% 3d", brightness_level)) widget.value = brightness_level / 100; - end, + end - widget:connect_signal("button::press", function(_, _, _, button) + brightness_widget:connect_signal("button::press", function(_, _, _, button) if (button == 4) then spawn(inc_brightness_cmd, false) elseif (button == 5) then @@ -67,11 +67,11 @@ local function worker(args) end end) - watch(get_brightness_cmd, timeout, update_widget, widget) + watch(get_brightness_cmd, timeout, update_widget, brightness_widget) - return widget + return brightness_widget end -return setmetatable(widget, { __call = function(_, ...) +return setmetatable(brightness_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/calendar-widget/calendar.lua b/calendar-widget/calendar.lua index 5cf97c8..b39b563 100644 --- a/calendar-widget/calendar.lua +++ b/calendar-widget/calendar.lua @@ -16,7 +16,7 @@ local naughty = require("naughty") local calendar_widget = {} -local function worker(args) +local function worker(user_args) local calendar_themes = { nord = { @@ -82,7 +82,7 @@ local function worker(args) } - local args = args or {} + local args = user_args or {} if args.theme ~= nil and calendar_themes[args.theme] == nil then naughty.notify({ @@ -154,7 +154,9 @@ local function worker(args) -- Change bg color for weekends local d = { year = date.year, month = (date.month or 1), day = (date.day or 1) } local weekday = tonumber(os.date('%w', os.time(d))) - local default_bg = (weekday == 0 or weekday == 6) and calendar_themes[theme].weekend_day_bg or calendar_themes[theme].bg + local default_bg = (weekday == 0 or weekday == 6) + and calendar_themes[theme].weekend_day_bg + or calendar_themes[theme].bg local ret = wibox.widget { { { @@ -228,7 +230,8 @@ local function worker(args) elseif placement == 'top_right' then awful.placement.top_right(popup, { margins = { top = 30, right = 10}, parent = awful.screen.focused() }) elseif placement == 'bottom_right' then - awful.placement.bottom_right(popup, { margins = { bottom = 30, right = 10}, parent = awful.screen.focused() }) + awful.placement.bottom_right(popup, { margins = { bottom = 30, right = 10}, + parent = awful.screen.focused() }) else awful.placement.top(popup, { margins = { top = 30 }, parent = awful.screen.focused() }) end diff --git a/cpu-widget/cpu-widget.lua b/cpu-widget/cpu-widget.lua index f58f960..bed40fe 100644 --- a/cpu-widget/cpu-widget.lua +++ b/cpu-widget/cpu-widget.lua @@ -14,13 +14,13 @@ local wibox = require("wibox") local beautiful = require("beautiful") local gears = require("gears") -local CMD = [[sh -c "grep '^cpu.' /proc/stat; ps -eo '%p|%c|%C|' -o "%mem" -o '|%a' --sort=-%cpu ]] +local CMD = [[sh -c "grep '^cpu.' /proc/stat; ps -eo '%p|%c|%C|' -o "%mem" -o '|%a' --sort=-%cpu ]] .. [[| head -11 | tail -n +2"]] local HOME_DIR = os.getenv("HOME") local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/cpu-widget' -local widget = {} +local cpu_widget = {} local cpu_rows = { spacing = 4, layout = wibox.layout.fixed.vertical, @@ -139,155 +139,162 @@ local function worker(user_args) ) --- By default graph widget goes from left to right, so we mirror it and push up a bit - local cpu_widget = wibox.container.margin(wibox.container.mirror(cpugraph_widget, { horizontal = true }), 0, 0, 0, 2) + cpu_widget = wibox.widget { + { + cpugraph_widget, + reflection = {horizontal = true}, + layout = wibox.container.mirror + }, + bottom = 2, + widget = wibox.container.margin + } local cpus = {} - watch(CMD, timeout, - function(widget, stdout) - local i = 1 - local j = 1 - for line in stdout:gmatch("[^\r\n]+") do - if starts_with(line, 'cpu') then + watch(CMD, timeout, function(widget, stdout) + local i = 1 + local j = 1 + for line in stdout:gmatch("[^\r\n]+") do + if starts_with(line, 'cpu') then - if cpus[i] == nil then cpus[i] = {} end + if cpus[i] == nil then cpus[i] = {} end - local name, user, nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice = - line:match('(%w+)%s+(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)') + local name, user, nice, system, idle, iowait, irq, softirq, steal, _, _ = + line:match('(%w+)%s+(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)%s(%d+)') - local total = user + nice + system + idle + iowait + irq + softirq + steal + local total = user + nice + system + idle + iowait + irq + softirq + steal - local diff_idle = idle - tonumber(cpus[i]['idle_prev'] == nil and 0 or cpus[i]['idle_prev']) - local diff_total = total - tonumber(cpus[i]['total_prev'] == nil and 0 or cpus[i]['total_prev']) - local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10 + local diff_idle = idle - tonumber(cpus[i]['idle_prev'] == nil and 0 or cpus[i]['idle_prev']) + local diff_total = total - tonumber(cpus[i]['total_prev'] == nil and 0 or cpus[i]['total_prev']) + local diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10 - cpus[i]['total_prev'] = total - cpus[i]['idle_prev'] = idle + cpus[i]['total_prev'] = total + cpus[i]['idle_prev'] = idle - if i == 1 then - widget:add_value(diff_usage) - end + if i == 1 then + widget:add_value(diff_usage) + end - local row = wibox.widget + local row = wibox.widget + { + create_textbox{text = name}, + create_textbox{text = math.floor(diff_usage) .. '%'}, + { + max_value = 100, + value = diff_usage, + forced_height = 20, + forced_width = 150, + paddings = 1, + margins = 4, + border_width = 1, + border_color = beautiful.bg_focus, + background_color = beautiful.bg_normal, + bar_border_width = 1, + bar_border_color = beautiful.bg_focus, + color = "linear:150,0:0,0:0,#D08770:0.3,#BF616A:0.6," .. beautiful.fg_normal, + widget = wibox.widget.progressbar, + + }, + layout = wibox.layout.ratio.horizontal + } + row:ajust_ratio(2, 0.15, 0.15, 0.7) + cpu_rows[i] = row + i = i + 1 + else + if is_update == true then + + local columns = split(line, '|') + + local pid = columns[1] + local comm = columns[2] + local cpu = columns[3] + local mem = columns[4] + local cmd = columns[5] + + local kill_proccess_button = enable_kill_button and create_kill_process_button() or nil + + local pid_name_rest = wibox.widget{ + create_textbox{text = pid}, + create_textbox{text = comm}, { - create_textbox{text = name}, - create_textbox{text = math.floor(diff_usage) .. '%'}, - { - max_value = 100, - value = diff_usage, - forced_height = 20, - forced_width = 150, - paddings = 1, - margins = 4, - border_width = 1, - border_color = beautiful.bg_focus, - background_color = beautiful.bg_normal, - bar_border_width = 1, - bar_border_color = beautiful.bg_focus, - color = "linear:150,0:0,0:0,#D08770:0.3,#BF616A:0.6," .. beautiful.fg_normal, - widget = wibox.widget.progressbar, + create_textbox{text = cpu, align = 'center'}, + create_textbox{text = mem, align = 'center'}, + kill_proccess_button, + layout = wibox.layout.fixed.horizontal + }, + layout = wibox.layout.ratio.horizontal + } + pid_name_rest:ajust_ratio(2, 0.2, 0.47, 0.33) - }, - layout = wibox.layout.ratio.horizontal - } - row:ajust_ratio(2, 0.15, 0.15, 0.7) - cpu_rows[i] = row - i = i + 1 - else - if is_update == true then + local row = wibox.widget { + { + pid_name_rest, + top = 4, + bottom = 4, + widget = wibox.container.margin + }, + widget = wibox.container.background + } - local columns = split(line, '|') + row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) + row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) - local pid = columns[1] - local comm = columns[2] - local cpu = columns[3] - local mem = columns[4] - local cmd = columns[5] + if enable_kill_button then + row:connect_signal("mouse::enter", function() kill_proccess_button.icon.opacity = 1 end) + row:connect_signal("mouse::leave", function() kill_proccess_button.icon.opacity = 0.1 end) - local kill_proccess_button = enable_kill_button and create_kill_process_button() or nil + kill_proccess_button:buttons( + awful.util.table.join( awful.button({}, 1, function() + row:set_bg('#ff0000') + awful.spawn.with_shell('kill -9 ' .. pid) + end) ) ) + end - local pid_name_rest = wibox.widget{ - create_textbox{text = pid}, - create_textbox{text = comm}, - { - create_textbox{text = cpu, align = 'center'}, - create_textbox{text = mem, align = 'center'}, - kill_proccess_button, - layout = wibox.layout.fixed.horizontal - }, - layout = wibox.layout.ratio.horizontal - } - pid_name_rest:ajust_ratio(2, 0.2, 0.47, 0.33) - - local row = wibox.widget { - { - pid_name_rest, - top = 4, - bottom = 4, - widget = wibox.container.margin - }, - widget = wibox.container.background - } - - row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) - row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) - - if enable_kill_button then - row:connect_signal("mouse::enter", function(c) kill_proccess_button.icon.opacity = 1 end) - row:connect_signal("mouse::leave", function(c) kill_proccess_button.icon.opacity = 0.1 end) - - kill_proccess_button:buttons( - awful.util.table.join( awful.button({}, 1, function() - row:set_bg('#ff0000') - awful.spawn.with_shell('kill -9 ' .. pid) - end) ) ) + awful.tooltip { + objects = { row }, + mode = 'outside', + preferred_positions = {'bottom'}, + timer_function = function() + local text = cmd + if process_info_max_length > 0 and text:len() > process_info_max_length then + text = text:sub(0, process_info_max_length - 3) .. '...' end - awful.tooltip { - objects = { row }, - mode = 'outside', - preferred_positions = {'bottom'}, - timer_function = function() - local text = cmd - if process_info_max_length > 0 and text:len() > process_info_max_length then - text = text:sub(0, process_info_max_length - 3) .. '...' - end + return text + :gsub('%s%-', '\n\t-') -- put arguments on a new line + :gsub(':/', '\n\t\t:/') -- java classpath uses : to separate jars + end, + } - return text - :gsub('%s%-', '\n\t-') -- put arguments on a new line - :gsub(':/', '\n\t\t:/') -- java classpath uses : to separate jars - end, - } + process_rows[j] = row - process_rows[j] = row - - j = j + 1 - end - - end + j = j + 1 end - popup:setup { - { - cpu_rows, - { - orientation = 'horizontal', - forced_height = 15, - color = beautiful.bg_focus, - widget = wibox.widget.separator - }, - create_process_header{with_action_column = enable_kill_button}, - process_rows, - layout = wibox.layout.fixed.vertical, - }, - margins = 8, - widget = wibox.container.margin - } - end, - cpugraph_widget + + end + end + popup:setup { + { + cpu_rows, + { + orientation = 'horizontal', + forced_height = 15, + color = beautiful.bg_focus, + widget = wibox.widget.separator + }, + create_process_header{with_action_column = enable_kill_button}, + process_rows, + layout = wibox.layout.fixed.vertical, + }, + margins = 8, + widget = wibox.container.margin + } + end, + cpugraph_widget ) return cpu_widget end -return setmetatable(widget, { __call = function(_, ...) +return setmetatable(cpu_widget, { __call = function(_, ...) return worker(...) end }) diff --git a/docker-widget/docker.lua b/docker-widget/docker.lua index 6dd2e61..6ea0179 100644 --- a/docker-widget/docker.lua +++ b/docker-widget/docker.lua @@ -98,15 +98,15 @@ local function worker(user_args) layout = wibox.layout.fixed.vertical, } - local function rebuild_widget(stdout, stderr, _, _) - if stderr ~= '' then - show_warning(stderr) + local function rebuild_widget(containers, errors, _, _) + if errors ~= '' then + show_warning(errors) return end for i = 0, #rows do rows[i]=nil end - for line in stdout:gmatch("[^\r\n]+") do + for line in containers:gmatch("[^\r\n]+") do local container = parse_container(line) @@ -165,7 +165,7 @@ local function worker(user_args) status_icon:emit_signal('widget::redraw_needed') spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function() - if stderr ~= '' then show_warning(stderr) end + if errors ~= '' then show_warning(errors) end spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), function(stdout, stderr) rebuild_widget(stdout, stderr) @@ -223,10 +223,12 @@ local function worker(user_args) status_icon:set_opacity(0.2) status_icon:emit_signal('widget::redraw_needed') - awful.spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function(stdout, stderr) + awful.spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function(_, stderr) if stderr ~= '' then show_warning(stderr) end - spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), function(stdout, stderr) - rebuild_widget(stdout, stderr) end) + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(stdout, container_errors) + rebuild_widget(stdout, container_errors) + end) end) end) ) ) else @@ -354,7 +356,7 @@ local function worker(user_args) if popup.visible then popup.visible = not popup.visible else - spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), function(stdout, stderr) rebuild_widget(stdout, stderr) popup:move_next_to(mouse.current_widget_geometry) diff --git a/email-widget/email.lua b/email-widget/email.lua index d6619f9..f7656fb 100644 --- a/email-widget/email.lua +++ b/email-widget/email.lua @@ -5,30 +5,30 @@ local watch = require("awful.widget.watch") local path_to_icons = "/usr/share/icons/Arc/actions/22/" -email_widget = wibox.widget.textbox() +local email_widget = wibox.widget.textbox() email_widget:set_font('Play 9') -email_icon = wibox.widget.imagebox() +local email_icon = wibox.widget.imagebox() email_icon:set_image(path_to_icons .. "/mail-mark-new.png") watch( "python /home//.config/awesome/email-widget/count_unread_emails.py", 20, - function(widget, stdout, stderr, exitreason, exitcode) + function(_, stdout) local unread_emails_num = tonumber(stdout) or 0 if (unread_emails_num > 0) then - email_icon:set_image(path_to_icons .. "/mail-mark-unread.png") + email_icon:set_image(path_to_icons .. "/mail-mark-unread.png") email_widget:set_text(stdout) elseif (unread_emails_num == 0) then - email_icon:set_image(path_to_icons .. "/mail-message-new.png") - email_widget:set_text("") - end + email_icon:set_image(path_to_icons .. "/mail-message-new.png") + email_widget:set_text("") + end end ) -function show_emails() +local function show_emails() awful.spawn.easy_async([[bash -c 'python /home//.config/awesome/email-widget/read_unread_emails.py']], - function(stdout, stderr, reason, exit_code) + function(stdout) naughty.notify{ text = stdout, title = "Unread Emails", diff --git a/experiments/spotify-player/spotify-player.lua b/experiments/spotify-player/spotify-player.lua index 9fb725b..a6c53df 100644 --- a/experiments/spotify-player/spotify-player.lua +++ b/experiments/spotify-player/spotify-player.lua @@ -6,7 +6,7 @@ -- @author Pavel Makhov -- @copyright 2020 Pavel Makhov ------------------------------------------------- - +--luacheck:ignore local awful = require("awful") local wibox = require("wibox") local watch = require("awful.widget.watch") diff --git a/experiments/volume/utils.lua b/experiments/volume/utils.lua index dcaeb84..417a666 100644 --- a/experiments/volume/utils.lua +++ b/experiments/volume/utils.lua @@ -1,5 +1,4 @@ -local json = require("json") local utils = {} diff --git a/experiments/volume/volume.lua b/experiments/volume/volume.lua index 9110a45..a044ecf 100644 --- a/experiments/volume/volume.lua +++ b/experiments/volume/volume.lua @@ -68,7 +68,7 @@ local function build_rows(devices, on_checkbox_click, device_type) widget = wibox.widget.checkbox } - checkbox:connect_signal("button::press", function(c) + checkbox:connect_signal("button::press", function() spawn.easy_async(string.format([[sh -c 'pacmd set-default-%s "%s"']], device_type, device.name), function() on_checkbox_click() end) @@ -105,19 +105,19 @@ local function build_rows(devices, on_checkbox_click, device_type) row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) local old_cursor, old_wibox - row:connect_signal("mouse::enter", function(c) + row:connect_signal("mouse::enter", function() local wb = mouse.current_wibox old_cursor, old_wibox = wb.cursor, wb wb.cursor = "hand1" end) - row:connect_signal("mouse::leave", function(c) + row:connect_signal("mouse::leave", function() if old_wibox then old_wibox.cursor = old_cursor old_wibox = nil end end) - row:connect_signal("button::press", function(c) + row:connect_signal("button::press", function() spawn.easy_async(string.format([[sh -c 'pacmd set-default-%s "%s"']], device_type, device.name), function() on_checkbox_click() end) @@ -158,9 +158,9 @@ local function rebuild_popup() end -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local widget_type = args.widget_type diff --git a/experiments/volume/widgets/icon-and-text-widget.lua b/experiments/volume/widgets/icon-and-text-widget.lua index 5517f11..6ba6979 100644 --- a/experiments/volume/widgets/icon-and-text-widget.lua +++ b/experiments/volume/widgets/icon-and-text-widget.lua @@ -24,7 +24,7 @@ function widget.get_widget() is_muted = true, set_volume_level = function(self, new_value) self:get_children_by_id('txt')[1]:set_text(new_value) - local volume_icon_name = '' + local volume_icon_name if self.is_muted then volume_icon_name = 'audio-volume-muted-symbolic.svg' else @@ -41,7 +41,7 @@ function widget.get_widget() end, mute = function(self) self.is_muted = true - self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') + self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') end, unmute = function(self) self.is_muted = false diff --git a/gerrit-widget/gerrit.lua b/gerrit-widget/gerrit.lua index cb1a460..682eb0f 100644 --- a/gerrit-widget/gerrit.lua +++ b/gerrit-widget/gerrit.lua @@ -33,7 +33,7 @@ local function worker(user_args) local icon = args.icons or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg' local host = args.host or naughty.notify{ - preset = naughty.config.presets.critical, + preset = naughty.config.presets.critical, title = 'Gerrit Widget', text = 'Gerrit host is unknown' } @@ -93,11 +93,12 @@ local function worker(user_args) if name_dict[user_id].username == nil then name_dict[user_id].username = '' - spawn.easy_async(string.format(GET_USER_CMD, host, user_id), function(stdout, stderr, reason, exit_code) + spawn.easy_async(string.format(GET_USER_CMD, host, user_id), function(stdout) local user = json.decode(stdout) name_dict[tonumber(user_id)].username = user.name if not gfs.file_readable(PATH_TO_AVATARS .. user_id) then - spawn.easy_async(string.format(DOWNLOAD_AVATAR_CMD, PATH_TO_AVATARS .. user_id, user.avatars[1].url)) + spawn.easy_async( + string.format(DOWNLOAD_AVATAR_CMD, PATH_TO_AVATARS .. user_id, user.avatars[1].url)) end end) return name_dict[user_id].username @@ -124,7 +125,8 @@ local function worker(user_args) naughty.notify{ icon = HOME_DIR ..'/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg', title = 'New Incoming Review', - text = reviews[1].project .. '\n' .. get_name_by_user_id(reviews[1].owner._account_id) .. reviews[1].subject .. '\n', + text = reviews[1].project .. '\n' .. get_name_by_user_id(reviews[1].owner._account_id) .. + reviews[1].subject .. '\n', run = function() spawn.with_shell("xdg-open https://" .. host .. '/' .. reviews[1]._number) end } end @@ -174,7 +176,7 @@ local function worker(user_args) widget = wibox.container.background } - row:connect_signal("button::release", function(_, _, _, button) + row:connect_signal("button::release", function() spawn.with_shell("xdg-open " .. host .. '/' .. review._number) end) diff --git a/github-activity-widget/github-activity-widget.lua b/github-activity-widget/github-activity-widget.lua index 84b5320..5374081 100644 --- a/github-activity-widget/github-activity-widget.lua +++ b/github-activity-widget/github-activity-widget.lua @@ -22,9 +22,12 @@ local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/github-activ local ICONS_DIR = WIDGET_DIR .. '/icons/' local CACHE_DIR = HOME_DIR .. '/.cache/awmw/github-activity-widget' -local GET_EVENTS_CMD = [[bash -c "cat %s/activity.json | jq '.[:%d] | [.[] | {type: .type, actor: .actor, repo: .repo, action: .payload.action, issue_url: .payload.issue.html_url, pr_url: .payload.pull_request.html_url, created_at: .created_at}]'"]] -local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -n --create-dirs -o %s/avatars/%s %s"]] -local UPDATE_EVENTS_CMD = [[bash -c "curl -s --show-error https://api.github.com/users/%s/received_events > %s/activity.json"]] +local GET_EVENTS_CMD = [[sh -c "cat %s/activity.json | jq '.[:%d] | [.[] ]] + .. [[| {type: .type, actor: .actor, repo: .repo, action: .payload.action, issue_url: .payload.issue.html_url, ]] + .. [[pr_url: .payload.pull_request.html_url, created_at: .created_at}]'"]] +local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -n --create-dirs -o %s/avatars/%s %s"]] +local UPDATE_EVENTS_CMD = [[sh -c "curl -s --show-error https://api.github.com/users/%s/received_events ]] + ..[[> %s/activity.json"]] --- Utility function to show warning messages local function show_warning(message) @@ -37,7 +40,7 @@ end --- Converts string representation of date (2020-06-02T11:25:27Z) to date local function parse_date(date_str) local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z" - local y, m, d, h, min, sec, mil = date_str:match(pattern) + local y, m, d, h, min, sec, _ = date_str:match(pattern) return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec} end @@ -129,13 +132,13 @@ local github_widget = wibox.widget { } -local function worker(args) +local function worker(user_args) if not gfs.dir_readable(CACHE_DIR) then gfs.make_directories(CACHE_DIR) end - local args = args or {} + local args = user_args or {} local icon = args.icon or ICONS_DIR .. 'github.png' local username = args.username or show_warning('No username provided') @@ -147,7 +150,7 @@ local function worker(args) layout = wibox.layout.fixed.vertical, } - local rebuild_widget = function(widget, stdout, stderr, _, _) + local rebuild_widget = function(stdout, stderr, _, _) if stderr ~= '' then show_warning(stderr) return @@ -197,7 +200,8 @@ local function worker(args) local repo_info = wibox.widget { { - markup = ' ' .. event.actor.display_login .. ' ' .. action_and_link.action_string .. ' ' .. event.repo.name .. '', + markup = ' ' .. event.actor.display_login .. ' ' .. action_and_link.action_string + .. ' ' .. event.repo.name .. '', wrap = 'word', widget = wibox.widget.textbox }, @@ -261,10 +265,11 @@ local function worker(args) if popup.visible then popup.visible = not popup.visible else - spawn.easy_async(string.format(GET_EVENTS_CMD, CACHE_DIR, number_of_events), function (stdout, stderr) - rebuild_widget(github_widget, stdout, stderr) - popup:move_next_to(mouse.current_widget_geometry) - end) + spawn.easy_async(string.format(GET_EVENTS_CMD, CACHE_DIR, number_of_events), + function (stdout, stderr) + rebuild_widget(stdout, stderr) + popup:move_next_to(mouse.current_widget_geometry) + end) end end) ) @@ -276,7 +281,7 @@ local function worker(args) call_now = true, autostart = true, callback = function() - spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(stdout, stderr) + spawn.easy_async(string.format(UPDATE_EVENTS_CMD, username, CACHE_DIR), function(_, stderr) if stderr ~= '' then show_warning(stderr) return end end) end