X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/2e8fd41bc3ca120ae71658aeda98bcb91a0fd9d9..e6e0889fb21590b11fdfebef80029efa2bec84eb:/widgets/contrib/task.lua?ds=sidebyside diff --git a/widgets/contrib/task.lua b/widgets/contrib/task.lua index 3b8039f..6f131e2 100644 --- a/widgets/contrib/task.lua +++ b/widgets/contrib/task.lua @@ -12,6 +12,7 @@ local awful = require("awful") local beautiful = require("beautiful") local naughty = require("naughty") +local mouse = mouse local io = io local string = { len = string.len } local tonumber = tonumber @@ -36,6 +37,12 @@ function task:show(scr_pos) local f, c_text + if task.followmouse then + local scrp = mouse.screen + else + local scrp = scr_pos or task.scr_pos + end + f = io.popen('task') c_text = "<span font='" .. task.font .. " " @@ -51,7 +58,7 @@ function task:show(scr_pos) fg = task.fg, bg = task.bg, timeout = task.timeout, - screen = scr_pos or 1 + screen = scrp }) end @@ -115,21 +122,22 @@ function task:prompt_search() end 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.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" - task.timeout = args.timeout or 7 - task.scr_pos = args.scr_pos or 1 + 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.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" + task.timeout = args.timeout or 7 + task.scr_pos = args.scr_pos or 1 + task.followmouse = args.followmouse or false task.notify_icon = icons_dir .. "/taskwarrior/task.png" task.notify_icon_small = icons_dir .. "/taskwarrior/tasksmall.png" - widget:connect_signal("mouse::enter", function () task:show(scr_pos) end) + widget:connect_signal("mouse::enter", function () task:show(task.scr_pos) end) widget:connect_signal("mouse::leave", function () task:hide() end) end