summary refs log tree commit diff
path: root/.config/waybar/toggl.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/waybar/toggl.lua')
-rwxr-xr-x.config/waybar/toggl.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/.config/waybar/toggl.lua b/.config/waybar/toggl.lua
new file mode 100755
index 0000000..e44fce2
--- /dev/null
+++ b/.config/waybar/toggl.lua
@@ -0,0 +1,28 @@
+#!/usr/bin/env luajit
+
+TOKEN = os.getenv("TOGGL_TOKEN")
+if not TOKEN then
+    io.stderr:write("need TOGGL_TOKEN\n")
+    os.exit(1)
+end
+
+function timer_duration()
+    cmd = string.format('toggl -t %s -j timer ls | jq -r ".[0].duration"', TOKEN)
+    local f = assert(io.popen(cmd, 'r'))
+    local s = assert(f:read('*a'))
+    f:close()
+    if not (s == '') then
+        return tonumber(s)
+    end
+end
+
+unix_time = os.time()
+
+diff = timer_duration()
+if not diff then
+    os.exit(0)
+end
+
+d = unix_time + diff
+
+print(string.format(' %dh %.2dm', d/(60*60), d/60%60))