font = "JetBrainsMono Nerd Font Mono" font-size = 14 # font-features = "smcp, c2sc" (all small caps) # font-features = "liga 0" (disable ligatures) font-features = "" # font-variations = "wght 900" (Extra bold) # font-variations = "wdth 25, slnt -10" (Narrow and slanted) font-variations = "" hint-font = true # ### Text theming # text-color = #FFFFFF # All pieces of text have the same theming attributes available: # # *-color # Foreground color # # *-background # Background color # # *-background-padding # Background padding in pixels (comma-delimited, CSS-style list). # See "DIRECTIONAL VALUES" under `man 5 tofi` for more info. # # *-background-corner-radius # Radius of background box corners in pixels # Prompt text theme # prompt-color = #FFFFFF prompt-background = #00000000 prompt-background-padding = 0 prompt-background-corner-radius = 0 # Placeholder text theme placeholder-color = #FFFFFFA8 placeholder-background = #00000000 placeholder-background-padding = 0 placeholder-background-corner-radius = 0 # Input text theme # input-color = #FFFFFF input-background = #00000000 input-background-padding = 0 input-background-corner-radius = 0 # Default result text theme # default-result-color = #FFFFFF default-result-background = #00000000 default-result-background-padding = 0 default-result-background-corner-radius = 0 # Alternate (even-numbered) result text theme # # If unspecified, these all default to the corresponding # default-result-* attribute. # # alternate-result-color = #FFFFFF # alternate-result-background = #00000000 # alternate-result-background-padding = 0 # alternate-result-background-corner-radius = 0 # Selection text selection-color = #31C1ED selection-background = #00000000 selection-background-padding = 0 selection-background-corner-radius = 0 # Matching portion of selection text selection-match-color = #0000FFFF # ### Text cursor theme # # Style of the optional text cursor. # # Supported values: bar, block, underscore # Color of the text cursor # # If unspecified, defaults to the same as input-color # text-cursor-color = #FFFFFF # Color of text behind the text cursor when text-cursor-style = block # # If unspecified, defaults to the same as background-color # text-cursor-background = #000000 # ### Text layout # # Prompt to display. prompt-text = "run: " # Extra horizontal padding between prompt and input. prompt-padding = 0 # Placeholder input text. placeholder-text = "" # Maximum number of results to display. # If 0, tofi will draw as many results as it can fit in the window. num-results = 0 # Spacing between results in pixels. Can be negative. result-spacing = 15 # List results horizontally. horizontal = true # Minimum width of input in horizontal mode. min-input-width = 120 # ### Window theming # # Width and height of the window. Can be pixels or a percentage. width = 1828 height = 40 # Window background color background-color = #1B1D1E # Width of the border outlines in pixels. outline-width = 2 # Border outline color outline-color = #080800 # Width of the border in pixels. border-width = 2 # Border color border-color = #31C1ED # Radius of window corners in pixels. corner-radius = 0 # Padding between borders and text. Can be pixels or a percentage. padding-top = 1 padding-bottom = 1 padding-left = 1 padding-right = 1 # Whether to clip text drawing to be within the specified padding. This # is mostly important for allowing text to be inset from the border, # while still allowing text backgrounds to reach right to the edge. clip-to-padding = true # Whether to scale the window by the output's scale factor. scale = true # ### Window positioning # # The name of the output to appear on. An empty string will use the # default output chosen by the compositor. output = "" # Location on screen to anchor the window to. # # Supported values: top-left, top, top-right, right, bottom-right, # bottom, bottom-left, left, center. anchor = top # Set the size of the exclusive zone. # # A value of -1 means ignore exclusive zones completely. # A value of 0 will move tofi out of the way of other windows' zones. # A value greater than 0 will set that much space as an exclusive zone. # # Values greater than 0 are only meaningful when tofi is anchored to a # single edge. exclusive-zone = -1 # Window offset from edge of screen. Only has an effect when anchored # to the relevant edge. Can be pixels or a percentage. margin-top = 0 margin-bottom = 0 margin-left = 0 margin-right = 0 # ### Behaviour # # Hide the mouse cursor. hide-cursor = false # Sort results by number of usages in run and drun modes. history = true # Specify an alternate file to read and store history information # from / to. This shouldn't normally be needed, and is intended to # facilitate the creation of custom modes. # history-file = /path/to/histfile # Use fuzzy matching for searches. fuzzy-match = true # If true, require a match to allow a selection to be made. If false, # making a selection with no matches will print input to stdout. # In drun mode, this is always true. require-match = true # If true, typed input will be hidden, and what is displayed (if # anything) is determined by the hidden-character option. hide-input = false # Replace displayed input characters with a character. If the empty # string is given, input will be completely hidden. # This option only has an effect when hide-input is set to true. hidden-character = "*" # If true, directly launch applications on selection when in drun mode. # Otherwise, just print the command line to stdout. drun-launch = false # The terminal to run terminal programs in when in drun mode. # This option has no effect if drun-launch is set to true. # Defaults to the value of the TERMINAL environment variable. # terminal = foot # Delay keyboard initialisation until after the first draw to screen. # This option is experimental, and will cause tofi to miss keypresses # for a short time after launch. The only reason to use this option is # performance on slow systems. late-keyboard-init = false # If true, allow multiple simultaneous processes. # If false, create a lock file on startup to prevent multiple instances # from running simultaneously. multi-instance = false # Assume input is plain ASCII, and disable some Unicode handling # functions. This is faster, but means e.g. a search for "e" will not # match "é". ascii-input = false # ### Inclusion # # Configs can be split between multiple files, and then included # within each other. # include = /path/to/config