wofi(1)

NAME
wofi - A rofi inspired launcher for wlroots compositors

SYNOPSIS
wofi [options]

DESCRIPTION
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.

OPTIONS

-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, alacritty, wezterm, foot, termite, 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.

-E, --no-custom-entry
    Only entries will be submitted to modes, never the content of the search box.

-b, --hide-scroll
    Hides the scroll bars.

-M, --matching=MODE
    Specifies the matching mode, it can be either contains, strict-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.

-j, --hide-search
    Hides the search bar.

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

1.  The config file which defaults to /usr/etc/wofi/config, followed by /etc/wofi/config, and then finally $XDG_CONFIG_HOME/wofi/config. These are loaded in order in a layered fashion where each applies on top of the previous.

2.  The CSS file which defaults to /usr/etc/wofi/style.css, followed by /etc/wofi/style.css, and then finally $XDG_CONFIG_HOME/wofi/style.css. These are loaded in order in a layered fashion where each applies on top of the previous.

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.

When manually specified paths are used nothing is loaded from the $XDG_CONFIG_HOME location, however the system wide files are still loaded first.

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