Functionality - bakkeby/dmenu GitHub Wiki

The term Functionality in the context of dmenu refers to special features that can be configured on and off globally.

One way to think of them are as optional features.

Functionalities can be chosen by uncommenting or commenting out options for the functionality variable in config.h:

/* Functionality that is enabled by default, see util.h for options */
static unsigned long functionality = 0
	|Alpha // enables transparency
	|CaseSensitive // makes dmenu case sensitive by default
//	|Centered // dmenu appears in the center of the screen
//	|ColorEmoji // enables color emoji support (removes Xft workaround)
//	|ContinuousOutput // makes dmenu print out selected items immediately rather than at the end
	|FuzzyMatch // allows fuzzy-matching of items in dmenu
//	|HighlightAdjacent // makes dmenu highlight items adjacent to the selected item
//	|Incremental // makes dmenu print out the current text each time a key is pressed
//	|InstantReturn // makes dmenu select an item immediately if there is only one matching option left
//	|Managed // allow dmenu to be managed by window managers (disables override_redirect)
//	|PasswordInput // indicates that the input is a password and should be masked
//	|PrintIndex // makes dmenu print out the 0-based index instead of the matched text itself
//	|PrintInputText // makes dmenu print the input text instead of the selected item
//	|PromptIndent // makes dmenu indent items at the same level as the prompt on multi-line views
//	|RejectNoMatch // makes dmenu reject input if it would result in no matching item
//	|RestrictReturn // disables Shift-Return and Ctrl-Return to restrict dmenu to only output one item
//	|ShowNumbers // makes dmenu display the number of matched and total items in the top right corner
	|Sort // allow dmenu to sort menu items after matching
	|TopBar // dmenu appears at the top of the screen
	|Xresources // makes dmenu read X resources at startup
;

The above represents the default functionality that dmenu will offer, but most if not all of them can be enabled or disabled via command line arguments when executing dmenu.

Here is the list of options:

Functionality Description
Alpha Enables transparency
CaseSensitive Makes dmenu case sensitive by default
Centered Makes dmenu appear in the center of the screen
ColorEmoji Enables color emoji support (removes Xft workaround)
ContinuousOutput Makes dmenu print out selected items immediately rather than at the end
FuzzyMatch Allows fuzzy-matching of items in dmenu
HighlightAdjacent Makes dmenu highlight items adjacent to the selected item
Incremental Makes dmenu print out the current text each time a key is pressed
InstantReturn Makes dmenu select an item immediately if there is only one matching option left
NoInput Disables the input field forcing the user to select options using mouse or keyboard
Managed Allow dmenu to be managed by window managers (disables override_redirect)
PasswordInput Indicates that the input is a password and should be masked
PrintIndex Makes dmenu print out the 0-based index instead of the matched text itself
PrintInputText Makes dmenu print the input text instead of the selected item
PromptIndent Makes dmenu indent items at the same level as the prompt on multi-line views
RejectNoMatch Makes dmenu reject input if it would result in no matching item
RestrictReturn Disables Shift-Return and Ctrl-Return to restrict dmenu to only output one item
ShowNumbers Makes dmenu display the number of matched and total items in the top right corner
Sort Allow dmenu to sort menu items after matching
TopBar Makes dmenu appear at the top of the screen
Xresources Makes dmenu read X resources at startup

Back to Features.

⚠️ **GitHub.com Fallback** ⚠️