1mako(5) File Formats Manual mako(5)
2
3
4
6 mako - configuration file
7
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
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
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
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
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
266 Colors can be specified as #RRGGBB or #RRGGBBAA.
267
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
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
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
315 mako(1) makoctl(1)
316
317
318
319 2020-07-28 mako(5)