From e4ffc80fc32b8e0b05e563a64516aa8f54559bcf Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Wed, 12 Aug 2020 15:37:47 +0200 Subject: [PATCH] awesome: Add taskwarrior widget --- home/.config/awesome/icons/tasks.png | Bin 0 -> 130 bytes home/.config/awesome/rc.lua | 2 ++ home/.config/awesome/widgets.lua | 38 +++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 home/.config/awesome/icons/tasks.png diff --git a/home/.config/awesome/icons/tasks.png b/home/.config/awesome/icons/tasks.png new file mode 100644 index 0000000000000000000000000000000000000000..7037ebf5434ab3105ecaa081cf310ea4248e8f1e GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh<3?#J|q#XfLoB=)|u0R?Hnx{<52{bJOvKUK( z{DK)Ap4~_Ta@0Lt978y+Cnp@>wK%YZZAJ`((hMmF74Z&Mv9v4(Zha>1Y{i!c`4~># VVE)U#Wt|epC{I^Emvv4FO#s*nAJhN< literal 0 HcmV?d00001 diff --git a/home/.config/awesome/rc.lua b/home/.config/awesome/rc.lua index df869b5..565f61f 100644 --- a/home/.config/awesome/rc.lua +++ b/home/.config/awesome/rc.lua @@ -229,6 +229,8 @@ awful.screen.connect_for_each_screen(function(s) widgets.temp.widget, widgets.bat_icon, widgets.bat.widget, + widgets.taskwarrior.icon, + widgets.taskwarrior.widget, mytextclock, s.mylayoutbox, }, diff --git a/home/.config/awesome/widgets.lua b/home/.config/awesome/widgets.lua index b153d2b..675f057 100644 --- a/home/.config/awesome/widgets.lua +++ b/home/.config/awesome/widgets.lua @@ -227,4 +227,42 @@ widgets.cal.attach = function(parent) )) end +widgets.taskwarrior = {} + +-- WTF lua? +widgets.taskwarrior.due = 0 +widgets.taskwarrior.due_today = 0 +widgets.taskwarrior.due_tomorrow = 0 +widgets.taskwarrior.overdue = 0 + +widgets.taskwarrior.icon = wibox.widget.imagebox(iconsdir .. "tasks.png") +widgets.taskwarrior.widget = wibox.widget.textbox() +widgets.taskwarrior.update = function() + helpers.async({ "task", "+DUE", "count" }, function(output) + widgets.taskwarrior.due = tonumber(output) + widgets.taskwarrior.redraw() + end) + helpers.async({ "task", "due:today", "count" }, function(output) + widgets.taskwarrior.due_today = tonumber(output) + widgets.taskwarrior.redraw() + end) + helpers.async({ "task", "due:tomorrow", "count" }, function(output) + widgets.taskwarrior.due_tomorrow = tonumber(output) + widgets.taskwarrior.redraw() + end) + helpers.async({ "task", "+OVERDUE", "count" }, function(output) + widgets.taskwarrior.overdue = tonumber(output) + widgets.taskwarrior.redraw() + end) +end +widgets.taskwarrior.redraw = function() + widgets.taskwarrior.widget:set_markup( + markup.fontfg(theme.font, theme.fg_normal, widgets.taskwarrior.due .. ":") + .. " " .. markup.fontfg(theme.font, theme.colors.red, widgets.taskwarrior.overdue) + .. " " .. markup.fontfg(theme.font, theme.colors.orange, widgets.taskwarrior.due_today) + .. " " .. markup.fontfg(theme.font, theme.colors.yellow, widgets.taskwarrior.due_tomorrow - widgets.taskwarrior.due_today) + ) +end +helpers.newtimer("taskwarrior", 60, widgets.taskwarrior.update) + return widgets