wofi(1)

๐Ÿ“ฆ
version 1.5.3 ยท 5 versions
, in alpine 3.24, arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu stonking

๐Ÿ’– wofi(1) โ€” the launcher bestie ๐Ÿ’–

okay so you found the manual page for wofi โ€” a rofi inspired launcher for wlroots compositors โ€” and honestly? she's iconic, she's flexible, she's about to be your whole personality. This is from the General Commands Manual, section 1. Let's get into it ๐Ÿซถ


โœจ SYNOPSIS โœจ

wofi [options]

That's it. That's the whole vibe. Options go in, menu comes out ๐Ÿ’…


๐ŸŒธ DESCRIPTION ๐ŸŒธ

wofi is a rofi inspired menu program for wlroots compositors such as sway. She's designed to be highly customizable and flexible โ€” like, the CSS styling is giving main character energy, and the dmenu mode allows for endless scriptability, no cap. You can even run wofi cacheless in dmenu mode automatically by invoking it as dmenu with a symlink. Obsessed, honestly.

Wofi was designed specifically for wlroots and makes use of the wlr-layer-shell protocol. Now listen bestie, this part is important:

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. So convenient, so slay โœจ


๐ŸŽ€ OPTIONS ๐ŸŽ€

Forty-ish flags, one icon. Let's go ๐Ÿฆ‹

  • -h, --help โ€” Prints the help message and then exits. Bye bestie ๐Ÿ‘‹
  • -f, --fork โ€” Forks the menu so the terminal running it can be closed. Free yourself ๐ŸŒˆ
  • -c, --conf=PATH โ€” Specifies the config file to use.
  • -s, --style=PATH โ€” Specifies the CSS file to use as the stylesheet. Serve looks ๐Ÿ’…
  • -C, --color=PATH โ€” Specifies the colors file to use.
  • -d, --dmenu โ€” Runs wofi in dmenu mode. Scriptability unlocked ๐Ÿ”ฅ
  • -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. Your non-wayland save file ๐Ÿซถ
  • -I, --allow-images โ€” Allows image escape sequences to be processed and rendered. Pictures?? in my launcher?? yes ๐Ÿ’–
  • -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. Sneaky sneaky ๐Ÿ™ˆ
  • -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. Minimalism era โœจ
  • -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. Type however you want, queen ๐Ÿ‘‘
  • -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. Dark mode always ๐Ÿ–ค
  • -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. No pressure bestie, only vibes ๐ŸŒธ

  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. Stacked like a cute little cake ๐ŸŽ‚
  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).


and that's the whole page, bestie ๐Ÿ’œ This was the wofi(1) manual page from the General Commands Manual, section 1 โ€” no cap, you read the whole thing, and honestly? that's iconic behavior. Go style something gorgeous ๐ŸŒˆโœจ๐Ÿ’