aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/waybar/executable_mako-history.sh
blob: 4c0ec3a5beec453cb77447897baae15d858780ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
# Fuzzel picker over mako's notification history. Read-only: mako has no
# API to re-invoke an arbitrary history item, so the selected entry is
# copied to the clipboard for reference. Use makoctl restore to bring the
# most recent dismissed notification back to the active list.

set -eu

selection=$(
  makoctl history | jq -r '
    def v: if type == "object" and has("data") then .data else . end;
    [.. | objects | select(has("summary") and has("app-name"))]
    | .[]
    | "[\(.["app-name"] | v)] \(.summary | v) — \((.body | v) // "")"
  ' | fuzzel --dmenu --prompt 'History: '
)

if [ -n "$selection" ]; then
  printf '%s' "$selection" | wl-copy
fi