From 933d5f0f1c43b75c8d49619adbd5b109cb2afd92 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Sat, 4 Jan 2020 22:53:25 +0100 Subject: Update calendar todo widget --- .config/awesome/todo.lua | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .config/awesome/todo.lua (limited to '.config/awesome/todo.lua') diff --git a/.config/awesome/todo.lua b/.config/awesome/todo.lua new file mode 100644 index 0000000..83cf2d8 --- /dev/null +++ b/.config/awesome/todo.lua @@ -0,0 +1,47 @@ +local capi = { + mouse = mouse, + screen = screen, +} +local naughty = require("naughty") + +------------------------------------------ +-- todo.txt popup widget +------------------------------------------ + +local todo = {} + +function todo:new(args) + return setmetatable({}, {__index = self}) +end + +function todo:show() + local f = assert(io.open("/home/tyil/documents/todo.txt", "rb")) + local content = f:read("*all"):gsub("%s+$", "") + f:close() + + self.notification = naughty.notify({ + title = "Todo", + text = content, + timeout = 0, + hover_timeout = 0.5, + screen = capi.mouse.screen, + position = self.position, + }) +end + +function todo:hide() + if self.notification then + naughty.destroy(self.notification) + self.notification = nil + self.num_lines = 0 + end +end + +function todo:attach(widget) + widget:connect_signal('mouse::enter', function() self:show() end) + widget:connect_signal('mouse::leave', function() self:hide() end) +end + +return setmetatable(todo, { + __call = todo.new, +}) -- cgit v1.1