.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "fuzzel.ini" "5" "2025-04-10" .PP .SH NAME fuzzel.\&ini - configuration file for \fBfuzzel\fR(1) .PP .PP .SH DESCRIPTION .PP \fBfuzzel\fR uses the standard \fIunix configuration format\fR, with section based key/value pairs.\& The default section is usually unnamed, i.\&e.\& not prefixed with a \fI[section]\fR.\& However it can also be explicitly named \fI[main]\fR, say if it needs to be reopened after any of the other sections.\& .PP fuzzel will search for a configuration file in the following locations, in this order: .PP .RS 4 .PD 0 .IP \(bu 4 \fBXDG_CONFIG_HOME/fuzzel/fuzzel.\&ini\fR (defaulting to \fB~/.\&config/fuzzel/fuzzel.\&ini\fR if unset) .IP \(bu 4 \fBXDG_CONFIG_DIRS/fuzzel/fuzzel.\&ini\fR (defaulting to \fB/etc/xdg/fuzzel/fuzzel.\&ini\fR if unset) .PD .PP .RE An example configuration file containing all options with their default value commented out will usually be installed to \fB/etc/xdg/fuzzel/fuzzel.\&ini\fR.\& .PP .SH SECTION: main .PP \fBinclude\fR .RS 4 Absolute path to configuration file to import.\& .PP 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.\& .PP .RS 4 .PD 0 .IP \(bu 4 The path must be an absolute path, or start with \fB~/\fR.\& .IP \(bu 4 Multiple include directives are allowed, but only one path per directive.\& .IP \(bu 4 Nested imports are allowed.\& .PD .PP .RE Default: \fInot set\fR.\& .PP .RE \fBoutput\fR .RS 4 Output (monitor) to display on.\& You can list the available outputs with \fBwlr-randr\fR or with Sway using \fBswaymsg -t get_outputs\fR.\& .PP Example: \fIDP-1\fR .PP Default: Not set-- let the compositor choose output.\& .PP .RE \fBfont\fR .RS 4 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 \fB:size=n\fR, which is used to set the font size.\& Note that the font size is also affected by the \fBdpi-aware\fR option.\& .PP Examples: .RS 4 .PD 0 .IP \(bu 4 Dina:weight=bold:slant=italic .IP \(bu 4 Courier New:size=12 .IP \(bu 4 Fantasque Sans Mono:fontfeatures=ss01 .PD .PP .RE Default: \fImonospace\fR.\& .PP .RE \fBuse-bold\fR .RS 4 Boolean.\& When set, fuzzel may use bold fonts.\& For example, for the currently selected item.\& Default: \fIno\fR .PP .RE \fBdpi-aware\fR .RS 4 \fBauto\fR, \fByes\fR, or \fBno\fR.\& .PP When set to \fByes\fR, fonts are sized using the monitor'\&s DPI, making a font of a given size have the same physical size, regardless of monitor.\& .PP In this mode, the monitor'\&s scaling factor is ignored; doubling the scaling factor will \fBnot\fR double the font size.\& .PP When set to \fBno\fR, the monitor'\&s DPI is ignored.\& The font is instead sized using the monitor'\&s scaling factor; doubling the scaling factor \fBdoes\fR double the font size.\& .PP Finally, if set to \fBauto\fR, fonts will be sized using the monitor'\&s DPI if \fIall\fR 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.\& .PP 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.\& .PP Also note that if the font size has been specified in pixels (\fB:pixelsize=\fR\fIN\fR, instead of \fB:size=\fR\fIN\fR), DPI scaling (\fBdpi-aware=yes\fR) 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 (\fBdpi-aware=no\fR), the font'\&s pixel size will be multiplied with the scaling factor.\& .PP Default: \fIauto\fR.\& .PP .RE \fBplaceholder\fR .RS 4 Text to display as placeholder in the input box.\& Default: empty.\& .PP .RE \fBprompt\fR .RS 4 String to use as input prompt.\& Note that trailing spaces are trimmed, unless the string is quoted.\& Default: \fI"> "\fR.\& .PP .RE \fBicon-theme\fR .RS 4 Icon theme.\& Note that the name is case sensitive.\& Default: \fIhicolor\fR.\& .PP .RE \fBicons-enabled\fR .RS 4 Boolean.\& When enabled, application icons (from the selected \fBicon-theme\fR) will be rendered.\& Default: \fIyes\fR.\& .PP .RE \fBhide-before-typing\fR .RS 4 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: \fIno\fR.\& .PP .RE \fBfields\fR .RS 4 Comma separated list of XDG Desktop entry fields to match against.\& .PP Even though fuzzel only displays the application names, matching can (and by default is) be done against other fields as well.\& Supported fields are: .PP .PD 0 .IP \(bu 4 filename .IP \(bu 4 name .IP \(bu 4 generic .IP \(bu 4 exec .IP \(bu 4 categories .IP \(bu 4 keywords .IP \(bu 4 comment .PD .PP "filename" is the ".\&desktop" file name.\& .PP Default: \fIfilename,name,generic\fR.\& .PP .RE \fBpassword-character\fR .RS 4 Default character to use with the command line option \fB--password\fR.\& Note that this can be overridden on the command line, by explicitly specifying the character with \fB--password=X\fR.\& Default: \fI*\fR.\& .PP .RE \fBmatch-mode\fR .RS 4 One of \fBexact\fR, \fBfzf\fR and \fBfuzzy\fR.\& .PP \fBexact\fR: what you type is matched exactly against each field in the \fBfields\fR list.\& .PP \fBfzf\fR: fzf-style matching, where substrings from what you have typed are matched against each field in the \fBfields\fR list.\& .PP \fBfuzzy\fR: levenshtein-based fuzzy matching of what you have typed against each field in the \fBfields\fR list.\& .PP Default: \fIfzf\fR .PP .RE \fBsort-result\fR .RS 4 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).\& .PP This can improve search latency when searching very large data sets.\& .PP Default: \fIyes\fR .PP .RE \fBmatch-counter\fR .RS 4 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.\& .PP Default: \fIno\fR.\& .PP .RE \fBfilter-desktop\fR .RS 4 Boolean.\& Filter desktop files based on the value of XDG_CURRENT_DESKTOP.\& .PP .RE \fBshow-actions\fR .RS 4 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: \fIno\fR.\& .PP .RE \fBterminal\fR .RS 4 terminal command to use when launching '\&terminal'\& programs, e.\&g.\& "xterm -e".\& Default: \fI$TERMINAL -e\fR.\& .PP .RE \fBlist-executables-in-path\fR .RS 4 Boolean.\& When enabled, the list will include executables from the PATH environment variable.\& Default: \fIno\fR.\& .PP .RE \fBlaunch-prefix\fR .RS 4 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: \fInot set\fR.\& .PP .RE \fBanchor\fR .RS 4 Set window anchor, i.\&e.\& where on screen the window will be displayed.\& You can choose one from: .PP .PD 0 .IP \(bu 4 top-left .IP \(bu 4 top .IP \(bu 4 top-right .IP \(bu 4 left .IP \(bu 4 center .IP \(bu 4 right .IP \(bu 4 bottom-left .IP \(bu 4 bottom .IP \(bu 4 bottom-right .PD .PP Default: \fIcenter\fR .PP .RE \fBx-margin\fR .RS 4 Horizontal margin away from the anchor point in pixels.\& Default: \fI0\fR.\& .PP Note: this option has no effect when anchor=center, top or bottom.\& .PP .RE \fBy-margin\fR .RS 4 Vertical margin away from the anchor point in pixels.\& Default: \fI0\fR.\& .PP Note: this option has no effect when anchor=center, left or right.\& .PP .RE \fBlines\fR .RS 4 Number of matches to show.\& Default: \fI15\fR.\& .PP .RE \fBwidth\fR .RS 4 Window width, in characters.\& Border and margins are not included in this.\& Default: \fI30\fR.\& .PP .RE \fBtabs\fR .RS 4 Number of spaces a tab is expanded to.\& Default: \fI8\fR.\& .PP .RE \fBhorizontal-pad\fR .RS 4 Horizontal padding, in pixels, between border and content.\& Default: \fI40\fR.\& .PP .RE \fBvertical-pad\fR .RS 4 Vertical padding, in pixels, between border and content.\& Default: \fI8\fR.\& .PP .RE \fBinner-pad\fR .RS 4 Vertical padding between prompt and match list, in pixels.\& Default: \fI0\fR.\& .PP .RE \fBimage-size-ratio\fR .RS 4 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: \fI0.\&5\fR.\& .PP .RE \fBline-height\fR .RS 4 Override line height from font metrics.\& Default: use font metrics.\& .PP .RE \fBletter-spacing\fR .RS 4 Additional letter spacing.\& Negative values are allowed.\& Default: \fI0\fR.\& .PP .RE \fBlayer\fR .RS 4 Which layer to render the fuzzel window on.\& Valid values are \fBtop\fR and \fBoverlay\fR.\& .PP \fBtop\fR renders above normal windows, but typically below fullscreen windows and lock screens.\& .PP \fBoverlay\fR 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 \fBoverlay\fR, that means fuzzel may or may not appear on top of a lock screen.\& .PP Default: \fIoverlay\fR .PP .RE \fBkeyboard-focus\fR .RS 4 Keyboard focusing mode, valid modes are \fBexclusive\fR and \fBon-demand\fR.\& .PP \fBexclusive\fR locks keyboard focus to fuzzel, receiving all keyboard input until closed.\& .PP \fBon-demand\fR 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 \fBexit-on-keyboard-focus-loss=no\fR allows interacting with other windows while fuzzel is open.\& .PP Default: \fIexclusive\fR .PP .RE \fBexit-on-keyboard-focus-loss\fR .RS 4 Boolean.\& If true, exit when the fuzzel window loses keyboard focus.\& .PP 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.\& .PP Default: \fIyes\fR .PP .RE \fBrender-workers\fR .RS 4 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 \fIcores\fR is better.\& .PP .RE \fBmatch-workers\fR .RS 4 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 \fIcores\fR is better.\& .PP .RE \fBdelayed-filter-ms\fR .RS 4 Time, in milliseconds, to delay refiltering when there are more matches than \fBdelayed-filter-limit\fR.\& Default: \fI300\fR.\& .PP .RE \fBdelayed-filter-limit\fR .RS 4 When there are more matches than this, switch from immediate refiltering to delayed refiltering (see \fBdelayed-filter-ms\fR).\& Default: \fI20000\fR.\& .PP .RE \fBcache\fR .RS 4 Specify the default cache location.\& If unset, \fB$XDG_CACHE_HOME/fuzzel\fR will be used.\& Set to \fB/dev/null\fR to disable caching.\& Default: \fInot set\fR.\& .PP .RE .SH SECTION: colors .PP All color values are in RGBA.\& .PP \fBbackground\fR .RS 4 Background color.\& Default: \fIfdf6e3ff\fR.\& .PP .RE \fBtext\fR .RS 4 Text (foreground) color of unselected entries.\& Default: \fI657b83ff\fR.\& .PP .RE \fBprompt\fR .RS 4 Text (foreground) color of prompt character(s).\& Default: \fI586e75ff\fR.\& .PP .RE \fBplaceholder\fR .RS 4 Text (foreground) color of the placeholder string.\& Default: \fI93a1a1ff\fR.\& .PP .RE \fBinput\fR .RS 4 Text (foreground) color of input string.\& Default: \fI657b83ff\fR.\& .PP .RE \fBmatch\fR .RS 4 Text (foreground) color of the matched substring.\& Default: \fIcb4b16ff\fR.\& .PP .RE \fBselection\fR .RS 4 Background color of the selected entry.\& Default: \fIeee8d5ff\fR.\& .PP .RE \fBselection-text\fR .RS 4 Text (foreground) color of the selected entry.\& Default: \fI586e75ff\fR.\& .PP .RE \fBselection-match\fR .RS 4 Text (foreground) color of the matched substring of the selected entry.\& Default: \fIcb4b16ff\fR.\& .PP .RE \fBcounter\fR=\fIHEX\fR .RS 4 The color of the match count stats printed at the right-hand side of the input prompt.\& See \fBCOLORS\fR.\& Default: \fI93a1a1ff\fR.\& .PP .RE \fBborder\fR .RS 4 Border color.\& Default: \fI002b36ff\fR.\& .PP .PP .RE .SH SECTION: border .PP \fBwidth\fR .RS 4 Width of the border, in pixels.\& Default: \fI1\fR.\& .PP .RE \fBradius\fR .RS 4 Amount of corner "roundness".\& Default: \fI10\fR.\& .PP .RE .SH SECTION: dmenu .PP \fBmode\fR .RS 4 One of \fBtext\fR or \fBindex\fR.\& Determines what fuzzel prints on stdout when an entry is selected: \fBtext\fR prints the entry itself, \fBindex\fR prints the index of the selected entry.\& Index values start at zero for the first entry.\& Default: \fItext\fR.\& .PP .RE \fBexit-immediately-if-empty\fR .RS 4 Boolean.\& If enabled, fuzzel will not run at all (i.\&e.\& it will not open a window, and will not print anything on stdout) if there'\&s nothing on stdin.\& Default: \fIno\fR.\& .PP .PP .RE .SH SECTION: key-bindings .PP This section lets you override the default key bindings.\& .PP The general format is \fIaction=combo1.\&.\&.\&comboN\fR.\& That is, each action may have one or more key combinations, space separated.\& Each combination is in the form \fImod1+mod2+key\fR.\& The names of the modifiers and the key \fBmust\fR be valid XKB key names.\& .PP Note that if \fBShift\fR is one of the modifiers, the \fIkey\fR \fBmust not\fR be in upper case.\& For example, \fBControl+Shift+V\fR will never trigger, but \fBControl+Shift+v\fR will.\& .PP Note that \fBAlt\fR is usually called \fBMod1\fR.\& .PP \fBxkbcli interactive-wayland\fR can be useful for finding keysym names.\& .PP A key combination can only be mapped to \fBone\fR action.\& Lets say you want to bind \fBControl+k\fR to \fBnext\fR.\& Since this is the default shortcut for \fBdelete-line-forward\fR, you must unmap the default binding.\& This can be done by setting \fIaction=none\fR; e.\&g.\& \fBdelete-line-forward=none\fR.\& .PP \fBcancel\fR .RS 4 Quit fuzzel without executing anything.\& Default: \fIControl+g Control+c Control+bracketleft Escape\fR.\& .PP .RE \fBexecute\fR .RS 4 Execute the currently selected entry.\& Or, in dmenu mode, print the selected entry on stdout.\& Default: \fIReturn KP_Enter Control+y\fR.\& .PP .RE \fBexecute-or-next\fR .RS 4 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: \fITab\fR.\& .PP .RE \fBexecute-input\fR .RS 4 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: \fIShift+Return Shift+KP_Enter\fR.\& .PP .RE \fBcursor-left\fR .RS 4 Moves the cursor one \fB\fRcharacter\fB\fR to the left.\& Default: \fILeft Control+b\fR.\& .PP .RE \fBcursor-left-word\fR .RS 4 Moves the cursor one \fB\fRword\fB\fR to the left.\& Default: \fIControl+Left Mod1+b\fR.\& .PP .RE \fBcursor-right\fR .RS 4 Moves the cursor one \fB\fRcharacter\fB\fR to the right.\& Default: \fIRight Control+f\fR.\& .PP .RE \fBcursor-right-word\fR .RS 4 Moves the cursor one \fB\fRword\fB\fR to the right.\& Default: \fIControl+Right Mod1+f\fR.\& .PP .RE \fBcursor-home\fR .RS 4 Moves the cursor to the beginning of the input.\& Default: \fIHome Control+a\fR.\& .PP .RE \fBcursor-end\fR .RS 4 Moves the cursor to the end of the input.\& Default: \fIEnd Control+e\fR.\& .PP .RE \fBdelete-input\fR .RS 4 There is no standalone binding to clear the input.\& Use \fIControl+a\fR to go into the beginning of the input, followed the \fBdelete-line-forward\fR binding.\& By default, \fIControl+k\fR.\& .PP .RE \fBdelete-line-backward\fR .RS 4 Deletes everything before the cursor.\& Default: \fIControl+u\fR.\& .PP .RE \fBdelete-line-forward\fR .RS 4 Deletes everything after the cursor.\& Default: \fIControl+k\fR.\& .PP .RE \fBdelete-prev\fR .RS 4 Deletes the \fB\fRcharacter before\fB\fR the cursor.\& Default: \fIBackSpace Control+h\fR.\& .PP .RE \fBdelete-prev-word\fR .RS 4 Deletes the \fB\fRword before\fB\fR the cursor.\& Default: \fIMod1+BackSpace Control+BackSpace Control+w\fR.\& .PP .RE \fBdelete-next\fR .RS 4 Deletes the \fB\fRcharacter after\fB\fR the cursor.\& Default: \fIDelete\fR.\& .PP .RE \fBdelete-next-word\fR .RS 4 Deletes the \fB\fRword after\fB\fR the cursor.\& Default: \fIMod1+d Control+Delete\fR.\& .PP .RE \fBinsert-selected\fR .RS 4 Copies the selected entry to the prompt, replacing the current prompt.\& In application mode, the \fBExec\fR line is inserted, and in dmenu mode the entry itself is used.\& Default: \fIControl+Tab\fR.\& .PP .RE \fBexpunge\fR .RS 4 Removes the currently selected entry from the cache (of most commonly launched applications).\& Default: \fIShift+Delete\fR.\& .PP .RE \fBclipboard-paste\fR .RS 4 Pastes from the \fIclipbard\fR.\& Default: \fIControl+v\fR \fIXF86Paste\fR.\& .PP .RE \fBprimary-paste\fR .RS 4 Pastes from the \fIprimary selection\fR.\& This action is also bound to the middle mouse button (this is currently not configurable).\& Default: \fIShift+Insert\fR \fIShift+KP_Insert\fR.\& .PP .RE \fBprev\fR .RS 4 Select the previous entry.\& Does \fBnot\fR wrap around when the first entry has been reached.\& Default: \fIUp Control+p\fR.\& .PP .RE \fBprev-with-wrap\fR .RS 4 Select the previous entry.\& Wraps around when the first entry has been reached.\& Default: \fIISO_Left_Tap\fR.\& (Shift+Tab) .PP .RE \fBprev-page\fR .RS 4 Switch to the previous page.\& Default: \fIPageUp KP_PageUp\fR.\& .PP .RE \fBnext\fR .RS 4 Select the next entry.\& Does \fBnot\fR wrap around when the last entry has been reached.\& Default: \fIDown Control+n\fR.\& .PP .RE \fBnext-with-wrap\fR .RS 4 Select the next entry.\& Wraps around when the last entry has been reached.\& Default: \fIunbound\fR.\& .PP .RE \fBnext-page\fR .RS 4 Switch to the next page.\& Default: \fIPage_Down KP_Page_Down\fR.\& .PP .RE \fBfirst\fR .RS 4 Select the first entry, on the first page.\& Default: \fIControl+Home\fR.\& .PP .RE \fBlast\fR .RS 4 Select the last entry, on the last page.\& Default: \fIControl+End\fR.\& .PP .RE \fBcustom-1\fR, \fBcustom-2\fR, .\&.\&.\&, \fBcustom-19\fR .RS 4 Execute the currently selected entry, then exit with a non-zero exit code.\& \fBcustom-1\fR exits with exit code 10, \fBcustom-2\fR with 11, \fBcustom-3\fR with 12, and so on.\& .PP Default: .RS 4 .PD 0 .IP \(bu 4 custom-1: \fIMod1+1\fR .IP \(bu 4 custom-2: \fIMod1+2\fR .IP \(bu 4 custom-3: \fIMod1+3\fR .IP \(bu 4 custom-4: \fIMod1+4\fR .IP \(bu 4 custom-5: \fIMod1+5\fR .IP \(bu 4 custom-6: \fIMod1+6\fR .IP \(bu 4 custom-7: \fIMod1+7\fR .IP \(bu 4 custom-8: \fIMod1+8\fR .IP \(bu 4 custom-9: \fIMod1+9\fR .IP \(bu 4 custom-10: \fIMod1+10\fR .IP \(bu 4 custom-11: \fIMod1+11\fR .IP \(bu 4 custom-12: \fIMod1+12\fR .IP \(bu 4 custom-13: \fIMod1+13\fR .IP \(bu 4 custom-14: \fIMod1+14\fR .IP \(bu 4 custom-15: \fIMod1+15\fR .IP \(bu 4 custom-16: \fIMod1+16\fR .IP \(bu 4 custom-17: \fIMod1+17\fR .IP \(bu 4 custom-18: \fIMod1+18\fR .IP \(bu 4 custom-19: \fIMod1+19\fR .PD .PP .RE .RE .SH SEE ALSO .PP .PD 0 .IP \(bu 4 \fBfuzzel\fR(1) .IP \(bu 4 \fBhttps://specifications.\&freedesktop.\&org/desktop-entry-spec/desktop-entry-spec-latest.\&html\fR .IP \(bu 4 \fBhttps://codeberg.\&org/dnkl/fuzzel\fR