Provided by: mako-notifier_1.7.1-1_amd64 bug


       mako - configuration file


       The config file is located at ~/.config/mako/config or at $XDG_CONFIG_HOME/mako/config.
       Option lines can be specified to configure mako like so:


       Empty lines and lines that begin with # are ignored.


           Set maximum number of expired notifications to keep in the history buffer to n. If the
           buffer is full, newly expired notifications replace the oldest ones. If 0, history is

           Default: 5

       sort=+/-time | +/-priority
           Sorts incoming notifications by time and/or priority in ascending(+) or descending(-)

           Default: -time


       Bindings allow one to perform an action when an event is triggered. Supported values are
       none, dismiss, dismiss-all, dismiss-group, invoke-default-action and exec <command>.

           Default: invoke-default-action

           Default: none

           Default: dismiss

           Default: dismiss

       on-notify = action
           Default: none

       When exec is used, the command will be executed in a POSIX shell. The shell variable id
       will be set to the notification ID. For example, the following option will display an
       interactive action menu on middle click:

           on-button-middle=exec makoctl menu -n "$id" dmenu -p 'Select action: '

       The following option will play a sound when a new notification is opened:

           on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga


           Set font to font, in Pango format.

           Default: monospace 10

           Set background color to color. See COLORS for more information.

           Default: #285577FF

           Set text color to color. See COLORS for more information.

           Default: #FFFFFFFF

           Set width of notification popups.

           Default: 300

           Set maximum height of notification popups. Notifications whose text takes up less
           space are shrunk to fit.

           Default: 100

           Set outer-margin of each edge to the size specified by directional. See DIRECTIONAL
           VALUES for more information. This margin applies to the outside of the whole
           notification list.

           Default: 0

           Set margin of each edge to the size specified by directional. See DIRECTIONAL VALUES
           for more information. This margin applies to each individual notification. Note that
           it applies in addition to outer-margin, meaning first and last notifications will use
           the sum of both margins.

           Default: 10

           Set padding on each side to the size specified by directional. See DIRECTIONAL VALUES
           for more information.

           Default: 5

           Set popup border size to px pixels.

           Default: 2

           Set popup border color to color. See COLORS for more information.

           Default: #4C7899FF

           Set popup corner radius to px pixels.

           Default: 0

       progress-color=[over|source] color
           Set popup progress indicator color to color. See COLOR for more information. To draw
           the progress indicator on top of the background color, use the over attribute. To
           replace the background color, use the source attribute (this can be useful when the
           notification is semi-transparent).

           Progress can be indicated in a notification by setting a hint, "value" to an integer
           between 0 and 100 inclusive.

           Default: over #5588AAFF

           Show icons in notifications.

           Default: 1

           Set maximum icon size to px pixels.

           Default: 64

           Paths to search for icons when a notification specifies a name instead of a full path.
           Colon-delimited. This approximates the search algorithm used by the XDG Icon Theme
           Specification, but does not support any of the theme metadata. Therefore, if you want
           to search parent themes, you'll need to add them to the path manually.

           The path should be the root of the icon theme, the categories and resolutions will be
           searched for the most appropriate match.

           /usr/share/icons/hicolor and /usr/share/pixmaps are always searched.

           Default: ""

           Position of the icon relative to the displayed text. Valid options are left, right,
           top and bottom.

           Default: left

           If 1, enable Pango markup. If 0, disable Pango markup. If enabled, Pango markup will
           be interpreted in your format specifier and in the body of notifications.

           Default: 1

           Applications may request an action to be associated with activating a notification.
           Disabling this will cause mako to ignore these requests.

           Default: 1

           If set, mako will save notifications that have reached their timeout into the history
           buffer instead of immediately deleting them. max-history determines the size of the
           history buffer.

           Default: 1

           Set notification format string to format. See FORMAT SPECIFIERS for more information.
           To change this for grouped notifications, set it within a grouped criteria.

           Default: <b>%s</b>\n%b
           Default when grouped: (%g) <b>%s</b>\n%b

           Set notification text alignment.

           Default: left

           Set the default timeout to timeout in milliseconds. To disable the timeout, set it to

           Default: 0

           If set, mako will ignore the expire timeout sent by notifications and use the one
           provided by default-timeout instead.

           Default: 0

           A comma-separated list of criteria fields that will be compared to other visible
           notifications to determine if this one should form a group with them. All listed
           criteria must be exactly equal for two notifications to group.

           Default: none

           Set maximum number of visible notifications to n. Older notifications will be hidden.
           If -1, all notifications are visible.

           Default: 5

           Show notifications on the specified output. If empty, notifications will appear on the
           focused output.

           Requires the compositor to support the Wayland protocol xdg-output-unstable-v1 version

           Default: ""

           Arrange mako at the specified layer, relative to normal windows. Supported values are
           background, bottom, top, and overlay. Using overlay will cause notifications to be
           displayed above fullscreen windows, though this may also occur at top depending on
           your compositor.

           Default: top

           Show notifications at the specified position on the output. Supported values are top-
           right, top-center, top-left, bottom-right, bottom-center, bottom-left, center-right,
           center-left and center.

           Default: top-right


       In addition to the set of options at the top of the file, the config file may contain zero
       or more sections, each containing any combination of the BINDING OPTIONS and STYLE
       OPTIONS. The sections, called criteria, are defined with an INI-like square bracket
       syntax. The brackets may contain any number of fields, like so:

           [field=value field2=value2 ...]

       When a notification is received, it will be compared to the fields defined in each
       criteria. If all of the fields match, the style options within will be applied to the
       notification. Fields not included in the criteria are not considered during the match. A
       notification may match any number of criteria. This matching occurs in the order the
       criteria are defined in the config file, meaning that if multiple criteria match a
       notification, the last occurrence of any given style option will "win".

       The following fields are available in criteria:

       •   app-name (string)
       •   app-icon (string)
       •   summary (string)
           •   An exact match on the summary of the notification.
           •   This field conflicts with summary~.
       •   summary~ (string)
           •   A POSIX extended regular expression match on the summary of the notification.
           •   This field conflicts with summary.
       •   body (string)
           •   An exact match on the body of the notification.
           •   This field conflicts with body~.
       •   body~ (string)
           •   A POSIX extended regular expression match on the body of the

           •   This field conflicts with body.
       •   urgency (one of "low", "normal", "critical")
       •   category (string)
       •   desktop-entry (string)
       •   actionable (boolean)
       •   expiring (boolean)
       •   mode (string)
           •   Only apply style options in this section if the provided mode is currently
               enabled. For more information about modes, see the MODES section.

       The following fields are also available to match on a second pass based on where previous
       style options decided to place each notification:

       •   grouped (boolean)
           •   Whether the notification is grouped with any others (its group-index is not -1).
       •   group-index (int)
           •   The notification's index within its group, or -1 if it is not grouped.
       •   hidden (boolean)
           •   hidden is special, it defines the style for the placeholder shown when the number
               of notifications or groups exceeds max-visible.
       •   output (string)
             - Which output the notification was sorted onto. See the output style
               option for possible values.
       •   anchor (string)
           •   Which position on the output the notification was assigned to. See the
               anchor style option for possible values.

       There are only two passes performed on each notification, so the second-pass criteria are
       not allowed to reposition the notification.

       If a field's value contains special characters, they may be escaped with a backslash, or

           [app-name="Google Chrome"]

           [app-name=Google\ Chrome]

       Quotes within quotes may also be escaped, and a literal backslash may be specified as \\.
       No spaces are allowed around the equal sign. Escaping equal signs within values is

       Additionally, boolean values may be specified using any of true/false, 0/1, or as bare

           [actionable=true] [actionable=1] [actionable]

           [actionable=false] [actionable=0] [!actionable]

       There are three criteria always present at the front of the list:
       •   An empty criteria which matches all notifications and contains the defaults for all
           style options, overwritten with any configured in the global section.
       •   [grouped], which sets the default format for grouped notifications and sets them
       •   [group-index=0], which makes the first member of each group visible again.

       These options can be overridden by simply defining the criteria yourself and overriding

       There are some rules restricting what can be configured depending on what is being matched
       by a given criteria:

       •   Criteria matching grouped or group-index are not allowed to change the anchor, output,
           or group-by, as this would invalidate the grouping. Grouping is only performed once
           rather than recursively, to avoid the potential for infinite loops.


       Some style options are not useful in the global context and therefore have no associated
       command-line option.

           Whether this notification should be invisible even if it is above the max-visible
           cutoff. This is used primarily for hiding members of groups. If you want to make more
           than the first group member visible, turn this option off within a group-index

           Default: 0


       Colors can be specified as #RRGGBB or #RRGGBBAA.


       Some options set values that affect all four edges of a notification. These options can be
       specified in several different ways, depending on how much control over each edge is

       •   A single value will apply to all four edges.
       •   Two values will set vertical and horizontal edges separately.
       •   Three will set top, horizontal, and bottom edges separately.
       •   Four will set top, right, bottom, and left edges separately.

       When specifying multiple values, they should be comma-separated. For example, this would
       set the top margin to 10, left and right to 20, and bottom to five:

           margin = 10,20,5


       Format specification works similarly to printf(3), but with a different set of specifiers.

       %%   Literal "%"

       \\   Literal "\"

       \n   New Line

   For notifications
       %a   Application name

       %s   Notification summary

       %b   Notification body

       %g   Number of notifications in the current group

       %i   Notification id

   For the hidden notifications placeholder
       %h   Number of hidden notifications

       %t   Total number of notifications


       mako supports applying style options conditionally via modes. A configuration section with
       a mode criteria will only be applied if the current mode matches. makoctl(1) can be used
       to change the current mode.

       The initial list of modes contains a single mode called "default". This is deprecated, in
       a future version the initial list of modes will be empty.

       For example, to hide all notifications if the mode "do-not-disturb" is enabled:


       makoctl mode -a do-not-disturb will hide all notifications, makoctl mode -r do-not-disturb
       will show them again.


       Maintained by Simon Ser <>, who is assisted by other open-source
       contributors. For more information about mako development, see


       mako(1) makoctl(1)

                                            2022-07-08                                    mako(5)