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 progess indicator on top of the background
115 color, use the over attribute. To replace the background color, use
116 the source attribute (this can be useful when the notification is
117 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
204 Empty lines and lines that begin with # are ignored.
205
207 In addition to the set of options at the top of the file, the config
208 file may contain zero or more sections, each containing any combination
209 of the STYLE OPTIONS. The sections, called criteria, are defined with
210 an INI-like square bracket syntax. The brackets may contain any number
211 of fields, like so:
212
213 [field=value field2=value2 ...]
214
215 When a notification is received, it will be compared to the fields
216 defined in each criteria. If all of the fields match, the style options
217 within will be applied to the notification. Fields not included in the
218 criteria are not considered during the match. A notification may match
219 any number of criteria. This matching occurs in the order the criteria
220 are defined in the config file, meaning that if multiple criteria match
221 a notification, the last occurrence of any given style option will
222 "win".
223
224 The following fields are available in critiera:
225
226 · app-name (string)
227 · app-icon (string)
228 · urgency (one of "low", "normal", "high")
229 · category (string)
230 · desktop-entry (string)
231 · actionable (boolean)
232 · expiring (boolean)
233 · grouped (boolean)
234 · Whether the notification is grouped with any others (its group-
235 index is not -1).
236 · group-index (int)
237 · The notification's index within its group, or -1 if it is not
238 grouped.
239 · hidden (boolean)
240 · hidden is special, it defines the style for the placeholder
241 shown when the number of notifications or groups exceeds max-
242 visible.
243
244
245 If a field's value contains special characters, they may be escaped
246 with a backslash, or quoted:
247
248 [app-name="Google Chrome"]
249
250 [app-name=Google\ Chrome]
251
252 Quotes within quotes may also be escaped, and a literal backslack may
253 be specified as \\. No spaces are allowed around the equal sign. Escap‐
254 ing equal signs within values is unnecessary.
255
256 Additionally, boolean values may be specified using any of true/false,
257 0/1, or as bare words:
258
259 [actionable=true] [actionable=1] [actionable]
260
261 [actionable=false] [actionable=0] [!actionable]
262
263 There are three criteria always present at the front of the list:
264 · An empty criteria which matches all notifications and contains the
265 defaults for all style options, overwritten with any configured in
266 the global section.
267 · [grouped], which sets the default format for grouped notifications
268 and sets them invisible.
269 · [group-index=0], which makes the first member of each group visible
270 again.
271
272
273 These options can be overridden by simply defining the criteria your‐
274 self and overriding them.
275
277 Colors can be specified as #RRGGBB or #RRGGBBAA.
278
280 Some options set values that affect all four edges of a notification.
281 These options can be specified in several different ways, depending on
282 how much control over each edge is desired:
283
284 · A single value will apply to all four edges.
285 · Two values will set vertical and horizontal edges separately.
286 · Three will set top, horizontal, and bottom edges separately.
287 · Four will give each edge a separate value.
288
289
290 When specifying multiple values, they should be comma-separated. For
291 example, this would set the top margin to 10, left and right to 20, and
292 bottom to five:
293
294 --margin 10,20,5
295
297 Format specification works similarly to printf(3), but with a different
298 set of specifiers.
299
300 %% Literal "%"
301
302 \\ Literal "\"
303
304 \n New Line
305
306 For notifications
307 %a Application name
308
309 %s Notification summary
310
311 %b Notification body
312
313 %g Number of notifications in the current group
314
315 For the hidden notifications placeholder
316 %h Number of hidden notifications
317
318 %t Total number of notifications
319
321 Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
322 open-source contributors. For more information about mako development,
323 see https://github.com/emersion/mako.
324
326 makoctl(1)
327
328
329
330 2019-07-25 mako(1)