1wofi(5)                       File Formats Manual                      wofi(5)
2
3
4

NAME

6       wofi - configuration file and styling
7
8

DESCRIPTION

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

CONFIG OPTIONS

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

CSS SELECTORS

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

COLORS

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)
Impressum