1mako(5)                       File Formats Manual                      mako(5)
2
3
4

NAME

6       mako - configuration file
7

DESCRIPTION

9       The config file is located at ~/.config/mako/config or at $XDG_CON‐
10       FIG_HOME/mako/config. Option lines can be specified to configure mako
11       like so:
12
13           key=value
14
15       Empty lines and lines that begin with # are ignored.
16

GLOBAL CONFIGURATION OPTIONS

18       max-visible = n
19           Set maximum number of visible notifications to n. Older notifica‐
20           tions will be hidden. If -1, all notifications are visible.
21
22           Default: 5
23
24       sort = +/-time | +/-priority
25           Sorts incoming notifications by time and/or priority in ascend‐
26           ing(+) or descending(-) order.
27
28           Default: -time
29
30       output = name
31           Show notifications on the specified output. If empty, notifications
32           will appear on the focused output.
33
34           Requires the compositor to support the Wayland protocol xdg-output-
35           unstable-v1 version 2.
36
37           Default: ""
38
39       layer = layer
40           Arrange mako at the specified layer, relative to normal windows.
41           Supported values are background, bottom, top, and overlay. Using
42           overlay will cause notifications to be displayed above fullscreen
43           windows, though this may also occur at top depending on your com‐
44           positor.
45
46           Default: top
47
48       anchor = position
49           Show notifications at the specified position on the output. Sup‐
50           ported values are top-right, top-center, top-left, bottom-right,
51           bottom-center, bottom-left, and center.
52
53           Default: top-right
54

STYLE OPTIONS

56       font = font
57           Set font to font, in Pango format.
58
59           Default: monospace 10
60
61       background-color = color
62           Set background color to color. See COLORS for more information.
63
64           Default: #285577FF
65
66       text-color = color
67           Set text color to color. See COLORS for more information.
68
69           Default: #FFFFFFFF
70
71       width = px
72           Set width of notification popups.
73
74           Default: 300
75
76       height = px
77           Set maximum height of notification popups. Notifications whose text
78           takes up less space are shrunk to fit.
79
80           Default: 100
81
82       margin = directional
83           Set margin of each edge to the size specified by directional. See
84           DIRECTIONAL VALUES for more information.
85
86           Default: 10
87
88       padding = directional
89           Set padding on each side to the size specified by directional. See
90           DIRECTIONAL VALUES for more information.
91
92           Default: 5
93
94       border-size = px
95           Set popup border size to px pixels.
96
97           Default: 1
98
99       border-color = color
100           Set popup border color to color. See COLORS for more information.
101
102           Default: #4C7899FF
103
104       border-radius = px
105           Set popup corner radius to px pixels.
106
107           Default: 0
108
109       progress-color = [over|source] color
110           Set popup progress indicator color to color. See COLOR for more
111           information. To draw the progress indicator on top of the back‐
112           ground color, use the over attribute. To replace the background
113           color, use the source attribute (this can be useful when the noti‐
114           fication is semi-transparent).
115
116           Default: over #5588AAFF
117
118       icons = 0|1
119           Show icons in notifications.
120
121           Default: 1
122
123       max-icon-size = px
124           Set maximum icon size to px pixels.
125
126           Default: 64
127
128       icon-path = path[:path...]
129           Paths to search for icons when a notification specifies a name
130           instead of a full path. Colon-delimited. This approximates the
131           search algorithm used by the XDG Icon Theme Specification, but does
132           not support any of the theme metadata. Therefore, if you want to
133           search parent themes, you'll need to add them to the path manually.
134
135           /usr/share/icons/hicolor and /usr/share/pixmaps are always
136           searched.
137
138           Default: ""
139
140       markup = 0|1
141           If 1, enable Pango markup. If 0, disable Pango markup. If enabled,
142           Pango markup will be interpreted in your format specifier and in
143           the body of notifications.
144
145           Default: 1
146
147       actions = 0|1
148           Applications may request an action to be associated with activating
149           a notification. Disabling this will cause mako to ignore these
150           requests.
151
152           Default: 1
153
154       format = format
155           Set notification format string to format. See FORMAT SPECIFIERS for
156           more information. To change this for grouped notifications, set it
157           within a grouped criteria.
158
159           Default: <b>%s</b>\n%b Default when grouped: (%g) <b>%s</b>\n%b
160
161       default-timeout = timeout
162           Set the default timeout to timeout in milliseconds. To disable the
163           timeout, set it to zero.
164
165           Default: 0
166
167       ignore-timeout = 0|1
168           If set, mako will ignore the expire timeout sent by notifications
169           and use the one provided by default-timeout instead.
170
171           Default: 0
172
173       group-by = field[,field,...]
174           A comma-separated list of criteria fields that will be compared to
175           other visible notifications to determine if this one should form a
176           group with them. All listed criteria must be exactly equal for two
177           notifications to group.
178
179           Default: none
180

