From c223de3de1b5abf12ffbe4f758ee05075130a2a2 Mon Sep 17 00:00:00 2001 From: Yingjie Wang Date: Tue, 27 Aug 2024 10:52:57 -0400 Subject: [PATCH] update: khal module --- scripts/waybar-khal.py | 34 ++++++++++++++++++++++++++++ waybar/themes/meow-blur/config | 2 +- waybar/themes/meow-blur/modules.json | 11 +++++++++ waybar/themes/meow-blur/style.css | 11 +++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 scripts/waybar-khal.py diff --git a/scripts/waybar-khal.py b/scripts/waybar-khal.py new file mode 100644 index 0000000..0749075 --- /dev/null +++ b/scripts/waybar-khal.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +import subprocess +import datetime +import json +from html import escape + +data = {} + +today = datetime.date.today().strftime("%Y-%m-%d") + +next_week = (datetime.date.today() + + datetime.timedelta(days=10)).strftime("%Y-%m-%d") + +output = subprocess.check_output("khal list now "+next_week, shell=True) +output = output.decode("utf-8") + +lines = output.split("\n") +new_lines = [] +for line in lines: + clean_line = escape(line).split(" ::")[0] + if len(clean_line) and not clean_line[0] in ['0', '1', '2']: + clean_line = "\n"+clean_line+"" + new_lines.append(clean_line) +output = "\n".join(new_lines).strip() + +if today in output: + data['text'] = " " + output.split('\n')[1] +else: + data['text'] = "" + +data['tooltip'] = output + +print(json.dumps(data)) diff --git a/waybar/themes/meow-blur/config b/waybar/themes/meow-blur/config index 0311637..58b3dfe 100644 --- a/waybar/themes/meow-blur/config +++ b/waybar/themes/meow-blur/config @@ -80,7 +80,7 @@ // Modules Right "modules-right": [ "tray", - "clock" + "custom/events" ] }] diff --git a/waybar/themes/meow-blur/modules.json b/waybar/themes/meow-blur/modules.json index 2a8fb05..dbe0315 100644 --- a/waybar/themes/meow-blur/modules.json +++ b/waybar/themes/meow-blur/modules.json @@ -456,5 +456,16 @@ "deactivated": "" }, "on-click-right": "hyprlock" + }, + + "custom/events": { + "format": "{}", + "tooltip": true, + "interval": 300, + "format-icons": { + "default": "" + }, + "exec": "python3 ~/dotfiles/scripts/waybar-khal.py", + "return-type": "json" } } diff --git a/waybar/themes/meow-blur/style.css b/waybar/themes/meow-blur/style.css index c7d518b..63db309 100644 --- a/waybar/themes/meow-blur/style.css +++ b/waybar/themes/meow-blur/style.css @@ -364,6 +364,17 @@ window#waybar.empty #window { /* border:3px solid @bordercolor; */ } +#custom-events { + background-color: @backgroundlight; + font-size: 14px; + color: @textcolor1; + border-radius: 10px; + padding: 0px 8px 0px 8px; + margin: 8px 10px 8px 0px; + opacity:0.8; + /* border:3px solid @bordercolor; */ +} + /* ----------------------------------------------------- * Pulseaudio * ----------------------------------------------------- */