fuzzel
Launch applications using a fuzzy finder
TLDR
Run applications
Run fuzzel in dmenu mode
Display a menu of the output of the ls command
Display a menu with custom items separated by a new line (\n)
Let the user choose between multiple items and save the selected one to a file
Reset apps usage count (default cache directory: $XDG_CACHE_HOME/fuzzel)
Launch fuzzel on a specific monitor, see wlr-randr or swaymsg --type get_outputs
Use fuzzel to do an online search
SYNOPSIS
command_that_generates_list | fuzzel [OPTIONS]
PARAMETERS
--font <font>
Specifies the font and size to be used for displaying text in the menu, e.g., 'sans-serif 10'.
--width <width>
Sets the width of the fuzzel window, either in pixels or as a percentage of the screen width.
--lines <lines>
Determines the maximum number of visible lines displayed in the menu before scrolling is required.
--prompt <prompt>
Sets the text string displayed as a prompt at the beginning of the input field.
--background <color>
Defines the background color of the fuzzel window. Colors can be specified in hexadecimal (e.g., #RRGGBB).
--text-color <color>
Sets the default color for the text displayed in the menu entries.
--selection-color <color>
Specifies the background color of the currently highlighted or selected entry.
--selection-text-color <color>
Sets the text color for the currently highlighted or selected entry.
--border-color <color>
Defines the color of the border surrounding the fuzzel window.
--border-width <width>
Sets the width of the window border in pixels.
--dmenu
Enables dmenu compatibility mode, adjusting behavior for scripts expecting dmenu-like interaction.
DESCRIPTION
fuzzel is a lightweight and highly efficient application launcher specifically designed for Wayland compositors. It functions similarly to traditional X11 utilities like dmenu, by reading lines from standard input, presenting them in a searchable list, and outputting the user's selected line to standard output.
It is renowned for its speed, minimal resource usage, and seamless integration with Wayland environments. fuzzel focuses on core functionality, offering fuzzy matching for quick filtering of entries and a simple, command-line driven configuration approach. This design philosophy makes it an ideal choice for users seeking a straightforward, responsive, and native Wayland application menu without extensive feature bloat.
CAVEATS
fuzzel is primarily designed for Wayland compositors and might not function optimally or at all in X11 environments without a Wayland compatibility layer. Its configuration is heavily reliant on command-line arguments, offering less flexibility through dedicated configuration files compared to some other launchers.
INPUT AND OUTPUT
fuzzel typically receives its list of selectable entries via standard input (stdin). For example, a list of applications can be piped to it using commands like `ls /usr/bin/ | fuzzel`. Upon selection, the chosen entry is printed to standard output (stdout), allowing for seamless integration into shell scripts or other command chains.
HISTORY
fuzzel emerged to address the need for a fast, minimal, and native application launcher for the burgeoning Wayland ecosystem. While dmenu served as an inspiration for its core functionality, fuzzel was developed from the ground up to integrate seamlessly with Wayland compositors, aiming for low latency and a dependency footprint suitable for modern Linux desktop environments. Its development focuses on performance and Wayland-specific features, making it a popular choice for users of sway and other wlroots-based compositors.