CRITERIA

182       In addition to the set of options at the top of the file, the config
183       file may contain zero or more sections, each containing any combination
184       of the STYLE OPTIONS. The sections, called criteria, are defined with
185       an INI-like square bracket syntax. The brackets may contain any number
186       of fields, like so:
187
188           [field=value field2=value2 ...]
189
190       When a notification is received, it will be compared to the fields
191       defined in each criteria. If all of the fields match, the style options
192       within will be applied to the notification. Fields not included in the
193       criteria are not considered during the match. A notification may match
194       any number of criteria.  This matching occurs in the order the criteria
195       are defined in the config file, meaning that if multiple criteria match
196       a notification, the last occurrence of any given style option will
197       "win".
198
199       The following fields are available in criteria:
200
201       ·   app-name (string)
202       ·   app-icon (string)
203       ·   summary (string)
204           ·   An exact match on the summary of the notification.
205       ·   urgency (one of "low", "normal", "high")
206       ·   category (string)
207       ·   desktop-entry (string)
208       ·   actionable (boolean)
209       ·   expiring (boolean)
210       ·   grouped (boolean)
211           ·   Whether the notification is grouped with any others (its group-
212               index is not -1).
213       ·   group-index (int)
214           ·   The notification's index within its group, or -1 if it is not
215               grouped.
216       ·   hidden (boolean)
217           ·   hidden is special, it defines the style for the placeholder
218               shown when the number of notifications or groups exceeds max-
219               visible.
220
221
222       If a field's value contains special characters, they may be escaped
223       with a backslash, or quoted:
224
225           [app-name="Google Chrome"]
226
227           [app-name=Google\ Chrome]
228
229       Quotes within quotes may also be escaped, and a literal backslash may
230       be specified as \\. No spaces are allowed around the equal sign. Escap‐
231       ing equal signs within values is unnecessary.
232
233       Additionally, boolean values may be specified using any of true/false,
234       0/1, or as bare words:
235
236           [actionable=true] [actionable=1] [actionable]
237
238           [actionable=false] [actionable=0] [!actionable]
239
240       There are three criteria always present at the front of the list:
241       ·   An empty criteria which matches all notifications and contains the
242           defaults for all style options, overwritten with any configured in
243           the global section.
244       ·   [grouped], which sets the default format for grouped notifications
245           and sets them invisible.
246       ·   [group-index=0], which makes the first member of each group visible
247           again.
248
249
250       These options can be overridden by simply defining the criteria your‐
251       self and overriding them.
252

CRITERIA-ONLY STYLE OPTIONS

254       Some style options are not useful in the global context and therefore
255       have no associated command-line option.
256
257       invisible = 0|1
258           Whether this notification should be invisible even if it is above
259           the max-visible cutoff. This is used primarily for hiding members
260           of groups.  If you want to make more than the first group member
261           visible, turn this option off within a group-index criteria.
262
263           Default: 0
264

COLORS

266       Colors can be specified as #RRGGBB or #RRGGBBAA.
267

DIRECTIONAL VALUES

269       Some options set values that affect all four edges of a notification.
270       These options can be specified in several different ways, depending on
271       how much control over each edge is desired:
272
273       ·   A single value will apply to all four edges.
274       ·   Two values will set vertical and horizontal edges separately.
275       ·   Three will set top, horizontal, and bottom edges separately.
276       ·   Four will give each edge a separate value.
277
278
279       When specifying multiple values, they should be comma-separated. For
280       example, this would set the top margin to 10, left and right to 20, and
281       bottom to five:
282
283           margin = 10,20,5
284

FORMAT SPECIFIERS

286       Format specification works similarly to printf(3), but with a different
287       set of specifiers.
288
289       %%   Literal "%"
290
291       \\   Literal "\"
292
293       \n   New Line
294
295   For notifications
296       %a   Application name
297
298       %s   Notification summary
299
300       %b   Notification body
301
302       %g   Number of notifications in the current group
303
304   For the hidden notifications placeholder
305       %h   Number of hidden notifications
306
307       %t   Total number of notifications
308

AUTHORS

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

SEE ALSO

315       mako(1) makoctl(1)
316
317
318
319                                  2020-07-28                           mako(5)
Impressum