1mako(1) General Commands Manual mako(1)
2
3
4
6 mako - notification daemon for Wayland
7
9 mako [options...]
10
12 mako is a graphical notification daemon for Wayland compositors which
13 support the layer-shell protocol. Notifications received over dbus are
14 displayed until dismissed with a click or via makoctl(1).
15
17 -h, --help
18 Show help message and quit.
19
21 --max-visible n
22 Set maximum number of visible notifications to n. Older notifica‐
23 tions will be hidden. If -1, all notifications are visible.
24
25 Default: 5
26
27 --sort +/-time | +/-priority
28 Sorts incoming notifications by time and/or priority in ascend‐
29 ing(+) or descending(-) order.
30
31 Default: -time
32
33 --output name
34 Show notifications on the specified output. If empty, notifications
35 will appear on the focused output.
36
37 Requires the compositor to support the Wayland protocol xdg-output-
38 unstable-v1 version 2.
39
40 Default: ""
41
42 --layer layer
43 Arrange mako at the specified layer, relative to normal windows.
44 Supported values are background, bottom, top, and overlay. Using
45 overlay will cause notifications to be displayed above fullscreen
46 windows, though this may also occur at top depending on your com‐
47 positor.
48
49 Default: top
50
51 --anchor position
52 Show notifications at the specified position on the output. Sup‐
53 ported values are top-right, top-center, top-left, bottom-right,
54 bottom-center, bottom-left, and center.
55
56 Default: top-right
57
59 --font font
60 Set font to font, in Pango format.
61
62 Default: monospace 10
63
64 --background-color color
65 Set background color to color. See COLORS for more information.
66
67 Default: #285577FF
68
69 --text-color color
70 Set text color to color. See COLORS for more information.
71
72 Default: #FFFFFFFF
73
74 --width px
75 Set width of notification popups.
76
77 Default: 300
78
79 --height px
80 Set maximium height of notification popups. Notifications whose
81 text takes up less space are shrunk to fit.
82
83 Default: 100
84
85 --margin directional
86 Set margin of each edge to the size specified by directional. See
87 DIRECTIONAL VALUES for more information.
88
89 Default: 10
90
91 --padding directional
92 Set padding on each side to the size specified by directional. See
93 DIRECTIONAL VALUES for more information.
94
95 Default: 5
96
97 --border-size px
98 Set popup border size to px pixels.
99
100 Default: 1
101
102 --border-color color
103 Set popup border color to color. See COLORS for more information.
104
105 Default: #4C7899FF
106
107 --border-radius px
108 Set popup corner radius to px pixels.
109
110 Default: 0
111
112 --progress-color [over|source] color
113 Set popup progress indicator color to color. See COLOR for more
114 information. To draw the progress indicator on top of the back‐
115 ground color, use the over attribute. To replace the background
116 color, use the source attribute (this can be useful when the noti‐
117 fication is semi-transparent).
118
119 Default: over #5588AAFF
120
121 --icons 0|1
122 Show icons in notifications.
123
124 Default: 1
125
126 --max-icon-size px
127 Set maximum icon size to px pixels.
128
129 Default: 64
130
131 --icon-path path[:path...]
132 Paths to search for icons when a notification specifies a name
133 instead of a full path. Colon-delimited. This approximates the
134 search algorithm used by the XDG Icon Theme Specification, but does
135 not support any of the theme metadata. Therefore, if you want to
136 search parent themes, you'll need to add them to the path manually.
137
138 /usr/share/icons/hicolor and /usr/share/pixmaps are always
139 searched.
140
141 Default: ""
142
143 --markup 0|1
144 If 1, enable Pango markup. If 0, disable Pango markup. If enabled,
145 Pango markup will be interpreted in your format specifier and in
146 the body of notifications.
147
148 Default: 1
149
150 --actions 0|1
151 Applications may request an action to be associated with activating
152 a notification. Disabling this will cause mako to ignore these
153 requests.
154
155 Default: 1
156
157 --format format
158 Set notification format string to format. See FORMAT SPECIFIERS for
159 more information. To change this for grouped notifications, set it
160 within a grouped criteria.
161
162 Default: <b>%s</b>\n%b Default when grouped: (%g) <b>%s</b>\n%b
163
164 --default-timeout timeout
165 Set the default timeout to timeout in milliseconds. To disable the
166 timeout, set it to zero.
167
168 Default: 0
169
170 --ignore-timeout 0|1
171 If set, mako will ignore the expire timeout sent by notifications
172 and use the one provided by default-timeout instead.
173
174 Default: 0
175
176 --group-by field[,field,...]
177 A comma-separated list of criteria fields that will be compared to
178 other visible notifications to determine if this one should form a
179 group with them. All listed criteria must be exactly equal for two
180 notifications to group.
181
182 Default: none
183
185 Some style options are not useful in the global context and therefore
186 have no associated command-line option.
187
188 invisible 0|1
189 Whether this notification should be invisible even if it is above
190 the max-visible cutoff. This is used primarily for hiding members
191 of groups. If you want to make more than the first group member
192 visible, turn this option off within a group-index criteria.
193
194 Default: 0
195
197 The config file is located at ~/.config/mako/config or at $XDG_CON‐
198 FIG_HOME/mako/config. Each line of the form:
199
200 key=value
201
202 Is equivalent to passing --key=value to mako from the command line.
203 Note that any quotes used within your shell are unnecessary and also
204 invalid in the config file.
205
206 Empty lines and lines that begin with # are ignored.
207
209 In addition to the set of options at the top of the file, the config
210 file may contain zero or more sections, each containing any combination
211 of the STYLE OPTIONS. The sections, called criteria, are defined with
212 an INI-like square bracket syntax. The brackets may contain any number
213 of fields, like so:
214
215 [field=value field2=value2 ...]
216
217 When a notification is received, it will be compared to the fields
218 defined in each criteria. If all of the fields match, the style options
219 within will be applied to the notification. Fields not included in the
220 criteria are not considered during the match. A notification may match
221 any number of criteria. This matching occurs in the order the criteria
222 are defined in the config file, meaning that if multiple criteria match
223 a notification, the last occurrence of any given style option will
224 "win".
225
226 The following fields are available in criteria:
227
228 · app-name (string)
229 · app-icon (string)
230 · summary (string)
231 · An exact match on the summary of the notification.
232 · urgency (one of "low", "normal", "high")
233 · category (string)
234 · desktop-entry (string)
235 · actionable (boolean)
236 · expiring (boolean)
237 · grouped (boolean)
238 · Whether the notification is grouped with any others (its group-
239 index is not -1).
240 · group-index (int)
241 · The notification's index within its group, or -1 if it is not
242 grouped.
243 · hidden (boolean)
244 · hidden is special, it defines the style for the placeholder
245 shown when the number of notifications or groups exceeds max-
246 visible.
247
248
249 If a field's value contains special characters, they may be escaped
250 with a backslash, or quoted:
251
252 [app-name="Google Chrome"]
253
254 [app-name=Google\ Chrome]
255
256 Quotes within quotes may also be escaped, and a literal backslash may
257 be specified as \\. No spaces are allowed around the equal sign. Escap‐
258 ing equal signs within values is unnecessary.
259
260 Additionally, boolean values may be specified using any of true/false,
261 0/1, or as bare words:
262
263 [actionable=true] [actionable=1] [actionable]
264
265 [actionable=false] [actionable=0] [!actionable]
266
267 There are three criteria always present at the front of the list:
268 · An empty criteria which matches all notifications and contains the
269 defaults for all style options, overwritten with any configured in
270 the global section.
271 · [grouped], which sets the default format for grouped notifications
272 and sets them invisible.
273 · [group-index=0], which makes the first member of each group visible
274 again.
275
276
277 These options can be overridden by simply defining the criteria your‐
278 self and overriding them.
279
281 Colors can be specified as #RRGGBB or #RRGGBBAA.
282
284 Some options set values that affect all four edges of a notification.
285 These options can be specified in several different ways, depending on
286 how much control over each edge is desired:
287
288 · A single value will apply to all four edges.
289 · Two values will set vertical and horizontal edges separately.
290 · Three will set top, horizontal, and bottom edges separately.
291 · Four will give each edge a separate value.
292
293
294 When specifying multiple values, they should be comma-separated. For
295 example, this would set the top margin to 10, left and right to 20, and
296 bottom to five:
297
298 --margin 10,20,5
299
301 Format specification works similarly to printf(3), but with a different
302 set of specifiers.
303
304 %% Literal "%"
305
306 \\ Literal "\"
307
308 \n New Line
309
310 For notifications
311 %a Application name
312
313 %s Notification summary
314
315 %b Notification body
316
317 %g Number of notifications in the current group
318
319 For the hidden notifications placeholder
320 %h Number of hidden notifications
321
322 %t Total number of notifications
323
325 Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
326 open-source contributors. For more information about mako development,
327 see https://github.com/emersion/mako.
328
330 makoctl(1)
331
332
333
334 2020-01-29 mako(1)