alacritty.yml (18350B)
1 # Configuration for Alacritty, the GPU enhanced terminal emulator. 2 3 # Any items in the `env` entry below will be added as 4 # environment variables. Some entries may override variables 5 # set by alacritty itself. 6 #env: 7 # TERM variable 8 # 9 # This value is used to set the `$TERM` environment variable for 10 # each instance of Alacritty. If it is not present, alacritty will 11 # check the local terminfo database and use 'alacritty' if it is 12 # available, otherwise 'xterm-256color' is used. 13 #TERM: xterm-256color 14 15 window: 16 # Window dimensions (changes require restart) 17 # 18 # Specified in number of columns/lines, not pixels. 19 # If both are `0`, this setting is ignored. 20 dimensions: 21 columns: 80 22 lines: 24 23 24 # Window padding (changes require restart) 25 # 26 # Blank space added around the window in pixels. This padding is scaled 27 # by DPI and the specified value is always added at both opposing sides. 28 padding: 29 x: 2 30 y: 2 31 32 # Spread additional padding evenly around the terminal content. 33 dynamic_padding: false 34 35 dynamic_title: true 36 37 # Window decorations 38 # 39 # Values for `decorations`: 40 # - full: Borders and title bar 41 # - none: Neither borders nor title bar 42 decorations: full 43 44 # When true, alacritty starts maximized. 45 window.startup_mode: maximized 46 47 scrolling: 48 # Maximum number of lines in the scrollback buffer. 49 # Specifying '0' will disable scrolling. 50 history: 10000 51 52 # Number of lines the viewport will move for every line scrolled when 53 # scrollback is enabled (history > 0). 54 multiplier: 3 55 56 # Font configuration (changes require restart) 57 # 58 # Important font attributes like antialiasing, subpixel aa, and hinting can be 59 # controlled through fontconfig. Specifically, the following attributes should 60 # have an effect: 61 # - hintstyle 62 # - antialias 63 # - lcdfilter 64 # - rgba 65 # 66 # For instance, if you wish to disable subpixel antialiasing, you might set the 67 # rgba property to `none`. If you wish to completely disable antialiasing, you 68 # can set antialias to `false`. 69 # 70 # Please see these resources for more information on how to use fontconfig: 71 # - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration 72 # - file:///usr/share/doc/fontconfig/fontconfig-user.html 73 font: 74 # Normal (roman) font face 75 normal: 76 family: Iosevka Term SS09 77 # The `style` can be specified to pick a specific face. 78 style: Regular 79 80 # Bold font face 81 bold: 82 family: Iosevka Term SS09 83 # The `style` can be specified to pick a specific face. 84 style: Bold 85 86 # Italic font face 87 italic: 88 family: Iosevka Term SS09 89 # The `style` can be specified to pick a specific face. 90 style: Italic 91 92 # Point size 93 size: 12.0 94 95 # Offset is the extra space around each character. `offset.y` can be thought of 96 # as modifying the line spacing, and `offset.x` as modifying the letter spacing. 97 offset: 98 x: 0 99 y: 0 100 101 # Glyph offset determines the locations of the glyphs within their cells with 102 # the default being at the bottom. Increasing `x` moves the glyph to the right, 103 # increasing `y` moves the glyph upwards. 104 glyph_offset: 105 x: 0 106 y: 0 107 108 debug: 109 # Display the time it takes to redraw each frame. 110 render_timer: false 111 112 # Keep the log file after quitting Alacritty. 113 persistent_logging: false 114 115 # If `true`, bold text is drawn using the bright color variants. 116 draw_bold_text_with_bright_colors: false 117 118 # Colors (Gruvbox Dark) 119 colors: 120 # Default colors 121 primary: 122 background: '0x282828' 123 foreground: '0xebdbb2' 124 125 # Bright and dim foreground colors 126 # 127 # The dimmed foreground color is calculated automatically if it is not present. 128 # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` 129 # is `false`, the normal foreground color will be used. 130 #dim_foreground: '0x9a9a9a' 131 #bright_foreground: '0xffffff' 132 133 # Cursor colors 134 # 135 # Colors which should be used to draw the terminal cursor. If these are unset, 136 # the cursor color will be the inverse of the cell color. 137 cursor: 138 text: '0x282828' 139 cursor: '0xb8bb26' 140 141 # Normal colors 142 normal: 143 black: '0x282828' 144 red: '0xcc241d' 145 green: '0x98971a' 146 yellow: '0xd79921' 147 blue: '0x458588' 148 magenta: '0xb16286' 149 cyan: '0x689d6a' 150 white: '0xa89984' 151 152 # Bright colors 153 bright: 154 black: '0x928374' 155 red: '0xfb4934' 156 green: '0xb8bb26' 157 yellow: '0xfabd2f' 158 blue: '0x83a598' 159 magenta: '0xd3869b' 160 cyan: '0x8ec97c' 161 white: '0xebdbb2' 162 163 # Dim colors 164 # 165 # If the dim colors are not set, they will be calculated automatically based 166 # on the `normal` colors. 167 # dim: 168 # black: '0x333333' 169 # red: '0xf2777a' 170 # green: '0x99cc99' 171 # yellow: '0xffcc66' 172 # blue: '0x6699cc' 173 # magenta: '0xcc99cc' 174 # cyan: '0x66cccc' 175 # white: '0xdddddd' 176 177 # Indexed Colors 178 # 179 # The indexed colors include all colors from 16 to 256. 180 # When these are not set, they're filled with sensible defaults. 181 #indexed_colors: 182 # - { index: 16, color: '0x000000' } 183 184 # Visual Bell 185 # 186 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once 187 # rung, the terminal background will be set to white and transition back to the 188 # default background color. You can control the rate of this transition by 189 # setting the `duration` property (represented in milliseconds). You can also 190 # configure the transition function by setting the `animation` property. 191 # 192 # Values for `animation`: 193 # - Ease 194 # - EaseOut 195 # - EaseOutSine 196 # - EaseOutQuad 197 # - EaseOutCubic 198 # - EaseOutQuart 199 # - EaseOutQuint 200 # - EaseOutExpo 201 # - EaseOutCirc 202 # - Linear 203 # 204 # Specifying a `duration` of `0` will disable the visual bell. 205 bell: 206 animation: EaseOutExpo 207 duration: 0 208 color: '0xffffff' 209 210 # Background opacity 211 # 212 # Window opacity as a floating point number from `0.0` to `1.0`. 213 # The value `0.0` is completely transparent and `1.0` is opaque. 214 background_opacity: 0.95 215 216 # Mouse bindings 217 # 218 # Available fields: 219 # - mouse 220 # - action 221 # - mods (optional) 222 # 223 # Values for `mouse`: 224 # - Middle 225 # - Left 226 # - Right 227 # - Numeric identifier such as `5` 228 # 229 # All available `mods` and `action` values are documented in the key binding 230 # section. 231 mouse_bindings: 232 - { mouse: Middle, action: PasteSelection } 233 234 mouse: 235 # Click settings 236 # 237 # The `double_click` and `triple_click` settings control the time 238 # alacritty should wait for accepting multiple clicks as one double 239 # or triple click. 240 double_click: { threshold: 300 } 241 triple_click: { threshold: 300 } 242 243 # If this is `true`, the cursor is temporarily hidden when typing. 244 hide_when_typing: false 245 246 url: 247 # URL launcher 248 # 249 # This program is executed when clicking on a text which is recognized as a URL. 250 # The URL is always added to the command as the last parameter. 251 launcher: xdg-open 252 253 # URL modifiers 254 # 255 # These are the modifiers that need to be held down for opening URLs when clicking 256 # on them. The available modifiers are documented in the key binding section. 257 #modifiers: Control|Shift 258 259 selection: 260 semantic_escape_chars: ",│`|:\"' ()[]{}<>" 261 262 # When set to `true`, selected text will be copied to both the primary and 263 # the selection clipboard. Otherwise, it will only be copied to the selection 264 # clipboard. 265 save_to_clipboard: true 266 267 cursor: 268 # Cursor style 269 # 270 # Values for 'style': 271 # - ▇ Block 272 # - _ Underline 273 # - | Beam 274 style: Block 275 276 # If this is `true`, the cursor will be rendered as a hollow box when the 277 # window is not focused. 278 unfocused_hollow: true 279 280 # Live config reload (changes require restart) 281 live_config_reload: true 282 283 # Shell 284 # 285 # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. 286 # Entries in `shell.args` are passed unmodified as arguments to the shell. 287 #shell: 288 # program: /bin/bash 289 # args: 290 # - --login 291 292 # Key bindings 293 # 294 # Key bindings are specified as a list of objects. Each binding will specify 295 # a key and modifiers required to trigger it, terminal modes where the binding 296 # is applicable, and what should be done when the key binding fires. It can 297 # either send a byte sequnce to the running application (`chars`), execute 298 # a predefined action (`action`) or fork and execute a specified command plus 299 # arguments (`command`). 300 # 301 # Example: 302 # `- { key: V, mods: Command, action: Paste }` 303 # 304 # Available fields: 305 # - key 306 # - mods (optional) 307 # - chars | action | command (exactly one required) 308 # - mode (optional) 309 # 310 # Values for `key`: 311 # - `A` -> `Z` 312 # - `F1` -> `F12` 313 # - `Key1` -> `Key0` 314 # 315 # A full list with available key codes can be found here: 316 # https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants 317 # 318 # Instead of using the name of the keys, the `key` field also supports using 319 # the scancode of the desired key. Scancodes have to be specified as a 320 # decimal number. 321 # This command will allow you to display the hex scancodes for certain keys: 322 # `showkey --scancodes` 323 # 324 # Values for `mods`: 325 # - Command 326 # - Control 327 # - Shift 328 # - Alt 329 # 330 # Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. 331 # Whitespace and capitalization is relevant and must match the example. 332 # 333 # Values for `chars`: 334 # The `chars` field writes the specified string to the terminal. This makes 335 # it possible to pass escape sequences. 336 # To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run 337 # the command `showkey -a` outside of tmux. 338 # Note that applications use terminfo to map escape sequences back to 339 # keys. It is therefore required to update the terminfo when 340 # changing an escape sequence. 341 # 342 # Values for `action`: 343 # - Paste 344 # - PasteSelection 345 # - Copy 346 # - IncreaseFontSize 347 # - DecreaseFontSize 348 # - ResetFontSize 349 # - ScrollPageUp 350 # - ScrollPageDown 351 # - ScrollToTop 352 # - ScrollToBottom 353 # - ClearHistory 354 # - Hide 355 # - Quit 356 # - ClearLogNotice 357 # 358 # Values for `command`: 359 # The `command` field must be a map containing a `program` string and 360 # an `args` array of command line parameter strings. 361 # 362 # Example: 363 # `command: { program: "alacritty", args: ["-e", "vttest"] }` 364 # 365 # Values for `mode`: 366 # - ~AppCursor 367 # - AppCursor 368 # - ~AppKeypad 369 # - AppKeypad 370 key_bindings: 371 - { key: V, mods: Control|Shift, action: Paste } 372 - { key: C, mods: Control|Shift, action: Copy } 373 - { key: Paste, action: Paste } 374 - { key: Copy, action: Copy } 375 - { key: Q, mods: Command, action: Quit } 376 - { key: W, mods: Command, action: Quit } 377 - { key: Insert, mods: Shift, action: PasteSelection } 378 - { key: Key0, mods: Control, action: ResetFontSize } 379 - { key: Equals, mods: Control, action: IncreaseFontSize } 380 - { key: Minus, mods: Control, action: DecreaseFontSize } 381 - { key: L, mods: Control, action: ClearLogNotice } 382 - { key: L, mods: Control, chars: "\x0c" } 383 - { key: Home, chars: "\x1bOH", mode: AppCursor } 384 - { key: Home, chars: "\x1b[H", mode: ~AppCursor } 385 - { key: End, chars: "\x1bOF", mode: AppCursor } 386 - { key: End, chars: "\x1b[F", mode: ~AppCursor } 387 - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } 388 - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } 389 - { key: PageUp, chars: "\x1b[5~" } 390 - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } 391 - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } 392 - { key: PageDown, chars: "\x1b[6~" } 393 - { key: Tab, mods: Shift, chars: "\x1b[Z" } 394 - { key: Back, chars: "\x7f" } 395 - { key: Back, mods: Alt, chars: "\x1b\x7f" } 396 - { key: Insert, chars: "\x1b[2~" } 397 - { key: Delete, chars: "\x1b[3~" } 398 - { key: Left, mods: Shift, chars: "\x1b[1;2D" } 399 - { key: Left, mods: Control, chars: "\x1b[1;5D" } 400 - { key: Left, mods: Alt, chars: "\x1b[1;3D" } 401 - { key: Left, chars: "\x1b[D", mode: ~AppCursor } 402 - { key: Left, chars: "\x1bOD", mode: AppCursor } 403 - { key: Right, mods: Shift, chars: "\x1b[1;2C" } 404 - { key: Right, mods: Control, chars: "\x1b[1;5C" } 405 - { key: Right, mods: Alt, chars: "\x1b[1;3C" } 406 - { key: Right, chars: "\x1b[C", mode: ~AppCursor } 407 - { key: Right, chars: "\x1bOC", mode: AppCursor } 408 - { key: Up, mods: Shift, chars: "\x1b[1;2A" } 409 - { key: Up, mods: Control, chars: "\x1b[1;5A" } 410 - { key: Up, mods: Alt, chars: "\x1b[1;3A" } 411 - { key: Up, chars: "\x1b[A", mode: ~AppCursor } 412 - { key: Up, chars: "\x1bOA", mode: AppCursor } 413 - { key: Down, mods: Shift, chars: "\x1b[1;2B" } 414 - { key: Down, mods: Control, chars: "\x1b[1;5B" } 415 - { key: Down, mods: Alt, chars: "\x1b[1;3B" } 416 - { key: Down, chars: "\x1b[B", mode: ~AppCursor } 417 - { key: Down, chars: "\x1bOB", mode: AppCursor } 418 - { key: F1, chars: "\x1bOP" } 419 - { key: F2, chars: "\x1bOQ" } 420 - { key: F3, chars: "\x1bOR" } 421 - { key: F4, chars: "\x1bOS" } 422 - { key: F5, chars: "\x1b[15~" } 423 - { key: F6, chars: "\x1b[17~" } 424 - { key: F7, chars: "\x1b[18~" } 425 - { key: F8, chars: "\x1b[19~" } 426 - { key: F9, chars: "\x1b[20~" } 427 - { key: F10, chars: "\x1b[21~" } 428 - { key: F11, chars: "\x1b[23~" } 429 - { key: F12, chars: "\x1b[24~" } 430 - { key: F1, mods: Shift, chars: "\x1b[1;2P" } 431 - { key: F2, mods: Shift, chars: "\x1b[1;2Q" } 432 - { key: F3, mods: Shift, chars: "\x1b[1;2R" } 433 - { key: F4, mods: Shift, chars: "\x1b[1;2S" } 434 - { key: F5, mods: Shift, chars: "\x1b[15;2~" } 435 - { key: F6, mods: Shift, chars: "\x1b[17;2~" } 436 - { key: F7, mods: Shift, chars: "\x1b[18;2~" } 437 - { key: F8, mods: Shift, chars: "\x1b[19;2~" } 438 - { key: F9, mods: Shift, chars: "\x1b[20;2~" } 439 - { key: F10, mods: Shift, chars: "\x1b[21;2~" } 440 - { key: F11, mods: Shift, chars: "\x1b[23;2~" } 441 - { key: F12, mods: Shift, chars: "\x1b[24;2~" } 442 - { key: F1, mods: Control, chars: "\x1b[1;5P" } 443 - { key: F2, mods: Control, chars: "\x1b[1;5Q" } 444 - { key: F3, mods: Control, chars: "\x1b[1;5R" } 445 - { key: F4, mods: Control, chars: "\x1b[1;5S" } 446 - { key: F5, mods: Control, chars: "\x1b[15;5~" } 447 - { key: F6, mods: Control, chars: "\x1b[17;5~" } 448 - { key: F7, mods: Control, chars: "\x1b[18;5~" } 449 - { key: F8, mods: Control, chars: "\x1b[19;5~" } 450 - { key: F9, mods: Control, chars: "\x1b[20;5~" } 451 - { key: F10, mods: Control, chars: "\x1b[21;5~" } 452 - { key: F11, mods: Control, chars: "\x1b[23;5~" } 453 - { key: F12, mods: Control, chars: "\x1b[24;5~" } 454 - { key: F1, mods: Alt, chars: "\x1b[1;6P" } 455 - { key: F2, mods: Alt, chars: "\x1b[1;6Q" } 456 - { key: F3, mods: Alt, chars: "\x1b[1;6R" } 457 - { key: F4, mods: Alt, chars: "\x1b[1;6S" } 458 - { key: F5, mods: Alt, chars: "\x1b[15;6~" } 459 - { key: F6, mods: Alt, chars: "\x1b[17;6~" } 460 - { key: F7, mods: Alt, chars: "\x1b[18;6~" } 461 - { key: F8, mods: Alt, chars: "\x1b[19;6~" } 462 - { key: F9, mods: Alt, chars: "\x1b[20;6~" } 463 - { key: F10, mods: Alt, chars: "\x1b[21;6~" } 464 - { key: F11, mods: Alt, chars: "\x1b[23;6~" } 465 - { key: F12, mods: Alt, chars: "\x1b[24;6~" } 466 - { key: F1, mods: Super, chars: "\x1b[1;3P" } 467 - { key: F2, mods: Super, chars: "\x1b[1;3Q" } 468 - { key: F3, mods: Super, chars: "\x1b[1;3R" } 469 - { key: F4, mods: Super, chars: "\x1b[1;3S" } 470 - { key: F5, mods: Super, chars: "\x1b[15;3~" } 471 - { key: F6, mods: Super, chars: "\x1b[17;3~" } 472 - { key: F7, mods: Super, chars: "\x1b[18;3~" } 473 - { key: F8, mods: Super, chars: "\x1b[19;3~" } 474 - { key: F9, mods: Super, chars: "\x1b[20;3~" } 475 - { key: F10, mods: Super, chars: "\x1b[21;3~" } 476 - { key: F11, mods: Super, chars: "\x1b[23;3~" } 477 - { key: F12, mods: Super, chars: "\x1b[24;3~" }