Fuzzel: A great dmenu and rofi alternative for Wayland

Fuzzel: A great dmenu and rofi alternative for Wayland
Different examples of Fuzzel in action

Fuzzel is a versatile app and utility launcher for Wayland. If you are familiar with dmenu and rofi, fuzzel is largely compatible with them.

Screenshots

What's Fuzzel good for?

Besides launching applications, as a dmenu alternative Fuzzel can be used for many utility tasks. These include:

Fuzzel's features

For app launching

  • Fuzzy-find applications from a list and launch them
  • Icon support
  • Remembers frequently launched applications
  • Customize which .desktop files are searched
  • Option to filter apps based on OnlyShowIn and NotShowIn
  • Startup notification support
  • Launch prefix option to customize how apps are launched
  • Display a large icon of current selection if there are only a few matches
  • Option to display executables in $PATH
  • Option to execute the input rather than return an app
  • Support for localized strings

For dmenu mode

  • dmenu mode where newline separated entries are read from STDIN
  • Support for Rofi's protocol to support icons
  • Optional cache with custom path
  • Password mode
  • Prompt-only mode
  • Exact-match option to support multi-stage menus
  • Option to return index of what's selected rather than what's selected
  • Some dmenu option compatibility. Invoking it as dmenu enables dmenu mode
  • Option for null-separated input

For all modes

  • Numerous customizable key bindings, based on Emacs
  • Mouse support
  • Paste support
  • A number of theming options, which can be set in a separate include file
  • fzf-style matching with ability to filter huge lists
  • Optimized for performance
  • Zsh and Fish completions
  • Support for true fractional scaling
  • Wayland native

For details, see man fuzzel and man fuzzel.ini

Here's my Fuzzel config from ~/.config/fuzzel/fuzzel.ini:

dpi-aware=no
icon-theme=Papirus-Dark
width=25
font=Hack:weight=bold:size=36
line-height=50
fields=name,generic,comment,categories,filename,keywords
terminal=foot -e
prompt="❯   "
show-actions=yes
exit-on-keyboard-focus-loss=no

[colors]
background=282a36fa
selection=3d4474fa
border=fffffffa

[border]
radius=20

[dmenu]
exit-immediately-if-empty=yes

Example swayr config for fuzzel

Here's a swayr config from ~/.config/swayr/config.toml that can be used with swayr switch-window. It demonstrates using an emoji in a prompt and also use's Fuzzel's new support for icons in dmenu mode:

[menu]
executable = 'fuzzel'
args = [
    '--dmenu',
     '--prompt=🪟❯ ',
     '--width=100',
     '--font=Hack Nerd Font Mono:style=Bold:size=18',
     '--line-height=28',
]

[format]
window_format = "{app_name:{:<11.11}} “{title:{:<60.60}...}” {id:{:<3.3}} on {workspace_name:{:<13.13}}\u0000icon\u001f{app_icon}"
indent = '    '

Alternatives to Fuzzel

I have another page on Rofi and dmenu alternatives for Wayland:

Rofi alternatives for Wayland: app launcher, window switcher and picker for Linux
Rofi is a popular window switcher, application launcher and dmenu replacement for Linux. dmenu was a tiny text-only utility to display a list of binaries or lines of text and select one. The dmenu design follows the Unix philosophy to “do one thing well”. Simple! Rofi took the idea and

What's new with Fuzzel 1.10

What’s new in Fuzzel 1.10
Fuzzel is a rofi alternative for Wayland. It’s a versatile picker and launcher utility for desktop Linux. The last time I gave an update on Fuzzel was when 1.8 released which compared it to some altenatives. Let’s look at some recent feature additions since then. New --dmenu0 option Perhaps