diff --git a/docker-widget/docker.lua b/docker-widget/docker.lua index 5bd5746..6dd2e61 100644 --- a/docker-widget/docker.lua +++ b/docker-widget/docker.lua @@ -19,7 +19,8 @@ local HOME_DIR = os.getenv("HOME") local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/docker-widget' local ICONS_DIR = WIDGET_DIR .. '/icons/' -local LIST_CONTAINERS_CMD = [[bash -c "docker container ls -a -s -n %s --format '{{.Names}}::{{.ID}}::{{.Image}}::{{.Status}}::{{.Size}}'"]] +local LIST_CONTAINERS_CMD = [[bash -c "docker container ls -a -s -n %s]] + .. [[ --format '{{.Names}}::{{.ID}}::{{.Image}}::{{.Status}}::{{.Size}}'"]] --- Utility function to show warning messages local function show_warning(message) @@ -83,9 +84,9 @@ local status_to_icon_name = { Paused = ICONS_DIR .. 'pause.svg' } -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local icon = args.icon or ICONS_DIR .. 'docker.svg' local number_of_containers = args.number_of_containers or -1 @@ -163,10 +164,12 @@ local function worker(args) status_icon:set_opacity(0.2) status_icon:emit_signal('widget::redraw_needed') - spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function(stdout, stderr) + spawn.easy_async('docker ' .. command .. ' ' .. container['name'], function() 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, stderr) + rebuild_widget(stdout, stderr) + end) end) end) ) ) else @@ -250,11 +253,12 @@ local function worker(args) } delete_button:buttons( awful.util.table.join( awful.button({}, 1, function() - awful.spawn.easy_async('docker rm ' .. container['name'], function(stdout, 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) - end) + awful.spawn.easy_async('docker rm ' .. container['name'], function(_, rm_stderr) + if rm_stderr ~= '' then show_warning(rm_stderr) end + spawn.easy_async(string.format(LIST_CONTAINERS_CMD, number_of_containers), + function(lc_stdout, lc_stderr) + rebuild_widget(lc_stdout, lc_stderr) end) + end) end))) local old_cursor, old_wibox @@ -350,10 +354,11 @@ local function worker(args) if popup.visible then popup.visible = not popup.visible else - 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) - end) + 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) + end) end end) ) diff --git a/experiments/volume/widgets/icon-widget.lua b/experiments/volume/widgets/icon-widget.lua index 2a20dde..ac4122c 100644 --- a/experiments/volume/widgets/icon-widget.lua +++ b/experiments/volume/widgets/icon-widget.lua @@ -15,7 +15,7 @@ function widget.get_widget() valign = 'center', layout = wibox.container.place, set_volume_level = function(self, new_value) - local volume_icon_name = '' + local volume_icon_name if self.is_muted then volume_icon_name = 'audio-volume-muted-symbolic.svg' else diff --git a/fs-widget/fs-widget.lua b/fs-widget/fs-widget.lua index e920e47..0c12a3a 100644 --- a/fs-widget/fs-widget.lua +++ b/fs-widget/fs-widget.lua @@ -6,8 +6,8 @@ local gears = require("gears") local storage_bar_widget = {} -local function worker(args) - local args = args or {} +local function worker(user_args) + local args = user_args or {} local mounts = args.mounts or {'/'} local timeout = args.timeout or 60 diff --git a/gerrit-widget/gerrit.lua b/gerrit-widget/gerrit.lua index ad5d7a6..cb1a460 100644 --- a/gerrit-widget/gerrit.lua +++ b/gerrit-widget/gerrit.lua @@ -27,9 +27,9 @@ local DOWNLOAD_AVATAR_CMD = [[bash -c "curl --create-dirs -o %s %s"]] local gerrit_widget = {} -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local icon = args.icons or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg' local host = args.host or naughty.notify{ diff --git a/github-contributions-widget/github-contributions-widget.lua b/github-contributions-widget/github-contributions-widget.lua index b462299..5a45fcb 100644 --- a/github-contributions-widget/github-contributions-widget.lua +++ b/github-contributions-widget/github-contributions-widget.lua @@ -13,7 +13,8 @@ local naughty = require("naughty") local wibox = require("wibox") local widget_themes = require("awesome-wm-widgets.github-contributions-widget.themes") -local GET_CONTRIBUTIONS_CMD = [[bash -c "curl -s https://github-contributions.now.sh/api/v1/%s | jq -r '[.contributions[] | select ( .date | strptime(\"%%Y-%%m-%%d\") | mktime < now)][:%s]| .[].color'"]] +local GET_CONTRIBUTIONS_CMD = [[bash -c "curl -s https://github-contributions.now.sh/api/v1/%s]] + .. [[ | jq -r '[.contributions[] | select ( .date | strptime(\"%%Y-%%m-%%d\") | mktime < now)][:%s]| .[].color'"]] local github_contributions_widget = wibox.widget{ reflection = { @@ -30,9 +31,9 @@ local function show_warning(message) text = message} end -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local username = args.username or 'streetturtle' local days = args.days or 365 @@ -62,10 +63,10 @@ local function worker(args) local r, g, b = hex2rgb(color) return wibox.widget{ - fit = function(self, context, width, height) + fit = function() return 3, 3 end, - draw = function(self, context, cr, width, height) + draw = function(_, _, cr, _, _) cr:set_source_rgb(r/255, g/255, b/255) cr:rectangle(0, 0, with_border and 2 or 3, with_border and 2 or 3) cr:fill() @@ -77,11 +78,11 @@ local function worker(args) local col = {layout = wibox.layout.fixed.vertical} local row = {layout = wibox.layout.fixed.horizontal} local a = 5 - os.date('%w') - for i = 0, a do + for _ = 0, a do table.insert(col, get_square(color_of_empty_cells)) end - local update_widget = function(widget, stdout, _, _, _) + local update_widget = function(_, stdout, _, _, _) for colors in stdout:gmatch("[^\r\n]+") do if a%7 == 0 then table.insert(row, col) @@ -100,7 +101,7 @@ local function worker(args) end awful.spawn.easy_async(string.format(GET_CONTRIBUTIONS_CMD, username, days), - function(stdout, stderr) + function(stdout) update_widget(github_contributions_widget, stdout) end) diff --git a/gitlab-widget/gitlab.lua b/gitlab-widget/gitlab.lua index 3482347..2ab65b6 100644 --- a/gitlab-widget/gitlab.lua +++ b/gitlab-widget/gitlab.lua @@ -21,8 +21,9 @@ local color = require("gears.color") local HOME_DIR = os.getenv("HOME") local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/gitlab-widget/' -local GET_PRS_CMD= [[bash -c "curl -s --connect-timeout 5 --show-error --header 'PRIVATE-TOKEN: %s' '%s/api/v4/merge_requests?state=opened'"]] -local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -L --create-dirs -o %s/.cache/awmw/gitlab-widget/avatars/%s %s"]] +local GET_PRS_CMD= [[sh -c "curl -s --connect-timeout 5 --show-error --header 'PRIVATE-TOKEN: %s']] + ..[[ '%s/api/v4/merge_requests?state=opened'"]] +local DOWNLOAD_AVATAR_CMD = [[sh -c "curl -L --create-dirs -o %s/.cache/awmw/gitlab-widget/avatars/%s %s"]] local gitlab_widget = wibox.widget { { @@ -33,7 +34,7 @@ local gitlab_widget = wibox.widget { }, { id = 'error_marker', - draw = function(self, context, cr, width, height) + draw = function(_, _, cr, _, height) cr:set_source(color(beautiful.fg_urgent)) cr:arc(height/4, height/4, height/4, 0, math.pi*2) cr:fill() @@ -96,7 +97,7 @@ local popup = awful.popup{ --- 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 @@ -134,9 +135,9 @@ local tooltip = awful.tooltip { preferred_positions = {'bottom'}, } -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local icon = args.icon or WIDGET_DIR .. '/icons/gitlab-icon.svg' local api_token = args.api_token or show_warning('API Token is not set') @@ -318,7 +319,9 @@ local function worker(args) DOWNLOAD_AVATAR_CMD, HOME_DIR, pr.author.id, - pr.author.avatar_url), function() row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) end) + pr.author.avatar_url), function() + row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) + end) end row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) @@ -342,25 +345,24 @@ local function worker(args) ) local old_cursor, old_wibox - row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function(c) + row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function() local wb = mouse.current_wibox old_cursor, old_wibox = wb.cursor, wb wb.cursor = "hand1" end) - row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function(c) + row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function() if old_wibox then old_wibox.cursor = old_cursor old_wibox = nil end end) - local old_cursor, old_wibox - row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function(c) + row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function() local wb = mouse.current_wibox old_cursor, old_wibox = wb.cursor, wb wb.cursor = "hand1" end) - row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function(c) + row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function() if old_wibox then old_wibox.cursor = old_cursor old_wibox = nil diff --git a/logout-widget/logout.lua b/logout-widget/logout.lua index 9fcc9fe..512ac23 100644 --- a/logout-widget/logout.lua +++ b/logout-widget/logout.lua @@ -54,8 +54,8 @@ local function create_button(icon_name, action_name, color, onclick, icon_size, capi.keygrabber.stop() end } - button:connect_signal("mouse::enter", function(c) action:set_text(action_name) end) - button:connect_signal("mouse::leave", function(c) action:set_text(' ') end) + button:connect_signal("mouse::enter", function() action:set_text(action_name) end) + button:connect_signal("mouse::leave", function() action:set_text(' ') end) return button end @@ -76,7 +76,8 @@ local function launch(args) w:set_bg(bg_color) if #phrases > 0 then - phrase_widget:set_markup('' .. phrases[ math.random( #phrases ) ] .. '') + phrase_widget:set_markup( + '' .. phrases[ math.random( #phrases ) ] .. '') end w:setup { diff --git a/mpdarc-widget/mpdarc.lua b/mpdarc-widget/mpdarc.lua index d70e6ee..f1d6930 100644 --- a/mpdarc-widget/mpdarc.lua +++ b/mpdarc-widget/mpdarc.lua @@ -25,7 +25,7 @@ local PAUSE_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_pause.png" local PLAY_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_play.png" local STOP_ICON_NAME = PATH_TO_ICONS .. "/actions/24/player_stop.png" -local icon = wibox.widget { +local icon = wibox.widget { id = "icon", widget = wibox.widget.imagebox, image = PLAY_ICON_NAME @@ -58,7 +58,7 @@ local update_graphic = function(widget, stdout, _, _, _) stdout = string.gsub(stdout, "\n", "") local mpdpercent = string.match(stdout, "(%d%d)%%") local mpdstatus = string.match(stdout, "%[(%a+)%]") - if mpdstatus == "playing" then + if mpdstatus == "playing" then icon.image = PLAY_ICON_NAME widget.colors = { beautiful.widget_main_color } widget.value = tonumber((100-mpdpercent)/100) @@ -93,7 +93,7 @@ mpdarc:connect_signal("button::press", function(_, _, _, button) end) local notification -function show_MPD_status() +local function show_MPD_status() spawn.easy_async(GET_MPD_CMD, function(stdout, _, _, _) notification = naughty.notify { diff --git a/mpris-widget/init.lua b/mpris-widget/init.lua index 5af85b4..4651b45 100644 --- a/mpris-widget/init.lua +++ b/mpris-widget/init.lua @@ -29,7 +29,7 @@ local LIBRARY_ICON_NAME = PATH_TO_ICONS .. "/actions/24/music-library.png" local mpdarc_widget = {} -local function worker(args) +local function worker() -- retriving song info local current_song, artist, mpdstatus, art, artUrl @@ -123,7 +123,7 @@ local function worker(args) local notification local function show_MPD_status() - spawn.easy_async(GET_MPD_CMD, function(stdout, _, _, _) + spawn.easy_async(GET_MPD_CMD, function() notification = naughty.notification { margin = 10, timeout = 5, diff --git a/net-speed-widget/net-speed.lua b/net-speed-widget/net-speed.lua index 846898c..409e03d 100644 --- a/net-speed-widget/net-speed.lua +++ b/net-speed-widget/net-speed.lua @@ -8,7 +8,6 @@ -- @copyright 2020 Pavel Makhov ------------------------------------------------- -local naughty = require("naughty") local watch = require("awful.widget.watch") local wibox = require("wibox") @@ -16,14 +15,6 @@ local HOME_DIR = os.getenv("HOME") local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/net-speed-widget/' local ICONS_DIR = WIDGET_DIR .. 'icons/' -local function show_warning(message) - naughty.notify { - preset = naughty.config.presets.critical, - title = 'Net Speed Widget', - text = message - } -end - local net_speed_widget = wibox.widget { { id = 'rx_speed', @@ -91,21 +82,21 @@ local function split(string_to_split, separator) return t end -local function worker(args) +local function worker(user_args) - local args = args or {} + local args = user_args or {} local interface = args.interface or '*' local timeout = args.timeout or 1 - local update_widget = function(widget, stdout, stderr) + local update_widget = function(widget, stdout) local cur_vals = split(stdout, '\r\n') local cur_rx = 0 local cur_tx = 0 - for i, v in ipairs(cur_vals) do + for i, _ in ipairs(cur_vals) do if i%2 == 1 then cur_rx = cur_rx + cur_vals[i] end if i%2 == 0 then cur_tx = cur_tx + cur_vals[i] end end @@ -120,7 +111,8 @@ local function worker(args) prev_tx = cur_tx end - watch(string.format([[bash -c "cat /sys/class/net/%s/statistics/*_bytes"]], interface), timeout, update_widget, net_speed_widget) + watch(string.format([[bash -c "cat /sys/class/net/%s/statistics/*_bytes"]], interface), + timeout, update_widget, net_speed_widget) return net_speed_widget diff --git a/pomodoroarc-widget/pomodoroarc.lua b/pomodoroarc-widget/pomodoroarc.lua index dab8c3a..497a208 100644 --- a/pomodoroarc-widget/pomodoroarc.lua +++ b/pomodoroarc-widget/pomodoroarc.lua @@ -92,7 +92,7 @@ text.font = "Inconsolata Medium 13" widget.value = tonumber(pomodoro/(25*60)) text.font = "Inconsolata Medium 13" text.text = "PW" - elseif workbreak == "B" then + elseif workbreak == "B" then widget.colors = { beautiful.widget_yellow } widget.value = tonumber(pomodoro/(5*60)) text.font = "Inconsolata Medium 13" @@ -114,7 +114,7 @@ pomodoroarc:connect_signal("button::press", function(_, _, _, button) end) local notification -function show_pomodoro_status() +local function show_pomodoro_status() spawn.easy_async(GET_pomodoro_CMD, function(stdout, _, _, _) notification = naughty.notify { diff --git a/ram-widget/ram-widget.lua b/ram-widget/ram-widget.lua index 66863f5..3ef5d6b 100644 --- a/ram-widget/ram-widget.lua +++ b/ram-widget/ram-widget.lua @@ -8,8 +8,8 @@ local wibox = require("wibox") local ramgraph_widget = {} -local function worker(args) - local args = args or {} +local function worker(user_args) + local args = user_args or {} local timeout = args.timeout or 1 --- Main ram widget shown on wibar @@ -43,6 +43,7 @@ local function worker(args) offset = { y = 5 }, } + --luacheck:ignore 231 local total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap local function getPercentage(value) @@ -50,7 +51,7 @@ local function worker(args) end watch('bash -c "LANGUAGE=en_US.UTF-8 free | grep -z Mem.*Swap.*"', timeout, - function(widget, stdout, stderr, exitreason, exitcode) + function(widget, stdout) total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap = stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*Swap:%s*(%d+)%s*(%d+)%s*(%d+)') @@ -75,7 +76,7 @@ local function worker(args) {'free ' .. getPercentage(free + free_swap), free + free_swap}, {'buff_cache ' .. getPercentage(buff_cache), buff_cache} } - + if popup.visible then popup.visible = not popup.visible else diff --git a/rhythmbox-widget/rhythmbox.lua b/rhythmbox-widget/rhythmbox.lua deleted file mode 100644 index 1287587..0000000 --- a/rhythmbox-widget/rhythmbox.lua +++ /dev/null @@ -1,16 +0,0 @@ -local wibox = require("wibox") -local awful = require("awful") -local watch = require("awful.widget.watch") - -rhythmbox_widget = wibox.widget.textbox() -rhythmbox_widget:set_font('Play 9') - -rhythmbox_icon = wibox.widget.imagebox() -rhythmbox_icon:set_image("/usr/share/icons/Arc/devices/22/audio-speakers.png") - -watch( - "rhythmbox-client --no-start --print-playing", 1, - function(widget, stdout, stderr, exitreason, exitcode) - rhythmbox_widget:set_text(stdout) - end -) \ No newline at end of file diff --git a/run-shell-3/run-shell.lua b/run-shell-3/run-shell.lua index 51feaf4..0015232 100644 --- a/run-shell-3/run-shell.lua +++ b/run-shell-3/run-shell.lua @@ -8,10 +8,6 @@ -- @copyright 2019 Pavel Makhov ------------------------------------------------- -local capi = { - screen = screen, - client = client, -} local awful = require("awful") local gfs = require("gears.filesystem") local wibox = require("wibox") @@ -26,8 +22,10 @@ local widget = {} function widget.new() local widget_instance = { _cached_wiboxes = {}, - _cmd_pixelate = [[bash -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 -vf frei0r=pixeliz0r -vframes 1 /tmp/i3lock-%s.png ; echo done']], - _cmd_blur = [[bash -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 -filter_complex "boxblur=9" -vframes 1 /tmp/i3lock-%s.png ; echo done']] + _cmd_pixelate = [[sh -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 -vf ]] + .. [[frei0r=pixeliz0r -vframes 1 /tmp/i3lock-%s.png ; echo done']], + _cmd_blur = [[sh -c 'ffmpeg -loglevel panic -f x11grab -video_size 1920x1060 -y -i :0.0+%s,20 ]] + .. [[-filter_complex "boxblur=9" -vframes 1 /tmp/i3lock-%s.png ; echo done']] } function widget_instance:_create_wibox() @@ -74,21 +72,18 @@ function widget.new() return w end - function widget_instance:launch(s, c) - c = c or capi.client.focus - s = mouse.screen - -- naughty.notify { text = 'screen ' .. s.index } + function widget_instance:launch() + local s = mouse.screen if not self._cached_wiboxes[s] then self._cached_wiboxes[s] = {} - -- naughty.notify { text = 'nope' } end if not self._cached_wiboxes[s][1] then self._cached_wiboxes[s][1] = self:_create_wibox() - -- naughty.notify { text = 'nope' } end local w = self._cached_wiboxes[s][1] local rnd = math.random() - awful.spawn.with_line_callback(string.format(self._cmd_blur, tostring(awful.screen.focused().geometry.x), rnd), { + awful.spawn.with_line_callback( + string.format(self._cmd_blur, tostring(awful.screen.focused().geometry.x), rnd), { stdout = function() w.visible = true w.bgimage = '/tmp/i3lock-' .. rnd ..'.png' diff --git a/run-shell/run-shell.lua b/run-shell/run-shell.lua index 2fda71b..a43c4d5 100644 --- a/run-shell/run-shell.lua +++ b/run-shell/run-shell.lua @@ -45,6 +45,7 @@ function widget.new() widget = wibox.widget.imagebox, resize = false, opacity = 0.2, + --luacheck:ignore 432 set_hover = function(self, opacity) self.opacity = opacity self.image = '/usr/share/icons/Arc/actions/symbolic/system-shutdown-symbolic.svg' diff --git a/todo-widget/todo.lua b/todo-widget/todo.lua index 14e3dc2..74b3d1b 100644 --- a/todo-widget/todo.lua +++ b/todo-widget/todo.lua @@ -23,7 +23,7 @@ local GET_TODO_ITEMS = 'bash -c "cat ' .. STORAGE .. '"' local rows = { layout = wibox.layout.fixed.vertical } local todo_widget = {} - +local update_widget todo_widget.widget = wibox.widget { { { @@ -115,7 +115,7 @@ add_button:connect_signal("button::press", function() local res = json.decode(stdout) table.insert(res.todo_items, {todo_item = input_text, status = false}) spawn.easy_async_with_shell("echo '" .. json.encode(res) .. "' > " .. STORAGE, function() - spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end) + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) end) end) end @@ -202,7 +202,7 @@ local function worker(user_args) trash_button:connect_signal("button::press", function() table.remove(result.todo_items, i) spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () - spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end) + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) end) end) @@ -218,7 +218,7 @@ local function worker(user_args) result.todo_items[i] = result.todo_items[i-1] result.todo_items[i-1] = temp spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () - spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end) + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) end) end) @@ -233,7 +233,7 @@ local function worker(user_args) result.todo_items[i] = result.todo_items[i+1] result.todo_items[i+1] = temp spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function () - spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end) + spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end) end) end) @@ -242,13 +242,11 @@ local function worker(user_args) layout = wibox.layout.fixed.vertical } - if 1 == #result.todo_items then - -- one item, no need in arrows - elseif i == 1 then + if i == 1 and #result.todo_items > 1 then table.insert(move_buttons, move_down) - elseif i == #result.todo_items then + elseif i == #result.todo_items and #result.todo_items > 1 then table.insert(move_buttons, move_up) - else + elseif #result.todo_items > 1 then table.insert(move_buttons, move_up) table.insert(move_buttons, move_down) end