diff --git a/.bin/anki-poem.sh b/.bin/anki-poem.sh
new file mode 100755
index 0000000..6105a64
--- /dev/null
+++ b/.bin/anki-poem.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+file="${1?please supply a poetry file}"
+[ -f "$file" ] || {
+ echo "'$file' is no file"
+ exit 1
+}
+
+poem="$(mktemp)"
+clean () {
+ rm "$poem"
+}
+trap clean EXIT
+sed '/^$/d' "$file" > "$poem"
+
+htmlize() {
+ awk 'ORS="
"' \
+ | head -c -5 # remove final
characters
+}
+
+for line_number in $(seq 1 "$(wc -l "$poem" | cut -d' ' -f1)"); do
+ if [ "$line_number" -gt 3 ] && [ "$line_number" -gt 1 ]; then
+ sed -n "$((line_number - 3)),$((line_number - 1))p" "$poem"
+ else
+ sed -n "1,$((line_number - 1))p" "$poem"
+ fi | htmlize
+ printf '\t'
+ sed -n "${line_number},+1p" "$poem" | htmlize
+ printf '\n'
+done
diff --git a/.bin/watson2fdf.sh b/.bin/watson2fdf.sh
new file mode 100755
index 0000000..bf19ed2
--- /dev/null
+++ b/.bin/watson2fdf.sh
@@ -0,0 +1,26 @@
+project=Filli
+year=2022
+
+for month in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do
+ from="$(date +%F -d "$month 1, $year")"
+ to="$(date +%F -d "$month 1, $year + 1 month")"
+ watson report --json --from "$from" --to "$to" --project "$project"
+done | jq --slurp '
+ def in_array($arr):
+ . as $value | any($arr[]; . == $value);
+
+ map(
+ ["engadin-app","fysiweb","val-muestair","mia-engiadina","ol"] as $official_projects
+ | (.timespan.from | .[0:7]) as $timespan
+ | .projects | .[0]
+ | .time as $total_time
+ | .tags
+ | select(. != null)
+ | map(select(.name | in_array($official_projects)))
+ | (map(.time)|add) as $official_time
+ | map({key:.name, value:.time}) | from_entries
+ | .other |= ($total_time - $official_time)
+ | map_values(. / (60*60) | ceil)
+ | .month |= $timespan
+ )
+'
diff --git a/lib/i3status-rust.nix b/lib/i3status-rust.nix
index 9b8f121..b603fa3 100644
--- a/lib/i3status-rust.nix
+++ b/lib/i3status-rust.nix
@@ -211,12 +211,12 @@ in {
| ${pkgs.coreutils}/bin/head -1 \
| ${pkgs.coreutils}/bin/date --date="$(cat)" +%s
)" \
- '($nextEvent - now) as $deltaT
- | {
+ '{
text: $now,
icon: "time",
state: (
- if $deltaT < (5 * 60) then
+ ($nextEvent - now) as $deltaT
+ | if $deltaT < (5 * 60) then
"Critical"
elif $deltaT < (15 * 60) then
"Warning"