Add a mako notification daemon module to the desktop group, enabled by the aggregator. Toasts auto-dismiss into history after five seconds, a do-not-disturb mode ([mode=dnd] invisible=true) suppresses display while still recording to history, and Super+N recalls the last notification via makoctl restore. Colors and the popup font come from Stylix's mako target. The bar-side do-not-disturb toggle and media controls already live in waybar.nix, so this task adds only the daemon.
2.5 KiB
spec, blocked-by
| spec | blocked-by |
|---|---|
| hyprland-desktop | 0021-desktop-group-and-hyprland-session |
What to build
Notification toasts with do-not-disturb and history recall, so missed notifications can be retrieved.
Add a mako module to the desktop group, enabled through the aggregator, rendering notification toasts with a do-not-disturb mode and history recall. The do-not-disturb toggle and media controls live in the bar, not in a separate notification-center panel.
Acceptance criteria
- A mako module exists in the desktop group and is enabled by the aggregator.
- Notification toasts appear, with do-not-disturb and history recall.
- No separate slide-out notification-center panel is added.
- neogaia builds green under
nix flake check.
Implementation Notes
-
Bar side already in place. The do-not-disturb toggle (
custom/dnd, callingmakoctl mode -t dnd) and the MPRIS media controls already live inmodules/desktop/waybar.nixfrom task 0024. This task therefore adds only the daemon:modules/desktop/mako.nixenablesservices.makothrough home-manager and is turned on by the aggregator. The mode name isdndon both sides, so the bar's toggle and the daemon's[mode=dnd]section agree. -
Colors from Stylix. Stylix ships a mako target that drives the background, border, text, and progress colors plus the popup font from the one Nord base16 scheme, so the module sets no colors — only behaviour. This mirrors how
rofi.nixandtheming.nixdefer their palettes to Stylix. -
Do-not-disturb keeps history. The
[mode=dnd]section setsinvisible=true, which hides toasts while still recording them, so notifications missed during do-not-disturb remain retrievable. -
History recall keybind.
Super+Nrunsmakoctl restore, popping the last notification back from history keyboard-only, consistent with the rest of the session.Nis unused by the spec keybind table, and task 0021 established that each later task adds its own binding rather than 0021 binding to a then-missing tool. -
No Waybar icon mapping. The window-rewrite convention covers graphical apps whose windows appear on the workspace indicator; mako renders toasts as a layer-shell overlay with no tiled window and no
hyprctl clientsentry, so there is nothing to match on. -
Dropped from the plan. A
Super+Shift+Ndismiss-all binding was drafted alongside the recall bind but removed as unrequested scope: the acceptance criteria call for history recall, whichrestorealone serves.