waybar: Add calendar
This commit is contained in:
parent
faf9a044fd
commit
d0900f1cf8
|
@ -166,3 +166,8 @@ window#waybar {
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
animation-direction: alternate;
|
animation-direction: alternate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-calendar.active {
|
||||||
|
background-color: @base3@;
|
||||||
|
color: @base00@;
|
||||||
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ in
|
||||||
"temperature"
|
"temperature"
|
||||||
"battery"
|
"battery"
|
||||||
"clock"
|
"clock"
|
||||||
|
"custom/calendar"
|
||||||
];
|
];
|
||||||
|
|
||||||
"sway/workspaces" = {
|
"sway/workspaces" = {
|
||||||
|
@ -223,6 +224,41 @@ in
|
||||||
format-alt = "{:%Y-%m-%d (%a)}";
|
format-alt = "{:%Y-%m-%d (%a)}";
|
||||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
};
|
};
|
||||||
|
"custom/calendar" = {
|
||||||
|
interval = 300;
|
||||||
|
exec = pkgs.writeScript "calendar" ''
|
||||||
|
#!${pkgs.python3}/bin/python3
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
def khal(args):
|
||||||
|
completed = subprocess.run(["${pkgs.khal}/bin/khal"] + args, capture_output=True)
|
||||||
|
assert completed.returncode == 0
|
||||||
|
return completed.stdout.decode("utf-8")
|
||||||
|
|
||||||
|
|
||||||
|
events_today = khal(["list", "today", "today", "-df", ""]).rstrip().split("\n")
|
||||||
|
events_2d = khal(["list", "today", "tomorrow", "-df", "<b>{name}, {date}</b>"]).rstrip()
|
||||||
|
|
||||||
|
if len(events_today) == 0:
|
||||||
|
text = " "
|
||||||
|
else:
|
||||||
|
text = f"{len(events_today)} "
|
||||||
|
|
||||||
|
print(
|
||||||
|
json.dumps(
|
||||||
|
{
|
||||||
|
"class": "active" if len(events_today) > 0 else "",
|
||||||
|
"text": text,
|
||||||
|
"tooltip": events_2d,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
return-type = "json";
|
||||||
|
format = "{}";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
xdg.configFile."waybar/style.css".source = pkgs.substituteAll ({
|
xdg.configFile."waybar/style.css".source = pkgs.substituteAll ({
|
||||||
src = ./waybar.css;
|
src = ./waybar.css;
|
||||||
|
|
Loading…
Reference in a new issue