Fuzzel, app launcher and fuzzy finder has feature-packed 1.11 release
Fuzzel is a Wayland-native app launcher and fuzzy finder for Linux, inspired by Rofi and dmenu.
The five-year-old Fuzzel project recently had a feature-packed 1.11 release. Here's a visual rundown of what's new.
Instant filtering of huge lists
Fuzzel was already blink-and-you'll-miss-it fast for app launching. A number of optimizations were made so that now Fuzzel performs well even if you give it a massive amount of input– more than 100,000 lines are no problem.
This is the kind task often given to the fzf command-line fuzzy-finder– finding a file within a massive folder structure.
One trick that Fuzzel shares fzf is displaying input content to filter even before all the content has arrived. Rofi has this feature, but most Rofi alternatives for Wayland do not.
Even more minimal? Hide input until you type
We launch the same applications over and over. Many applications that appear in the app picker may a distraction– they flash by while you filtering to match exactly what are looking for. To take the minimal aesthetic one step further Fuzzel has added a new option --hide-before-typing
. This hides the list of items to filer until you start typing. If you combine this feature with a very low line count– one to three– you can have an especially minimal app launcher. See it in action:
Ready to be your password prompter
There are a bunch of different utilities out there to use dmenu or Rofi for password prompting. Fuzzel already supported a —password
mode to hide what typed. In 1.11, Fuzzel also added a --prompt-only
mode as well as a method to disable caching, --cache /dev/null
. Here's dead-simple pinentry password-prompter using Fuzzel. You could give this as a config option for other apps that allow such custom pinentry apps.
#!/bin/sh
echo "OK Please go ahead"
while read stdin; do
case $stdin in
GETPIN | getpin)
echo "D $(fuzzel --prompt-only "Passphrase: " --cache /dev/null --password --dmenu)"
echo "OK"
;;
BYE | bye)
echo "OK closing connection"
exit 0
;;
*)
echo "OK"
;;
esac
done
If you'd like support more features, consider forking pinentry-dmenu to adapt it to Fuzzel.
If you accidentally add something to the cache, there's now Shift+Delete keybinding to remove the current entry.
Some expected features have arrived: mouse support and paste support
Enough said. Mouse support includes selecting entries, exiting with right click and scrolling with the scroll wheel. You can also now paste into search box.
For example, you could type `mpv `, paste in a YouTube URL, press Shift-Enter, and the video player will launch with your URL as an argument.
Pre-filter with --search
The new --search
option allows pre-populating the search box. This servers a couple of use-cases. This is a feature that the Wofi launcher has.
If you wanted to build a short to a particular subset of apps, you could now launch Fuzzel like fuzzel --search settings
to pre-filter to only settings apps.
More theming options
A number of additional options were added to update the look of Fuzzel, including:
- New options
--x-margin
--y-margin
which place the launcher some distance away from the anchor point, in pixels. This allows Fuzzel to float near a window border --prompt-color
andcolors.prompt
, controlling the
text/foreground color of the prompt--input-color
andcolors.input
, controlling the text/foreground
color of the input string- Match count can now printed at the right-hand side of the input
prompt. It is disabled by default, and can be enabled with either
the--counter
command line option, or thematch-counter
setting infuzzel.ini
. If you feeding Fuzzel a large amount of input data, seeing this number change lets you know that data is still arriving. - Placeholder text (for the input box), controlled by the new
--placeholder
,--placeholder-color
command line options, and theplaceholder
andcolors.placeholder
options infuzzel.ini
--counter-color
andcolors.counter
, controlling the color of the match count.- The currently selected entry may now be rendered with a bold
font. It is disabled by default, and can be enabled either via the
new--use-bold
command line option, or by settinguse-bold=yes
, infuzzel.ini
. - There's a new option to not sort results. See
sort-result
option infuzzel.ini
, and--no-sort
command line option.
Some published themes for Fuzzel include Catppuccin and Dracula.
To use a theme, you can add a line like this to the main section of your fuzzel.ini
:
include=~/.config/fuzzel/themes/markstos.ini
Then in a file like ~/.config/fuzzel/themes/your-theme.ini, add anything you would add to your fuzzel.ini
. Here's my personal "markstos" theme file, used on the screencasts above:
prompt="❯ "
icon-theme=Papirus-Dark
width=25
font=Hack:weight=bold:size=36
line-height=50
[colors]
background=282a36fa
selection=3d4474fa
border=fffffffa
[border]
radius=20
Comments ()