Ramblings of an aging IT geek
← Ramblings of an aging IT geek
linux

The Notifications You Missed

histui is a themeable GTK4 notification daemon for Wayland that keeps a persistent history, with a TUI browser and CLI for querying past notifications.

Listen to this post
A laptop showing a stacked history of notification cards

Notifications on Wayland are a solved problem right up until you miss one. A toast appears for five seconds while you're looking at another monitor, fades out, and is gone, and there's no good way to ask "what did that say?" dunst and mako are excellent at showing notifications; they're just not built to keep them.

So histui is a notification daemon that does both. It draws notifications (a GTK4 layer-shell daemon with full CSS theming, custom layouts, light/dark switching and hot-reload) and it stores every one of them in SQLite, so your history outlives the toast.

The history is what I built histui for. There's a TUI browser with vim-style keybindings, and a CLI that filters by app, urgency, time range or regex and speaks JSON, dmenu and plain-ID output, so it drops straight into a script or a waybar module showing live counts.

But it turned out not to be the part I appreciate most. What won me over day to day is the presentation side I half-expected to ignore: per-urgency audio, so an error sounds different from a chat ping; GTK theming rich enough to be worth fussing over, wired to tinct so the notifications recolour along with the rest of the desktop and hot-reload while I tweak; and image previews rendered right there in the toast. I set out to build a better history and ended up with a nicer notifier.

It's flexible about how far you let it in. Run it standalone as a full dunst/mako replacement, or keep your existing daemon and run histui in monitor mode purely for the history. There are adapters to import what dunst, mako or swaync already logged, so you don't start from an empty slate.

yay -S histui-bin
systemctl --user enable --now histuid
histui            # browse your history

Early days, and themeable enough that I expect most of the interesting work to happen in other people's CSS. Repo, a demo video and docs are on GitHub.