tofi-config (9204B)
1 # Default config for tofi 2 # 3 # Copy this file to ~/.config/tofi/config and get customising! 4 # 5 # A complete reference of available options can be found in `man 5 tofi`. 6 7 # 8 ### Fonts 9 # 10 # Font to use, either a path to a font file or a name. 11 # 12 # If a path is given, tofi will startup much quicker, but any 13 # characters not in the chosen font will fail to render. 14 # 15 # Otherwise, fonts are interpreted in Pango format. 16 font = "LexendDeca-Bold" 17 18 # Point size of text. 19 font-size = 16 20 21 # Comma separated list of OpenType font feature settings to apply, 22 # if supported by the chosen font. The format is similar to the CSS 23 # "font-feature-settings" property. 24 # 25 # Examples: 26 # 27 # font-features = "smcp, c2sc" (all small caps) 28 # font-features = "liga 0" (disable ligatures) 29 font-features = "" 30 31 # Comma separated list of OpenType font variation settings to apply 32 # to variable fonts. The format is similar to the CSS 33 # "font-variation-settings" property. 34 # 35 # Examples: 36 # 37 # font-variations = "wght 900" (Extra bold) 38 # font-variations = "wdth 25, slnt -10" (Narrow and slanted) 39 font-variations = "" 40 41 # Perform font hinting. Only applies when a path to a font has been 42 # specified via `font`. Disabling font hinting speeds up text 43 # rendering appreciably, but will likely look poor at small font pixel 44 # sizes. 45 hint-font = true 46 47 # 48 ### Text theming 49 # 50 # Default text color 51 # 52 # All text defaults to this color if not otherwise specified. 53 text-color = {{foreground}} 54 55 # All pieces of text have the same theming attributes available: 56 # 57 # *-color 58 # Foreground color 59 # 60 # *-background 61 # Background color 62 # 63 # *-background-padding 64 # Background padding in pixels (comma-delimited, CSS-style list). 65 # See "DIRECTIONAL VALUES" under `man 5 tofi` for more info. 66 # 67 # *-background-corner-radius 68 # Radius of background box corners in pixels 69 70 # Prompt text theme 71 # prompt-color = {{foreground}} 72 prompt-background = {{background}} 73 prompt-background-padding = 0 74 prompt-background-corner-radius = 0 75 76 # Placeholder text theme 77 placeholder-color = {{foreground}}A8 78 placeholder-background = #00000000 79 placeholder-background-padding = 0 80 placeholder-background-corner-radius = 0 81 82 # Input text theme 83 # input-color = {{foreground}} 84 input-background = {{background}} 85 input-background-padding = 0 86 input-background-corner-radius = 0 87 88 # Default result text theme 89 # default-result-color = {{foreground}} 90 default-result-background = {{background}} 91 default-result-background-padding = 0 92 default-result-background-corner-radius = 0 93 94 # Alternate (even-numbered) result text theme 95 # 96 # If unspecified, these all default to the corresponding 97 # default-result-* attribute. 98 # 99 # alternate-result-color = #FFFFFF 100 # alternate-result-background = #00000000 101 # alternate-result-background-padding = 0 102 # alternate-result-background-corner-radius = 0 103 104 # Selection text 105 selection-color = {{color2}} 106 selection-background = {{background}} 107 selection-background-padding = 0 108 selection-background-corner-radius = 0 109 110 # Matching portion of selection text 111 selection-match-color = {{background}} 112 113 114 # 115 ### Text cursor theme 116 # 117 # Style of the optional text cursor. 118 # 119 # Supported values: bar, block, underscore 120 text-cursor-style = bar 121 122 # Color of the text cursor 123 # 124 # If unspecified, defaults to the same as input-color 125 # text-cursor-color = #FFFFFF 126 127 # Color of text behind the text cursor when text-cursor-style = block 128 # 129 # If unspecified, defaults to the same as background-color 130 # text-cursor-background = #000000 131 132 # Corner radius of the text cursor 133 text-cursor-corner-radius = 0 134 135 # Thickness of the bar and underscore text cursors. 136 # 137 # If unspecified, defaults to a font-dependent value when 138 # text-cursor-style = underscore, or to 2 otherwise. 139 # text-cursor-thickness = 2 140 141 # 142 ### Text layout 143 # 144 # Prompt to display. 145 prompt-text = "run: " 146 147 # Extra horizontal padding between prompt and input. 148 prompt-padding = 0 149 150 # Placeholder input text. 151 placeholder-text = "" 152 153 # Maximum number of results to display. 154 # If 0, tofi will draw as many results as it can fit in the window. 155 num-results = 0 156 157 # Spacing between results in pixels. Can be negative. 158 result-spacing = 0 159 160 # List results horizontally. 161 horizontal = false 162 163 # Minimum width of input in horizontal mode. 164 min-input-width = 0 165 166 # 167 ### Window theming 168 # 169 # Width and height of the window. Can be pixels or a percentage. 170 width = 1280 171 height = 720 172 173 # Window background color 174 background-color = {{color4}} 175 176 # Width of the border outlines in pixels. 177 outline-width = 4 178 179 # Border outline color 180 outline-color = {{color0}} 181 182 # Width of the border in pixels. 183 border-width = 12 184 185 # Border color 186 border-color = {{color2}} 187 188 # Radius of window corners in pixels. 189 corner-radius = 0 190 191 # Padding between borders and text. Can be pixels or a percentage. 192 padding-top = 8 193 padding-bottom = 8 194 padding-left = 8 195 padding-right = 8 196 197 # Whether to clip text drawing to be within the specified padding. This 198 # is mostly important for allowing text to be inset from the border, 199 # while still allowing text backgrounds to reach right to the edge. 200 clip-to-padding = true 201 202 # Whether to scale the window by the output's scale factor. 203 scale = true 204 205 # 206 ### Window positioning 207 # 208 # The name of the output to appear on. An empty string will use the 209 # default output chosen by the compositor. 210 output = "" 211 212 # Location on screen to anchor the window to. 213 # 214 # Supported values: top-left, top, top-right, right, bottom-right, 215 # bottom, bottom-left, left, center. 216 anchor = center 217 218 # Set the size of the exclusive zone. 219 # 220 # A value of -1 means ignore exclusive zones completely. 221 # A value of 0 will move tofi out of the way of other windows' zones. 222 # A value greater than 0 will set that much space as an exclusive zone. 223 # 224 # Values greater than 0 are only meaningful when tofi is anchored to a 225 # single edge. 226 exclusive-zone = -1 227 228 # Window offset from edge of screen. Only has an effect when anchored 229 # to the relevant edge. Can be pixels or a percentage. 230 margin-top = 0 231 margin-bottom = 0 232 margin-left = 0 233 margin-right = 0 234 235 # 236 ### Behaviour 237 # 238 # Hide the mouse cursor. 239 hide-cursor = false 240 241 # Show a text cursor in the input field. 242 text-cursor = false 243 244 # Sort results by number of usages in run and drun modes. 245 history = true 246 247 # Specify an alternate file to read and store history information 248 # from / to. This shouldn't normally be needed, and is intended to 249 # facilitate the creation of custom modes. 250 # history-file = /path/to/histfile 251 252 # Select the matching algorithm used. If normal, substring matching is 253 # used, weighted to favour matches closer to the beginning of the 254 # string. If prefix, only substrings at the beginning of the string are 255 # matched. If fuzzy, searching is performed via a simple fuzzy matching 256 # algorithm. 257 # 258 # Supported values: normal, prefix, fuzzy 259 matching-algorithm = normal 260 261 # If true, require a match to allow a selection to be made. If false, 262 # making a selection with no matches will print input to stdout. 263 # In drun mode, this is always true. 264 require-match = true 265 266 # If true, automatically accept a result if it is the only one 267 # remaining. If there's only one result on startup, window creation is 268 # skipped altogether. 269 auto-accept-single = false 270 271 # If true, typed input will be hidden, and what is displayed (if 272 # anything) is determined by the hidden-character option. 273 hide-input = false 274 275 # Replace displayed input characters with a character. If the empty 276 # string is given, input will be completely hidden. 277 # This option only has an effect when hide-input is set to true. 278 hidden-character = "*" 279 280 # If true, use physical keys for shortcuts, regardless of the current 281 # keyboard layout. If false, use the current layout's keys. 282 physical-keybindings = true 283 284 # Instead of printing the selected entry, print the 1-based index of 285 # the selection. This option has no effect in run or drun mode. If 286 # require-match is set to false, non-matching input will still result 287 # in the input being printed. 288 print-index = false 289 290 # If true, directly launch applications on selection when in drun mode. 291 # Otherwise, just print the command line to stdout. 292 drun-launch = false 293 294 # The terminal to run terminal programs in when in drun mode. 295 # This option has no effect if drun-launch is set to true. 296 # Defaults to the value of the TERMINAL environment variable. 297 # terminal = foot 298 299 # Delay keyboard initialisation until after the first draw to screen. 300 # This option is experimental, and will cause tofi to miss keypresses 301 # for a short time after launch. The only reason to use this option is 302 # performance on slow systems. 303 late-keyboard-init = false 304 305 # If true, allow multiple simultaneous processes. 306 # If false, create a lock file on startup to prevent multiple instances 307 # from running simultaneously. 308 multi-instance = false 309 310 # Assume input is plain ASCII, and disable some Unicode handling 311 # functions. This is faster, but means e.g. a search for "e" will not 312 # match "é". 313 ascii-input = false 314 315 # 316 ### Inclusion 317 # 318 # Configs can be split between multiple files, and then included 319 # within each other. 320 # include = /path/to/config