1wofi(5) File Formats Manual wofi(5)
2
3
4
6 wofi - configuration file and styling
7
8
10 Wofi's configuration format is very simple, consisting of key value
11 pairs in snake case. The majority of the config options are the command
12 line options, there are however a small handful of options only acces‐
13 sible via wofi's config.
14
15 Mode specific options for the built-in modes are documented in wofi(7).
16 They are placed in the config file in the format mode-example_opt=val.
17 For example dmenu has an option called parse_action which would be
18 placed in the config as dmenu-parse_action=true.
19
20 Anything following a # is considered to be a comment unless the # is
21 prefixed with a \. For this reason in order to put a backslash in the
22 config it must be escaped as well giving \\.
23
24
26 Most of the options here are the command flags as found in wofi(1) in
27 snake case, however some are unique to the config.
28
29
30 style=PATH
31 Specifies the CSS file to use as the stylesheet.
32
33 stylesheet=PATH
34 Specifies the CSS file to use as the stylesheet. This option is
35 NOT the same as style. Absolute paths are absolute however rela‐
36 tive paths are relative to the wofi config folder location
37 $XDG_CONFIG_HOME/wofi and NOT the current working directory as
38 they are with style. They are also NOT relative to the path as
39 specified by --conf. This option comes from rootbar and is prob‐
40 ably more confusing than it's worth. You should probably use
41 style unless you're sure this is what you want.
42
43 color=PATH
44 Specifies the colors file to use.
45
46 colors=PATH
47 Specifies the colors file to use. This option is NOT the same as
48 color. Absolute paths are absolute however relative paths are
49 relative to the wofi config folder location $XDG_CON‐
50 FIG_HOME/wofi and NOT the current working directory as they are
51 with color. They are also NOT relative to the path as specified
52 by --conf. This option comes from rootbar and is probably more
53 confusing than it's worth. You should probably use color unless
54 you're sure this is what you want.
55
56 show=MODE
57 Specifies the mode to run in. A list of modes can be found in
58 wofi(7).
59
60 mode=MODE
61 Identical to show.
62
63 width=WIDTH
64 Specifies the menu width in pixels or percent of screen size,
65 default is 50%. Pixels are used unless the number ends with a %.
66
67 height=HEIGHT
68 Specifies the menu height in pixels or percent of screen size,
69 default is 40%. Pixels are used unless the number ends with a %.
70
71 prompt=PROMPT
72 Sets the prompt to be display in the search box, default is the
73 name of the mode.
74
75 xoffset=OFFSET
76 Sets the x offset from the location in pixels, default is 0.
77
78 x=OFFSET
79 Identical to xoffset.
80
81 yoffset=OFFSET
82 Sets the y offset from the location in pixels, default is 0.
83
84 y=OFFSET
85 Identical to yoffset.
86
87 normal_window=BOOL
88 If true runs wofi in a normal window instead of using
89 wlr-layer-shell, default is false.
90
91 allow_images=BOOL
92 If true allows image escape sequences to be processed and ren‐
93 dered, default is false.
94
95 allow_markup=BOOL
96 If true allows pango markup to be processed and rendered, de‐
97 fault is false.
98
99 cache_file=PATH
100 Specifies the cache file to load/store cache, default is
101 $XDG_CACHE_HOME/wofi-<mode name> where <mode name> is the name
102 of the mode, if $XDG_CACHE_HOME is not specified ~/.cache is
103 used.
104
105 term=TERM
106 Specifies the term to use when running a program in a terminal.
107 This overrides the default terminal run order which is kitty,
108 termite, alacritty, foot, gnome-terminal, weston-terminal in
109 that order.
110
111 password=CHARACTER
112 Runs wofi in password mode using the specified character, de‐
113 fault is false.
114
115 exec_search=BOOL
116 If true activiating a search with enter will execute the search
117 not the first result, default is false.
118
119 hide_scroll=BOOL
120 If true hides the scroll bars, default is false.
121
122 matching=MODE
123 Specifies the matching mode, it can be either contains, multi-
124 contains, or fuzzy, default is contains.
125
126 insensitive=BOOL
127 If true enables case insensitive search, default is false.
128
129 parse_search=BOOL
130 If true parses out image escapes and pango preventing them from
131 being used for searching, default is false.
132
133 location=LOCATION
134 Specifies the location. See wofi(7) for more information, de‐
135 fault is center.
136
137 no_actions=BOOL
138 If true disables multiple actions for modes that support it, de‐
139 fault is false.
140
141 lines=LINES
142 Specifies the height in number of lines instead of pixels.
143
144 columns=COLUMNS
145 Specifies the number of columns to display, default is 1.
146
147 sort_order=ORDER
148 Specifies the default sort order. There are currently two or‐
149 ders, default and alphabetical. See wofi(7) for details.
150
151 gtk_dark=BOOL
152 If true, instructs wofi to use the dark variant of the current
153 GTK theme (if available). Default is false.
154
155 search=STRING
156 Specifies something to search for immediately on opening
157
158 monitor=STRING
159 Sets the monitor to open on
160
161 pre_display_cmd=COMMAND
162 Specifies a printf-like string which is used on the entries
163 prior to displaying them. This command is only used to represent
164 the label widget's string, and won't affect the the output of
165 the selected label.
166
167 orientation=ORIENTATION
168 Specifies the orientation, it can be either horizontal or verti‐
169 cal, default is vertical.
170
171 halign=ALIGN
172 Specifies the horizontal align for the entire scrolled area, it
173 can be any of fill, start, end, or center, default is fill.
174
175 content_halign=ALIGN
176 Specifies the horizontal align for the individual entries, it
177 can be any of fill, start, end, or center, default is fill.
178
179 valign=ALIGN
180 Specifies the vertical align for the entire scrolled area, it
181 can be any of fill, start, end, or center, the default is orien‐
182 tation dependent. If vertical then it defaults to start, if hor‐
183 izontal it defaults to center.
184
185 filter_rate=RATE
186 Specifies the rate at which search results are updated in mil‐
187 liseconds, default is 100.
188
189 image_size=SIZE
190 Specifies the size of images in pixels when images are enabled,
191 default is 32.
192
193 key_up=KEY
194 Specifies the key to use in order to move up. Default is Up(Up
195 arrow). See wofi-keys(7) for the key codes.
196
197 key_down=KEY
198 Specifies the key to use in order to move down. Default is
199 Down(Down arrow). See wofi-keys(7) for the key codes.
200
201 key_left=KEY
202 Specifies the key to use in order to move left. Default is
203 Left(Left arrow). See wofi-keys(7) for the key codes.
204
205 key_right=KEY
206 Specifies the key to use in order to move right. Default is
207 Right(Right arrow). See wofi-keys(7) for the key codes.
208
209 key_forward=KEY
210 Specifies the key to use in order to move forward. Default is
211 Tab. See wofi-keys(7) for the key codes.
212
213 key_backward=KEY
214 Specifies the key to use in order to move backward. Default is
215 ISO_Left_Tab(Shift+Tab). See wofi-keys(7) for the key codes.
216
217 key_submit=KEY
218 Specifies the key to use in order to submit an action. Default
219 is Return. See wofi-keys(7) for the key codes.
220
221 key_exit=KEY
222 Specifies the key to use in order to exit wofi. Default is Es‐
223 cape. See wofi-keys(7) for the key codes.
224
225 key_pgup=KEY
226 Specifies the key to use in order to move one page up. Default
227 is Page_Up. See wofi-keys(7) for the key codes.
228
229 key_pgdn=KEY
230 Specifies the key to use in order to move one page down. Default
231 is Page_Down. See wofi-keys(7) for the key codes.
232
233 key_expand=KEY
234 Specifies the key to use in order to expand/contract multi-ac‐
235 tion entires. There is no default. See wofi-keys(7) for the key
236 codes.
237
238 key_hide_search=KEY
239 Specifies the key to use in order to hide/show the search bar.
240 There is no default. See wofi-keys(7) for the key codes.
241
242 key_copy=KEY
243 Specifies the key to use in order to copy the action text for
244 the current entry. The default is Control_L-c. See wofi-keys(7)
245 for the key codes.
246
247 line_wrap=MODE
248 Specifies the line wrap mode to use. The options are off, word,
249 char, and word_char. Default is off.
250
251 global_coords=BOOL
252 Specifies whether x and y offsets should be calculated using the
253 global compositor space instead of the current monitor. Default
254 is false. This does not play well with locations and using it
255 with them is not advised.
256
257 hide_search=BOOL
258 Specifies whether the search bar should be hidden. Default is
259 false.
260
261 dynamic_lines=BOOL
262 Specifies whether wofi should be dynamically shrunk to fit the
263 number of visible lines or if it should always stay the same
264 size. Default is false.
265
266 layer=LAYER
267 Specifies the layer to open on. The options are background, bot‐
268 tom, top, and overlay. Default is top
269
270 copy_exec=PATH
271 Specifies the executable to pipe copy data into. $PATH will be
272 scanned, this is not passed to a shell and must be an exe‐
273 cutable. Default is wl-copy.
274
275 single_click=BOOL
276 Specifies whether or not actions should be executed on a single
277 click or a double click. Default is false.
278
279
281 Any GTK widget can be selected by using the name of its CSS node, these
282 however might change with updates and are not guaranteed to stay con‐
283 stant. Wofi also provides certain widgets with names and classes which
284 can be referenced from CSS to give access to the most important widgets
285 easily. wofi(7) contains the current widget layout used by wofi so if
286 you want to get into CSS directly using GTK widget names look there for
287 info.
288
289
290 #window
291 The name of the window itself.
292
293 #outer-box
294 The name of the box that contains everything.
295
296 #input
297 The name of the search bar.
298
299 #scroll
300 The name of the scrolled window containing all of the entries.
301
302 #inner-box
303 The name of the box containing all of the entries.
304
305 #img
306 The name of all images in entries displayed in image mode.
307
308 #text
309 The name of all the text in entries.
310
311 #unselected
312 The name of all entries currently unselected. A better way of
313 doing this is to do #entry and combine that with #entry:selected
314
315 #selected
316 The name of all entries currently selected. A better way of do‐
317 ing this is to do #entry:selected
318
319 .entry
320 The class attached to all entries. This is attached to the in‐
321 side property box and is old, you probably want #entry instead
322
323 #entry
324 The name of all entries.
325
326
328 The colors file should be formatted as new line separated hex values.
329 These values should be in the standard HTML format and begin with a
330 hash. These colors will be loaded however wofi doesn't know what color
331 should be used for what so you must reference them from your CSS.
332
333 You can reference these from your CSS by doing --wofi-color<n> where
334 <n> is the line number - 1. For example to reference the color on line
335 1 you would do --wofi-color0.
336
337 The colors can also be referenced by doing --wofi-rgb-color<n> where
338 <n> is the line number - 1. The difference between these is the format
339 used to replace the macro.
340
341 --wofi-color<n> is replaced with an HTML color code in the format
342 #FFFFFF. --wofi-rgb-color<n> is replaced with comma separated rgb val‐
343 ues in the format 255, 255, 255. The correct usage of
344 --wofi-rgb-color<n> is to wrap it in rgb() or rgba(). Note that it does
345 not return an alpha value so combining it with rgba() should be done
346 like so rgba(--wofi-rgb-color0, 0.8). This would set the color to line
347 1 with an opacity of 80%.
348
349
350
351 wofi(5)