X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/d16094bc6811118f778e334a1bbf5fdafd966644..2429e10cc1029d9ea7269d502bdbcc408c5a2894:/widgets/contrib/task.lua?ds=sidebyside diff --git a/widgets/contrib/task.lua b/widgets/contrib/task.lua index 946966a..27061b9 100644 --- a/widgets/contrib/task.lua +++ b/widgets/contrib/task.lua @@ -25,6 +25,11 @@ local task = {} local task_notification = nil +function findLast(haystack, needle) + local i=haystack:match(".*"..needle.."()") + if i==nil then return nil else return i-1 end +end + function task:hide() if task_notification ~= nil then naughty.destroy(task_notification) @@ -35,19 +40,19 @@ end function task:show(scr_pos) task:hide() - local f, c_text + local f, c_text, scrp if task.followmouse then - local scrp = mouse.screen + scrp = mouse.screen else - local scrp = scr_pos or task.scr_pos + scrp = scr_pos or task.scr_pos end f = io.popen('task ' .. task.cmdline) c_text = "" - .. f:read("*all"):gsub("\n*$", "") + .. awful.util.escape(f:read("*all"):gsub("\n*$", "")) .. "" f:close() @@ -70,7 +75,7 @@ function task:prompt_add() c_text = "\n" - .. f:read("*all") + .. awful.util.escape(f:read("*all")) .. "" f:close() @@ -102,7 +107,7 @@ function task:prompt_search() c_text = "" - .. c_text + .. awful.util.escape(c_text) .. "" end @@ -125,8 +130,8 @@ function task:attach(widget, args) local args = args or {} task.font_size = tonumber(args.font_size) or 12 - task.font = beautiful.font:sub(beautiful.font:find(""), - beautiful.font:find(" ")) + task.font = args.font or beautiful.font:sub(beautiful.font:find(""), + findLast(beautiful.font, " ")) task.fg = args.fg or beautiful.fg_normal or "#FFFFFF" task.bg = args.bg or beautiful.bg_normal or "#FFFFFF" task.position = args.position or "top_right"