blob: 220d53d35a921f371b6967ee6853324ecfca79dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/bin/sh
# tmux prefix+t (clock-mode): a big 24-hour clock in clock-mode-colour (blue),
# centred, until any key. Run as a popup.
trap 'stty "$tty"; printf "\033[0m\033[?25h"' EXIT
tty="$(stty -g)"
stty -icanon -echo min 0 time 10
printf '\033[?25l'
while :; do
set -- $(stty size)
printf '\033[H\033[2J\033[34m'
date '+%H:%M' | awk -v rows="$1" -v cols="$2" '
BEGIN {
f["0"] = "###|#.#|#.#|#.#|###"; f["1"] = "..#|..#|..#|..#|..#"
f["2"] = "###|..#|###|#..|###"; f["3"] = "###|..#|###|..#|###"
f["4"] = "#.#|#.#|###|..#|..#"; f["5"] = "###|#..|###|..#|###"
f["6"] = "###|#..|###|#.#|###"; f["7"] = "###|..#|..#|..#|..#"
f["8"] = "###|#.#|###|#.#|###"; f["9"] = "###|#.#|###|..#|###"
f[":"] = ".|#|.|#|."
}
{
for (r = 1; r <= 5; r++) line[r] = ""
for (i = 1; i <= length($0); i++) {
split(f[substr($0, i, 1)], g, "|")
for (r = 1; r <= 5; r++) line[r] = line[r] g[r] "."
}
w = length(line[1]) * 2
for (i = 1; i <= int((rows - 5) / 2); i++) print ""
for (r = 1; r <= 5; r++) {
s = line[r]; gsub(/#/, "██", s); gsub(/\./, " ", s)
printf "%" int((cols - w) / 2) "s%s\n", "", s
}
}'
[ -n "$(dd bs=1 count=1 2>/dev/null)" ] && break
done
|