makoctl
Manage Mako notifications
TLDR
List all current notifications
List notification history
Reload the configuration file
Restore the most recently expired notification from history
Display help
SYNOPSIS
makoctl [options] command [arguments...]
PARAMETERS
-h, --help
Display a help message and exit.
-v, --version
Display version information and exit.
dismiss [id...]
Dismisses one or more notifications by their ID. If no IDs are specified, all notifications are dismissed.
restore
Restores the last dismissed notification.
list
Lists all currently active notifications, showing their IDs and content.
reload
Reloads the Mako configuration file, applying changes without restarting the daemon.
set category:property=value [...]
Dynamically sets one or more properties for a specified notification category. E.g., `set '*' background-color=#282828`.
get category:property [...]
Retrieves the current value of one or more properties for a specified notification category.
help [command]
Displays specific help for a given command.
DESCRIPTION
makoctl is the command-line utility used to interact with a running Mako notification daemon instance. Mako is a lightweight and highly configurable Wayland-native notification daemon. makoctl allows users to perform various actions such as listing currently displayed notifications, dismissing them, restoring the last dismissed one, and dynamically querying or updating Mako's configuration and rules. It's an indispensable tool for managing the appearance and behavior of pop-up notifications without restarting the daemon, making it crucial for dynamic configuration adjustments and notification management in a Wayland environment.
CAVEATS
makoctl requires a running Mako daemon instance to operate. Configuration changes made using the `set` command are temporary and will be lost if Mako is restarted or if the configuration is reloaded from the file (e.g., via `makoctl reload`), unless these changes are persisted in the Mako configuration file (typically `~/.config/mako/config`). makoctl and Mako are primarily designed for Wayland compositors.
DYNAMIC CONFIGURATION WITH `SET` AND `GET`
The `set` and `get` commands are powerful for live configuration adjustments. They operate on 'categories' (e.g., `*` for all notifications, `critical` for critical ones, or custom categories defined by `notify-send`) and 'properties' (e.g., `background-color`, `border-color`, `text-color`, `font`, `width`, `height`, etc.). For example, `makoctl set '*' background-color=#282828` changes the background for all notifications, and `makoctl get critical text-color` retrieves the text color for critical notifications. These changes are immediate but not persistent.
NOTIFICATION IDS
When notifications are listed with `makoctl list`, they are assigned unique IDs. These IDs can then be used with the `dismiss` command to close specific notifications. IDs are transient and reset when Mako restarts.
HISTORY
Mako was developed as a modern, Wayland-native notification daemon, fitting into the minimalist and customizable philosophy prevalent in the `swaywm` ecosystem and other Wayland environments. It emerged to fill the need for a simple, standards-compliant notification server without the baggage of older X11-focused solutions. makoctl was introduced as its dedicated command-line interface, providing users with fine-grained control over the daemon's runtime behavior and notification management, emphasizing dynamic configurability.
SEE ALSO
mako(1), mako(5), notify-send(1)


