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, default is 1000.
65
66 height=HEIGHT
67 Specifies the menu height in pixels, default is 400.
68
69 prompt=PROMPT
70 Sets the prompt to be display in the search box, default is the
71 name of the mode.
72
73 xoffset=OFFSET
74 Sets the x offset from the location in pixels, default is 0.
75
76 x=OFFSET
77 Identical to xoffset.
78
79 yoffset=OFFSET
80 Sets the y offset from the location in pixels, default is 0.
81
82 y=OFFSET
83 Identical to yoffset.
84
85 normal_window=BOOL
86 If true runs wofi in a normal window instead of using
87 wlr-layer-shell, default is false.
88
89 allow_images=BOOL
90 If true allows image escape sequences to be processed and ren‐
91 dered, default is false.
92
93 allow_markup=BOOL
94 If true allows pango markup to be processed and rendered,
95 default is false.
96
97 cache_file=PATH
98 Specifies the cache file to load/store cache, default is
99 $XDG_CACHE_HOME/wofi-<mode name> where <mode name> is the name
100 of the mode, if $XDG_CACHE_HOME is not specified ~/.cache is
101 used.
102
103 term=TERM
104 Specifies the term to use when running a program in a terminal.
105 This overrides the default terminal run order which is kitty,
106 termite, gnome-terminal, weston-terminal in that order.
107
108 password=CHARACTER
109 Runs wofi in password mode using the specified character,
110 default is false.
111
112 exec_search=BOOL
113 If true activiating a seach with enter will execute the search
114 not the first result, default is false.
115
116 hide_scroll=BOOL
117 If true hides the scroll bars, default is false.
118
119 matching=MODE
120 Specifies the matching mode, it can be either contains or fuzzy,
121 default is contains.
122
123 insensitive=BOOL
124 If true enables case insensitive search, default is false.
125
126 parse_search=BOOL
127 If true parses out image escapes and pango preventing them from
128 being used for searching, default is false.
129
130 location=LOCATION
131 Specifies the location. See wofi(7) for more information,
132 default is center.
133
134 no_actions=BOOL
135 If true disables multiple actions for modes that support it,
136 default is false.
137
138 lines=LINES
139 Specifies the height in number of lines instead of pixels.
140
141 columns=COLUMNS
142 Specifies the number of columns to display, default is 1.
143
144 sort_order=ORDER
145 Specifies the default sort order. There are currently two
146 orders, default and alphabetical. See wofi(7) for details.
147
148 orientation=ORIENTATION
149 Specifies the orientation, it can be either horizontal or verti‐
150 cal, default is vertical.
151
152 halign=ALIGN
153 Specifies the horizontal align for the entire scrolled area, it
154 can be any of fill, start, end, or center, default is fill.
155
156 content_halign=ALIGN
157 Specifies the horizontal align for the individual entries, it
158 can be any of fill, start, end, or center, default is fill.
159
160 valign=ALIGN
161 Specifies the vertical align for the entire scrolled area, it
162 can be any of fill, start, end, or center, the default is orien‐
163 tation dependent. If vertical then it defaults to start, if hor‐
164 izontal it defaults to center.
165
166 filter_rate=RATE
167 Specifies the rate at which search results are updated in mil‐
168 liseconds, default is 100.
169
170 image_size=SIZE
171 Specifies the size of images in pixels when images are enabled,
172 default is 32.
173
174 key_up=KEY
175 Specifies the key to use in order to move up. Default is Up(Up
176 arrow). See wofi-keys(7) for the key codes.
177
178 key_down=KEY
179 Sepcifies the key to use in order to move down. Default is
180 Down(Down arrow). See wofi-keys(7) for the key codes.
181
182 key_left=KEY
183 Specifies the key to use in order to move left. Default is
184 Left(Left arrow). See wofi-keys(7) for the key codes.
185
186 key_right=KEY
187 Specifies the key to use in order to move right. Default is
188 Right(Right arrow). See wofi-keys(7) for the key codes.
189
190 key_forward=KEY
191 Specifies the key to use in order to move forward. Default is
192 Tab. See wofi-keys(7) for the key codes.
193
194 key_backward=KEY
195 Specifies the key to use in order to move backward. Default is
196 ISO_Left_Tab(Shift+Tab). See wofi-keys(7) for the key codes.
197
198 key_submit=KEY
199 Specifies the key to use in order to submit an action. Default
200 is Return. See wofi-keys(7) for the key codes.
201
202 key_exit=KEY
203 Specifies the key to use in order to exit wofi. Default is
204 Escape. See wofi-keys(7) for the key codes.
205
206 line_wrap=MODE
207 Specifies the line wrap mode to use. The options are off, word,
208 char, and word_char. Default is off.
209
210 global_coords=BOOL
211 Specifies whether x and y offsets should be calculated using the
212 global compositor space instead of the current monitor. Default
213 is false. This does not play well with locations and using it
214 with them is not advised.
215
216 hide_search=BOOL
217 Specifies whether the search bar should be hidden. Default is
218 false.
219
220
222 Any GTK widget can be selected by using the name of its CSS node, these
223 however might change with updates and are not guarenteed to stay con‐
224 stant. Wofi also provides certain widgets with names and classes which
225 can be referenced from CSS to give access to the most important widgets
226 easily. wofi(7) contains the current widget layout used by wofi so if
227 you want to get into CSS directly using GTK widget names look there for
228 info.
229
230
231 #window
232 The name of the window itself.
233
234 #outer-box
235 The name of the box that contains everything.
236
237 #input
238 The name of the search bar.
239
240 #scroll
241 The name of the scrolled window containing all of the entries.
242
243 #inner-box
244 The name of the box containing all of the entries.
245
246 #img
247 The name of all images in entries displayed in image mode.
248
249 #text
250 The name of all the text in entries.
251
252 #unselected
253 The name of all entries currently unselected. A better way of
254 doing this is to do #entry and combine that with #entry:selected
255
256 #selected
257 The name of all entries currently selected. A better way of
258 doing this is to do #entry:selected
259
260 .entry
261 The class attached to all entries. This is attached to the
262 inside property box and is old, you probably want #entry instead
263
264 #entry
265 The name of all entries.
266
267
269 The colors file should be formatted as new line separated hex values.
270 These values should be in the standard HTML format and begin with a
271 hash. These colors will be loaded however wofi doesn't know what color
272 should be used for what so you must reference them from your CSS.
273
274 You can reference these from your CSS by doing --wofi-color<n> where
275 <n> is the line number - 1. For example to reference the color on line
276 1 you would do --wofi-color0.
277
278 The colors can also be referenced by doing --wofi-rgb-color<n> where
279 <n> is the line number - 1. The difference between these is the format
280 used to replace the macro.
281
282 --wofi-color<n> is replaced with an HTML color code in the format
283 #FFFFFF. --wofi-rgb-color<n> is replaced with comma separated rgb val‐
284 ues in the format 255, 255, 255. The correct usage of
285 --wofi-rgb-color<n> is to wrap it in rgb() or rgba(). Note that it does
286 not return an alpha value so combining it with rgba() should be done
287 like so rgba(--wofi-rgb-color0, 0.8). This would set the color to line
288 1 with an opacity of 80%.
289
290
291
292 wofi(5)