wofi - Man Page

A rofi inspired launcher for wlroots compositors


wofi [options]


wofi is a rofi inspired menu program for wlroots compositors such as sway. It is intended to be highly customizable and flexible with the help of CSS styling and a dmenu mode that allows for endless scriptability. Wofi can be run cacheless in dmenu mode automatically by invoking it as dmenu with symlink.

Wofi was designed specifically for wlroots and makes use of the wlr-layer-shell protocol. If your compositor does not support this protocol or if you are in a non-wayland environment then wofi must be run with --normal-window or it will crash. If you wish to run wofi this way you can also place normal_window=true in your config file to avoid specifying the option on the command line.


-h,  --help

Prints the help message and then exits.

-f,  --fork

Forks the menu so the terminal running it can be closed.

-c,  --conf=PATH

Specifies the config file to use.

-s,  --style=PATH

Specifies the CSS file to use as the stylesheet.

-C,  --color=PATH

Specifies the colors file to use.

-d,  --dmenu

Runs wofi in dmenu mode.

-S,  --show=MODE

Specifies the mode to run in. A list of modes can be found in wofi(7).

-W,  --width=WIDTH

Specifies the menu width in pixels or percent of screen size, default is 50%. Pixels are used unless the number ends with a %.

-H,  --height=HEIGHT

Specifies the menu height in pixels or percent of screen size, default is 40%. Pixels are used unless the number ends with a %.

-p,  --prompt=PROMPT

Sets the prompt to be display in the search box, default is the name of the mode.

-x,  --xoffset=OFFSET

Sets the x offset from the location in pixels, default is 0.

-y,  --yoffset=OFFSET

Sets the y offset from the location in pixels, default is 0.

-n,  --normal-window

Runs wofi in a normal window instead of using wlr-layer-shell.

-I,  --allow-images

Allows image escape sequences to be processed and rendered.

-m,  --allow-markup

Allows pango markup to be processed and rendered.

-k,  --cache-file=PATH

Specifies the cache file to load/store cache, default is $XDG_CACHE_HOME/wofi-<mode name> where <mode name> is the name of the mode, if $XDG_CACHE_HOME is not specified ~/.cache is used.

-t,  --term=TERM

Specifies the term to use when running a program in a terminal. This overrides the default terminal run order which is kitty, termite, alacritty, foot, gnome-terminal, weston-terminal in that order.

-P,  --password [character]

Runs wofi in password mode with an optional password character to use. If no character is specified * is used by default.

-e,  --exec-search

Activiating a search with enter will execute the search not the first result.

-b,  --hide-scroll

Hides the scroll bars.

-M,  --matching=MODE

Specifies the matching mode, it can be either contains, multi-contains, or fuzzy, default is contains.

-i,  --insensitive

Enables case insensitive search.

-q,  --parse-search

Parses out image escapes and pango preventing them from being used for searching.

-v,  --version

Prints the version and then exits.

-l,  --location=LOCATION

Specifies the location. See wofi(7) for more information, default is center.

-a,  --no-actions

Disables multiple actions for modes that support it.

-D,  --define=KEY=VALUE

Sets a config option

-L,  --lines=LINES

Specifies the height in number of lines instead of pixels.

-w,  --columns=COLUMNS

Specifies the number of columns to display, default is 1.

-O,  --sort-order=ORDER

Specifies the default sort order. There are currently two orders, default and alphabetical. See wofi(7) for details.

-G,  --gtk-dark

Instructs wofi to use the dark variant of the current GTK theme, if available.

-Q,  --search

Specifies something to search for immediately on opening

-o,  --monitor

Sets the monitor to open on

-r,  --pre-display-cmd

If set, the selectable entry won't be displayed as-is, but will instead be displayed based on the output of this command, which can be anything. Suggested to use with "echo %s | some_cmd" or "some_cmd %s", as the string gets replaced in a printf-like fashion. This will not affect the output of wofi once a selection has been done, allowing you to display something else than the original output.


Wofi has 3 main files used for configuration. All files are completely optional.

  1. The config file which defaults to $XDG_CONFIG_HOME/wofi/config.
  2. The CSS file which defaults to $XDG_CONFIG_HOME/wofi/style.css.
  3. The colors file which defaults to the pywal cache $XDG_CACHE_HOME/wal/colors.

All 3 of these paths can be manually specified using the respective command line flag. In the case of the last 2 they can additionally be specified in the config file.

In the event $XDG_CONFIG_HOME is not specified it defaults to ~/.config likewise if $XDG_CACHE_HOME is not specified it defaults to ~/.cache.

Information about the formats for these files can be found in wofi(5).

Referenced By