Next: , Previous: , Up: API  


1.12 (heks-linux mako)

Renders ~/.config/mako/config, the notification daemon configuration.

The module is deliberately organised around a list of pairs, not a template string: each line is a (key . value) pair and the whole list is flattened by mk-kv-conf-lines. That is what allows the spec to assert on rendered behaviour without starting mako.

Two macOS-inspired choices are baked in: banners are borderless with a 16px corner radius, and a do-not-disturb mode is declared so that makoctl mode -t do-not-disturb toggles it. In that mode notifications are still recorded in the history buffer, they are simply never drawn - so nothing is lost when you dismiss the world for an hour.

The DND state is also surfaced on the Waybar (see waybar-mako-dnd) and bound to Mod+Shift+N in (heks-linux niri).

1.12.1 Parameters

Parameter: mako-config-dir

Default value:

"/root/.config/mako"
Parameter: mako-config-filename

Default value:

"config"

1.12.2 Procedures

Procedure: install-mako-config

Write the mako configuration to mako-config-dir.

Local overrides are read from $XDG_CONFIG_HOME/heks-linux/mako-settings.scm first. Restart mako (or run makoctl reload) afterwards for the change to take effect.

Procedure: mako-config KEY: #:palette #:sans-font

Return the mako configuration as a list ready for mk-kv-conf-lines.

palette supplies the background, accent and text colours; sans-font is rendered as <family> <size in points>. The returned list mixes (key . value) pairs with raw strings, because the trailing [mode=do-not-disturb] section is not a key/value pair.

(mk-kv-conf-lines (mako-config #:palette 'nord))

Next: (heks-linux niri), Previous: (heks-linux lambdock), Up: API