Fuzzel: A great dmenu and rofi alternative for Wayland
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:
- Emoji picker with bemoji
- Password picker, with dmenu-lpass
- TOTP MFA code picker, with yubikey-oath-dmenu
- Clipboard picker, with clipman
- Download picker, with dmenufm
- Network connection picker with networkmanger_dmenu
- Qutebrowser history/bookmark picker with dmenu_qutebrowser
- Picking a window, output, or workspace to switch to with swayr
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
andNotShowIn
- 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:
Comments ()