fuzzel.ini(5) | File Formats Manual | fuzzel.ini(5) |
NAME
fuzzel.ini - configuration file for fuzzel(1)
DESCRIPTION
fuzzel uses the standard unix configuration format, with section based key/value pairs. The default section is usually unnamed, i.e. not prefixed with a [section]. However it can also be explicitly named [main], say if it needs to be reopened after any of the other sections.
fuzzel will search for a configuration file in the following locations, in this order:
- XDG_CONFIG_HOME/fuzzel/fuzzel.ini (defaulting to ~/.config/fuzzel/fuzzel.ini if unset)
- XDG_CONFIG_DIRS/fuzzel/fuzzel.ini (defaulting to /etc/xdg/fuzzel/fuzzel.ini if unset)
An example configuration file containing all options with their default value commented out will usually be installed to /etc/xdg/fuzzel/fuzzel.ini.
SECTION: main
include
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
Example: DP-1
Default: Not set-- let the compositor choose output.
font
Examples:
- Dina:weight=bold:slant=italic
- Courier New:size=12
- Fantasque Sans Mono:fontfeatures=ss01
Default: monospace.
use-bold
dpi-aware
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
prompt
icon-theme
icons-enabled
hide-before-typing
fields
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
match-mode
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
This can improve search latency when searching very large data sets.
Default: yes
match-counter
Default: no.
filter-desktop
show-actions
terminal
list-executables-in-path
launch-prefix
anchor
- top-left
- top
- top-right
- left
- center
- right
- bottom-left
- bottom
- bottom-right
Default: center
x-margin
Note: this option has no effect when anchor=center, top or bottom.
y-margin
Note: this option has no effect when anchor=center, left or right.
lines
width
tabs
horizontal-pad
vertical-pad
inner-pad
image-size-ratio
line-height
letter-spacing
layer
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
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
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
match-workers
delayed-filter-ms
delayed-filter-limit
cache
SECTION: colors
All color values are in RGBA.
background
text
prompt
placeholder
input
match
selection
selection-text
selection-match
counter=HEX
border
SECTION: border
width
radius
SECTION: dmenu
mode
exit-immediately-if-empty
SECTION: key-bindings
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
execute
execute-or-next
execute-input
cursor-left
cursor-left-word
cursor-right
cursor-right-word
cursor-home
cursor-end
delete-input
delete-line-backward
delete-line-forward
delete-prev
delete-prev-word
delete-next
delete-next-word
insert-selected
expunge
clipboard-paste
primary-paste
prev
prev-with-wrap
prev-page
next
next-with-wrap
next-page
first
last
custom-1, custom-2, ..., custom-19
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
SEE ALSO
2025-04-10 |