include
Absolute path to configuration file to import.
The import file has its own section scope. I.e. the including
configuration is still in the default section after the include, regardless
of which section the included file ends in.
- The path must be an absolute path, or start with ~/.
- Multiple include directives are allowed, but only one path per
directive.
- Nested imports are allowed.
Default: not set.
output
Output (monitor) to display on. You can list the
available outputs with
wlr-randr or with Sway using
swaymsg -t
get_outputs.
Example: DP-1
Default: Not set-- let the compositor choose output.
font
Comma separated list of fonts to use, in fontconfig
format. That is, a font name followed by a list of colon-separated options.
Most noteworthy is
:size=n, which is used to set the font size. Note
that the font size is also affected by the
dpi-aware option.
Examples:
- Dina:weight=bold:slant=italic
- Courier New:size=12
- Fantasque Sans Mono:fontfeatures=ss01
Default: monospace.
use-bold
Boolean. When set, fuzzel may use bold fonts. For
example, for the currently selected item. Default: no
dpi-aware
auto,
yes, or
no.
When set to yes, fonts are sized using the monitor's DPI,
making a font of a given size have the same physical size, regardless of
monitor.
In this mode, the monitor's scaling factor is ignored; doubling
the scaling factor will not double the font size.
When set to no, the monitor's DPI is ignored. The font is
instead sized using the monitor's scaling factor; doubling the scaling
factor does double the font size.
Finally, if set to auto, fonts will be sized using the
monitor's DPI if all monitors have a scaling factor of 1. If at least
one monitor as a scaling factor larger than 1 (regardless of whether the
fuzzel window is mapped on that monitor or not), fonts will be scaled using
the scaling factor.
Note that this option typically does not work with bitmap fonts,
which only contains a pre-defined set of sizes, and cannot be dynamically
scaled. Whichever size (of the available ones) that best matches the DPI or
scaling factor, will be used.
Also note that if the font size has been specified in pixels
(:pixelsize=N, instead of :size=N), DPI scaling
(dpi-aware=yes) will have no effect (the specified pixel size will be
used as is). But, if the monitor's scaling factor is used to size the font
(dpi-aware=no), the font's pixel size will be multiplied with the
scaling factor.
Default: auto.
placeholder
Text to display as placeholder in the input box. Default:
empty.
prompt
String to use as input prompt. Note that trailing spaces
are trimmed, unless the string is quoted. Default: ">
".
icon-theme
Icon theme. Note that the name is case sensitive.
Default: hicolor.
icons-enabled
Boolean. When enabled, application icons (from the
selected icon-theme) will be rendered. Default: yes.
hide-before-typing
Boolean. When enabled, application list will be hidden
until the first letter is typed. When the prompt is cleared again, the list
will appear. Default: no.
fields
Comma separated list of XDG Desktop entry fields to match
against.
Even though fuzzel only displays the application names, matching
can (and by default is) be done against other fields as well. Supported
fields are:
- filename
- name
- generic
- exec
- categories
- keywords
- comment
"filename" is the ".desktop" file name.
Default: filename,name,generic.
password-character
Default character to use with the command line option
--password. Note that this can be overridden on the command line, by
explicitly specifying the character with --password=X. Default:
*.
match-mode
One of
exact,
fzf and
fuzzy.
exact: what you type is matched exactly against each field
in the fields list.
fzf: fzf-style matching, where substrings from what you
have typed are matched against each field in the fields list.
fuzzy: levenshtein-based fuzzy matching of what you have
typed against each field in the fields list.
Default: fzf
sort-result
Boolean. Whether to sort the result or not. Disabling
sorting means no comparisons will be made between match results. I.e. launch
count, match length, etc will be ignored. This effectively disables the cache
(though, the cache is still updated on exit).
This can improve search latency when searching very large data
sets.
Default: yes
match-counter
Boolean. When enabled, the match count and total count is
displayed on the right-hand side of the input prompt. Disabling the counter
also improves performance when loading a very large number of dmenu entries
from STDIN.
Default: no.
filter-desktop
Boolean. Filter desktop files based on the value of
XDG_CURRENT_DESKTOP.
show-actions
Boolean. Some desktop files define "actions",
in addition to the application itself. Examples are "new window",
"preferences", etc. When this option is enabled, those actions will
be listed by fuzzel. Default: no.
terminal
terminal command to use when launching 'terminal'
programs, e.g. "xterm -e". Default: $TERMINAL -e.
list-executables-in-path
Boolean. When enabled, the list will include executables
from the PATH environment variable. Default: no.
launch-prefix
Prefix to add before argv of executed program. If set,
fuzzel will pass the Desktop File ID of the chosen application (see the
Desktop Entry specification) in the FUZZEL_DESKTOP_FILE_ID environment
variables. Default: not set.
anchor
Set window anchor, i.e. where on screen the window will
be displayed. You can choose one from:
- top-left
- top
- top-right
- left
- center
- right
- bottom-left
- bottom
- bottom-right
Default: center
x-margin
Horizontal margin away from the anchor point in pixels.
Default:
0.
Note: this option has no effect when anchor=center, top or
bottom.
y-margin
Vertical margin away from the anchor point in pixels.
Default:
0.
Note: this option has no effect when anchor=center, left or
right.
lines
Number of matches to show. Default: 15.
width
Window width, in characters. Border and margins are not
included in this. Default: 30.
tabs
Number of spaces a tab is expanded to. Default:
8.
horizontal-pad
Horizontal padding, in pixels, between border and
content. Default: 40.
vertical-pad
Vertical padding, in pixels, between border and content.
Default: 8.
inner-pad
Vertical padding between prompt and match list, in
pixels. Default: 0.
image-size-ratio
The ratio of the large image displayed when there are
only a "few" matches, compared to the full window size. Set to 1 to
disable the the large images. Default: 0.5.
line-height
Override line height from font metrics. Default: use font
metrics.
letter-spacing
Additional letter spacing. Negative values are allowed.
Default: 0.
layer
Which layer to render the fuzzel window on. Valid values
are
top and
overlay.
top renders above normal windows, but typically below
fullscreen windows and lock screens.
overlay renders on top of both normal windows and
fullscreen windows. Note that the order is undefined if several windows use
the same layer. Since e.g. lock screens typically use overlay, that
means fuzzel may or may not appear on top of a lock screen.
Default: overlay
keyboard-focus
Keyboard focusing mode, valid modes are
exclusive
and
on-demand.
exclusive locks keyboard focus to fuzzel, receiving all
keyboard input until closed.
on-demand makes fuzzel focus like a regular window,
allowing other windows to take keyboard focus by e.g. clicking on them. By
default switching keyboard focus will immediately close fuzzel, using
exit-on-keyboard-focus-loss=no allows interacting with other windows
while fuzzel is open.
Default: exclusive
exit-on-keyboard-focus-loss
Boolean. If true, exit when the fuzzel window loses
keyboard focus.
Setting this to false can be useful on compositors where enabling
"focus-follows-mouse" causes fuzzel to exit as soon as the mouse
is moved over another window. Sway (<= 1.7) exhibits this behavior, for
example.
Default: yes
render-workers
Number of threads to use for rendering. Set to 0 to
disable multithreading. Default: the number of available logical CPUs
(including SMT). Note that this is not always the best value. In some cases,
the number of physical cores is better.
match-workers
Number of threads to use for matching. Set to 0 to
disable multithreading. Default: the number of available logical CPUs
(including SMT). Note that this is not always the best value. In some cases,
the number of physical cores is better.
delayed-filter-ms
Time, in milliseconds, to delay refiltering when there
are more matches than delayed-filter-limit. Default: 300.
delayed-filter-limit
When there are more matches than this, switch from
immediate refiltering to delayed refiltering (see delayed-filter-ms).
Default: 20000.
cache
Specify the default cache location. If unset,
$XDG_CACHE_HOME/fuzzel will be used. Set to /dev/null to disable
caching. Default: not set.
This section lets you override the default key bindings.
The general format is action=combo1...comboN. That is, each
action may have one or more key combinations, space separated. Each
combination is in the form mod1+mod2+key. The names of the modifiers
and the key must be valid XKB key names.
Note that if Shift is one of the modifiers, the key
must not be in upper case. For example, Control+Shift+V will
never trigger, but Control+Shift+v will.
Note that Alt is usually called Mod1.
xkbcli interactive-wayland can be useful for finding keysym
names.
A key combination can only be mapped to one action. Lets
say you want to bind Control+k to next. Since this is the
default shortcut for delete-line-forward, you must unmap the default
binding. This can be done by setting action=none; e.g.
delete-line-forward=none.
cancel
Quit fuzzel without executing anything. Default:
Control+g Control+c Control+bracketleft Escape.
execute
Execute the currently selected entry. Or, in dmenu mode,
print the selected entry on stdout. Default: Return KP_Enter
Control+y.
execute-or-next
If there is a single match, execute it. Or, in dmenu
mode, print the selected entry on stdout. If there are more than one match,
select the next entry. Wraps around when the last entry has been reached.
Default: Tab.
execute-input
Execute the raw input as is, regardless of whether it
matches anything in the list or not. In dmenu mode, prints the selected entry
on stdout instead. Default: Shift+Return Shift+KP_Enter.
cursor-left
Moves the cursor one character to the left.
Default: Left Control+b.
cursor-left-word
Moves the cursor one word to the left.
Default: Control+Left Mod1+b.
cursor-right
Moves the cursor one character to the
right. Default: Right Control+f.
cursor-right-word
Moves the cursor one word to the right.
Default: Control+Right Mod1+f.
cursor-home
Moves the cursor to the beginning of the input. Default:
Home Control+a.
cursor-end
Moves the cursor to the end of the input. Default:
End Control+e.
delete-input
There is no standalone binding to clear the input. Use
Control+a to go into the beginning of the input, followed the
delete-line-forward binding. By default, Control+k.
delete-line-backward
Deletes everything before the cursor. Default:
Control+u.
delete-line-forward
Deletes everything after the cursor. Default:
Control+k.
delete-prev
Deletes the character before the cursor.
Default: BackSpace Control+h.
delete-prev-word
Deletes the word before the cursor.
Default: Mod1+BackSpace Control+BackSpace Control+w.
delete-next
Deletes the character after the cursor.
Default: Delete.
delete-next-word
Deletes the word after the cursor. Default:
Mod1+d Control+Delete.
insert-selected
Copies the selected entry to the prompt, replacing the
current prompt. In application mode, the Exec line is inserted, and in
dmenu mode the entry itself is used. Default: Control+Tab.
expunge
Removes the currently selected entry from the cache (of
most commonly launched applications). Default: Shift+Delete.
clipboard-paste
Pastes from the clipbard. Default:
Control+v XF86Paste.
primary-paste
Pastes from the primary selection. This action is
also bound to the middle mouse button (this is currently not configurable).
Default: Shift+Insert Shift+KP_Insert.
prev
Select the previous entry. Does not wrap around
when the first entry has been reached. Default: Up Control+p.
prev-with-wrap
Select the previous entry. Wraps around when the first
entry has been reached. Default: ISO_Left_Tap. (Shift+Tab)
prev-page
Switch to the previous page. Default: PageUp
KP_PageUp.
next
Select the next entry. Does not wrap around when
the last entry has been reached. Default: Down Control+n.
next-with-wrap
Select the next entry. Wraps around when the last entry
has been reached. Default: unbound.
next-page
Switch to the next page. Default: Page_Down
KP_Page_Down.
first
Select the first entry, on the first page. Default:
Control+Home.
last
Select the last entry, on the last page. Default:
Control+End.
custom-1, custom-2, ..., custom-19
Execute the currently selected entry, then exit with a
non-zero exit code.
custom-1 exits with exit code 10,
custom-2
with 11,
custom-3 with 12, and so on.
Default:
- custom-1: Mod1+1
- custom-2: Mod1+2
- custom-3: Mod1+3
- custom-4: Mod1+4
- custom-5: Mod1+5
- custom-6: Mod1+6
- custom-7: Mod1+7
- custom-8: Mod1+8
- custom-9: Mod1+9
- custom-10: Mod1+10
- custom-11: Mod1+11
- custom-12: Mod1+12
- custom-13: Mod1+13
- custom-14: Mod1+14
- custom-15: Mod1+15
- custom-16: Mod1+16
- custom-17: Mod1+17
- custom-18: Mod1+18
- custom-19: Mod1+19