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,
97 default 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, gnome-terminal, weston-terminal in that order.
109
110 password=CHARACTER
111 Runs wofi in password mode using the specified character,
112 default is false.
113
114 exec_search=BOOL
115 If true activiating a search with enter will execute the search
116 not the first result, default is false.
117
118 hide_scroll=BOOL
119 If true hides the scroll bars, default is false.
120
121 matching=MODE
122 Specifies the matching mode, it can be either contains or fuzzy,
123 default is contains.
124
125 insensitive=BOOL
126 If true enables case insensitive search, default is false.
127
128 parse_search=BOOL
129 If true parses out image escapes and pango preventing them from
130 being used for searching, default is false.
131
132 location=LOCATION
133 Specifies the location. See wofi(7) for more information,
134 default is center.
135
136 no_actions=BOOL
137 If true disables multiple actions for modes that support it,
138 default is false.
139
140 lines=LINES
141 Specifies the height in number of lines instead of pixels.
142
143 columns=COLUMNS
144 Specifies the number of columns to display, default is 1.
145
146 sort_order=ORDER
147 Specifies the default sort order. There are currently two
148 orders, default and alphabetical. See wofi(7) for details.
149
150 gtk_dark=BOOL
151 If true, instructs wofi to use the dark variant of the current
152 GTK theme (if available). Default is false.
153
154 search=STRING
155 Specifies something to search for immediately on opening
156
157 monitor=STRING
158 Sets the monitor to open on
159
160 orientation=ORIENTATION
161 Specifies the orientation, it can be either horizontal or verti‐
162 cal, default is vertical.
163
164 halign=ALIGN
165 Specifies the horizontal align for the entire scrolled area, it
166 can be any of fill, start, end, or center, default is fill.
167
168 content_halign=ALIGN
169 Specifies the horizontal align for the individual entries, it
170 can be any of fill, start, end, or center, default is fill.
171
172 valign=ALIGN
173 Specifies the vertical align for the entire scrolled area, it
174 can be any of fill, start, end, or center, the default is orien‐
175 tation dependent. If vertical then it defaults to start, if hor‐
176 izontal it defaults to center.
177
178 filter_rate=RATE
179 Specifies the rate at which search results are updated in mil‐
180 liseconds, default is 100.
181
182 image_size=SIZE
183 Specifies the size of images in pixels when images are enabled,
184 default is 32.
185
186 key_up=KEY
187 Specifies the key to use in order to move up. Default is Up(Up
188 arrow). See wofi-keys(7) for the key codes.
189
190 key_down=KEY
191 Specifies the key to use in order to move down. Default is
192 Down(Down arrow). See wofi-keys(7) for the key codes.
193
194 key_left=KEY
195 Specifies the key to use in order to move left. Default is
196 Left(Left arrow). See wofi-keys(7) for the key codes.
197
198 key_right=KEY
199 Specifies the key to use in order to move right. Default is
200 Right(Right arrow). See wofi-keys(7) for the key codes.
201
202 key_forward=KEY
203 Specifies the key to use in order to move forward. Default is
204 Tab. See wofi-keys(7) for the key codes.
205
206 key_backward=KEY
207 Specifies the key to use in order to move backward. Default is
208 ISO_Left_Tab(Shift+Tab). See wofi-keys(7) for the key codes.
209
210 key_submit=KEY
211 Specifies the key to use in order to submit an action. Default
212 is Return. See wofi-keys(7) for the key codes.
213
214 key_exit=KEY
215 Specifies the key to use in order to exit wofi. Default is
216 Escape. See wofi-keys(7) for the key codes.
217
218 key_pgup=KEY
219 Specifies the key to use in order to move one page up. Default
220 is Page_Up. See wofi-keys(7) for the key codes.
221
222 key_pgdn=KEY
223 Specifies the key to use in order to move one page down. Default
224 is Page_Down. See wofi-keys(7) for the key codes.
225
226 key_expand=KEY
227 Specifies the key to use in order to expand/contract multi-
228 action entires. There is no default. See wofi-keys(7) for the
229 key codes.
230
231 key_hide_search=KEY
232 Specifies the key to use in order to hide/show the search bar.
233 There is no default. See wofi-keys(7) for the key codes.
234
235 line_wrap=MODE
236 Specifies the line wrap mode to use. The options are off, word,
237 char, and word_char. Default is off.
238
239 global_coords=BOOL
240 Specifies whether x and y offsets should be calculated using the
241 global compositor space instead of the current monitor. Default
242 is false. This does not play well with locations and using it
243 with them is not advised.
244
245 hide_search=BOOL
246 Specifies whether the search bar should be hidden. Default is
247 false.
248
249 dynamic_lines=BOOL
250 Specifies whether wofi should be dynamically shrunk to fit the
251 number of visible lines or if it should always stay the same
252 size. Default is false.
253
254 layer=LAYER
255 Specifies the layer to open on. The options are background, bot‐
256 tom, top, and overlay. Default is top
257
258
260 Any GTK widget can be selected by using the name of its CSS node, these
261 however might change with updates and are not guaranteed to stay con‐
262 stant. Wofi also provides certain widgets with names and classes which
263 can be referenced from CSS to give access to the most important widgets
264 easily. wofi(7) contains the current widget layout used by wofi so if
265 you want to get into CSS directly using GTK widget names look there for
266 info.
267
268
269 #window
270 The name of the window itself.
271
272 #outer-box
273 The name of the box that contains everything.
274
275 #input
276 The name of the search bar.
277
278 #scroll
279 The name of the scrolled window containing all of the entries.
280
281 #inner-box
282 The name of the box containing all of the entries.
283
284 #img
285 The name of all images in entries displayed in image mode.
286
287 #text
288 The name of all the text in entries.
289
290 #unselected
291 The name of all entries currently unselected. A better way of
292 doing this is to do #entry and combine that with #entry:selected
293
294 #selected
295 The name of all entries currently selected. A better way of
296 doing this is to do #entry:selected
297
298 .entry
299 The class attached to all entries. This is attached to the
300 inside property box and is old, you probably want #entry instead
301
302 #entry
303 The name of all entries.
304
305
307 The colors file should be formatted as new line separated hex values.
308 These values should be in the standard HTML format and begin with a
309 hash. These colors will be loaded however wofi doesn't know what color
310 should be used for what so you must reference them from your CSS.
311
312 You can reference these from your CSS by doing --wofi-color<n> where
313 <n> is the line number - 1. For example to reference the color on line
314 1 you would do --wofi-color0.
315
316 The colors can also be referenced by doing --wofi-rgb-color<n> where
317 <n> is the line number - 1. The difference between these is the format
318 used to replace the macro.
319
320 --wofi-color<n> is replaced with an HTML color code in the format
321 #FFFFFF. --wofi-rgb-color<n> is replaced with comma separated rgb val‐
322 ues in the format 255, 255, 255. The correct usage of
323 --wofi-rgb-color<n> is to wrap it in rgb() or rgba(). Note that it does
324 not return an alpha value so combining it with rgba() should be done
325 like so rgba(--wofi-rgb-color0, 0.8). This would set the color to line
326 1 with an opacity of 80%.
327
328
329
330 wofi(5)