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