1mako(1)                     General Commands Manual                    mako(1)
2
3
4

NAME

6       mako - notification daemon for Wayland
7

SYNOPSIS

9       mako [options...]
10

DESCRIPTION

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

OPTIONS

17       -h, --help
18           Show help message and quit.
19

GLOBAL CONFIGURATION OPTIONS

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

STYLE OPTIONS

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

CRITERIA-ONLY STYLE OPTIONS

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

CONFIG FILE

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

CRITERIA

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

COLORS

277       Colors can be specified as #RRGGBB or #RRGGBBAA.
278

DIRECTIONAL VALUES

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

FORMAT SPECIFIERS

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

AUTHORS

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

SEE ALSO

326       makoctl(1)
327
328
329
330                                  2019-07-25                           mako(1)
Impressum