Provided by: mako-notifier_1.8.0-2build2_amd64 bug

NAME

       mako - configuration file

DESCRIPTION

       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:

           key=value

       Empty lines and lines that begin with # are ignored.

GLOBAL CONFIGURATION OPTIONS

       max-history=n
           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 disabled.

           Default: 5

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

           Default: -time

BINDING OPTIONS

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

       on-button-left=action
           Default: invoke-default-action

       on-button-middle=action
           Default: none

       on-button-right=action
           Default: dismiss

       on-touch=action
           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

       When using invoke-action or invoke-default-action a xdg-activation token will  be  sent  to  the  client,
       allowing   the   client   to  request  focus  from  the  compositor.  The  compositor  must  support  the
       xdg_activation_v1 protocol and allow the focus request for the example to work correctly:

           [app-name="some-app-id" actionable]
           on-button-left=invoke-action mail-reply-sender

STYLE OPTIONS

       font=font
           Set font to font, in Pango format.

           Default: monospace 10

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

           Default: #285577FF

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

           Default: #FFFFFFFF

       width=px
           Set width of notification popups.

           Default: 300

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

           Default: 100

       outer-margin=directional
           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

       margin=directional
           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

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

           Default: 5

       border-size=px
           Set popup border size to px pixels.

           Default: 2

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

           Default: #4C7899FF

       border-radius=px
           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

       icons=0|1
           Show icons in notifications.

           Default: 1

       max-icon-size=px
           Set maximum icon size to px pixels.

           Default: 64

       icon-path=path[:path...]
           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: ""

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

           Default: left

       markup=0|1
           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

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

           Default: 1

       history=0|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

       format=format
           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

       text-alignment=left|center|right
           Set notification text alignment.

           Default: left

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

           Default: 0

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

           Default: 0

       group-by=field[,field,...]
           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

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

           Default: 5

       output=name
           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 2.

           Default: ""

       layer=layer
           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

       anchor=position
           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

CRITERIA

       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

       notification.
           •   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 quoted:

           [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 unnecessary.

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

           [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 invisible.
       •   [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 them.

       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.

CRITERIA-ONLY STYLE OPTIONS

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

       invisible=0|1
           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 criteria.

           Default: 0

COLORS

       Colors can be specified as #RRGGBB or #RRGGBBAA.

DIRECTIONAL VALUES

       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 desired:

       •   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 SPECIFIERS

       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

MODES

       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:

           [mode=do-not-disturb]
           invisible=1

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

AUTHORS

       Maintained  by  Simon  Ser  <contact@emersion.fr>, who is assisted by other open-source contributors. For
       more information about mako development, see https://github.com/emersion/mako.

SEE ALSO

       mako(1) makoctl(1)

                                                   2024-04-01                                            mako(5)