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