alacritty.yml (23152B)
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: 0 22 lines: 0 23 24 # Window position (changes require restart) 25 # 26 # Specified in number of pixels. 27 # If the position is not set, the window manager will handle the placement. 28 #position: 29 # x: 0 30 # y: 0 31 32 # Window padding (changes require restart) 33 # 34 # Blank space added around the window in pixels. This padding is scaled 35 # by DPI and the specified value is always added at both opposing sides. 36 padding: 37 x: 2 38 y: 2 39 40 # Spread additional padding evenly around the terminal content. 41 dynamic_padding: false 42 43 # Window decorations 44 # 45 # Values for `decorations`: 46 # - full: Borders and title bar 47 # - none: Neither borders nor title bar 48 # 49 # Values for `decorations` (macOS only): 50 # - transparent: Title bar, transparent background and title bar buttons 51 # - buttonless: Title bar, transparent background, but no title bar buttons 52 decorations: full 53 54 # Startup Mode (changes require restart) 55 # 56 # Values for `startup_mode`: 57 # - Windowed 58 # - Maximized 59 # - Fullscreen 60 # 61 # Values for `startup_mode` (macOS only): 62 # - SimpleFullscreen 63 startup_mode: Windowed 64 65 # Window title 66 #title: Alacritty 67 68 # Window class (Linux only): 69 #class: Alacritty 70 71 scrolling: 72 # Maximum number of lines in the scrollback buffer. 73 # Specifying '0' will disable scrolling. 74 history: 10000 75 76 # Number of lines the viewport will move for every line scrolled when 77 # scrollback is enabled (history > 0). 78 multiplier: 3 79 80 # Font configuration (changes require restart) 81 font: 82 # Normal (roman) font face 83 #normal: 84 # Font family 85 # 86 # Default: 87 # - (macOS) Menlo 88 # - (Linux) monospace 89 # - (Windows) Consolas 90 #family: monospace 91 92 # The `style` can be specified to pick a specific face. 93 #style: Regular 94 95 # Bold font face 96 #bold: 97 # Font family 98 # 99 # If the bold family is not specified, it will fall back to the 100 # value specified for the normal font. 101 #family: monospace 102 103 # The `style` can be specified to pick a specific face. 104 #style: Bold 105 106 # Italic font face 107 #italic: 108 # Font family 109 # 110 # If the italic family is not specified, it will fall back to the 111 # value specified for the normal font. 112 #family: monospace 113 114 # The `style` can be specified to pick a specific face. 115 #style: Italic 116 117 # Point size 118 size: 13.0 119 120 # Offset is the extra space around each character. `offset.y` can be thought of 121 # as modifying the line spacing, and `offset.x` as modifying the letter spacing. 122 offset: 123 x: 0 124 y: 0 125 126 # Glyph offset determines the locations of the glyphs within their cells with 127 # the default being at the bottom. Increasing `x` moves the glyph to the right, 128 # increasing `y` moves the glyph upwards. 129 glyph_offset: 130 x: 0 131 y: 0 132 133 # Thin stroke font rendering (macOS only) 134 # 135 # Thin strokes are suitable for retina displays, but for non-retina screens 136 # it is recommended to set `use_thin_strokes` to `false` 137 # 138 # macOS >= 10.14.x: 139 # 140 # If the font quality on non-retina display looks bad then set 141 # `use_thin_strokes` to `true` and enable font smoothing by running the 142 # following command: 143 # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` 144 # 145 # This is a global setting and will require a log out or restart to take 146 # effect. 147 use_thin_strokes: true 148 149 # If `true`, bold text is drawn using the bright color variants. 150 draw_bold_text_with_bright_colors: true 151 152 # Colors (Tomorrow Night Bright) 153 colors: 154 # Default colors 155 primary: 156 background: '0x191919' 157 foreground: '0xeaeaea' 158 159 # Bright and dim foreground colors 160 # 161 # The dimmed foreground color is calculated automatically if it is not present. 162 # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` 163 # is `false`, the normal foreground color will be used. 164 #dim_foreground: '0x9a9a9a' 165 #bright_foreground: '0xffffff' 166 167 # Cursor colors 168 # 169 # Colors which should be used to draw the terminal cursor. If these are unset, 170 # the cursor color will be the inverse of the cell color. 171 #cursor: 172 # text: '0x000000' 173 # cursor: '0xffffff' 174 175 # Selection colors 176 # 177 # Colors which should be used to draw the selection area. If selection 178 # background is unset, selection color will be the inverse of the cell colors. 179 # If only text is unset the cell text color will remain the same. 180 #selection: 181 # text: '0xeaeaea' 182 # background: '0x404040' 183 184 # Normal colors 185 normal: 186 black: '0x000000' 187 red: '0xd54e53' 188 green: '0xb9ca4a' 189 yellow: '0xe6c547' 190 blue: '0x7aa6da' 191 magenta: '0xc397d8' 192 cyan: '0x70c0ba' 193 white: '0xeaeaea' 194 195 # Bright colors 196 bright: 197 black: '0x666666' 198 red: '0xff3334' 199 green: '0x9ec400' 200 yellow: '0xe7c547' 201 blue: '0x7aa6da' 202 magenta: '0xb77ee0' 203 cyan: '0x54ced6' 204 white: '0xffffff' 205 206 # Dim colors 207 # 208 # If the dim colors are not set, they will be calculated automatically based 209 # on the `normal` colors. 210 #dim: 211 # black: '0x000000' 212 # red: '0x8c3336' 213 # green: '0x7a8530' 214 # yellow: '0x97822e' 215 # blue: '0x506d8f' 216 # magenta: '0x80638e' 217 # cyan: '0x497e7a' 218 # white: '0x9a9a9a' 219 220 # Indexed Colors 221 # 222 # The indexed colors include all colors from 16 to 256. 223 # When these are not set, they're filled with sensible defaults. 224 # 225 # Example: 226 # `- { index: 16, color: '0xff00ff' }` 227 # 228 indexed_colors: [] 229 230 # Visual Bell 231 # 232 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once 233 # rung, the terminal background will be set to white and transition back to the 234 # default background color. You can control the rate of this transition by 235 # setting the `duration` property (represented in milliseconds). You can also 236 # configure the transition function by setting the `animation` property. 237 # 238 # Values for `animation`: 239 # - Ease 240 # - EaseOut 241 # - EaseOutSine 242 # - EaseOutQuad 243 # - EaseOutCubic 244 # - EaseOutQuart 245 # - EaseOutQuint 246 # - EaseOutExpo 247 # - EaseOutCirc 248 # - Linear 249 # 250 # Specifying a `duration` of `0` will disable the visual bell. 251 bell: 252 animation: EaseOutExpo 253 duration: 0 254 color: '0xffffff' 255 256 # Background opacity 257 # 258 # Window opacity as a floating point number from `0.0` to `1.0`. 259 # The value `0.0` is completely transparent and `1.0` is opaque. 260 background_opacity: 1.0 261 262 # Mouse bindings 263 # 264 # Available fields: 265 # - mouse 266 # - action 267 # - mods (optional) 268 # 269 # Values for `mouse`: 270 # - Middle 271 # - Left 272 # - Right 273 # - Numeric identifier such as `5` 274 # 275 # All available `mods` and `action` values are documented in the key binding 276 # section. 277 mouse_bindings: 278 - { mouse: Middle, action: PasteSelection } 279 280 mouse: 281 # Click settings 282 # 283 # The `double_click` and `triple_click` settings control the time 284 # alacritty should wait for accepting multiple clicks as one double 285 # or triple click. 286 double_click: { threshold: 300 } 287 triple_click: { threshold: 300 } 288 289 # If this is `true`, the cursor is temporarily hidden when typing. 290 hide_when_typing: false 291 292 url: 293 # URL launcher 294 # 295 # This program is executed when clicking on a text which is recognized as a URL. 296 # The URL is always added to the command as the last parameter. 297 # 298 # When set to `None`, URL launching will be disabled completely. 299 # 300 # Default: 301 # - (macOS) open 302 # - (Linux) xdg-open 303 # - (Windows) explorer 304 #launcher: 305 # program: xdg-open 306 # args: [] 307 308 # URL modifiers 309 # 310 # These are the modifiers that need to be held down for opening URLs when clicking 311 # on them. The available modifiers are documented in the key binding section. 312 modifiers: None 313 314 selection: 315 semantic_escape_chars: ",│`|:\"' ()[]{}<>" 316 317 # When set to `true`, selected text will be copied to the primary clipboard. 318 save_to_clipboard: false 319 320 # Allow terminal applications to change Alacritty's window title. 321 window.dynamic_title: true 322 323 cursor: 324 # Cursor style 325 # 326 # Values for `style`: 327 # - ▇ Block 328 # - _ Underline 329 # - | Beam 330 style: Block 331 332 # If this is `true`, the cursor will be rendered as a hollow box when the 333 # window is not focused. 334 unfocused_hollow: true 335 336 # Live config reload (changes require restart) 337 live_config_reload: true 338 339 # Shell 340 # 341 # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. 342 # Entries in `shell.args` are passed unmodified as arguments to the shell. 343 # 344 # Default: 345 # - (macOS) /bin/bash --login 346 # - (Linux) user login shell 347 # - (Windows) powershell 348 #shell: 349 # program: /bin/bash 350 # args: 351 # - --login 352 353 # Startup directory 354 # 355 # Directory the shell is started in. If this is unset, or `None`, the working 356 # directory of the parent process will be used. 357 working_directory: None 358 359 # Windows 10 ConPTY backend (Windows only) 360 # 361 # This will enable better color support and may resolve other issues, 362 # however this API and its implementation is still young and so is 363 # disabled by default, as stability may not be as good as the winpty 364 # backend. 365 # 366 # Alacritty will fall back to the WinPTY automatically if the ConPTY 367 # backend cannot be initialized. 368 enable_experimental_conpty_backend: false 369 370 # Send ESC (\x1b) before characters when alt is pressed. 371 alt_send_esc: true 372 373 debug: 374 # Display the time it takes to redraw each frame. 375 render_timer: false 376 377 # Keep the log file after quitting Alacritty. 378 persistent_logging: false 379 380 # Log level 381 # 382 # Values for `log_level`: 383 # - None 384 # - Error 385 # - Warn 386 # - Info 387 # - Debug 388 # - Trace 389 log_level: Warn 390 391 # Print all received window events. 392 print_events: false 393 394 # Record all characters and escape sequences as test data. 395 ref_test: false 396 397 # Key bindings 398 # 399 # Key bindings are specified as a list of objects. Each binding will specify a 400 # key and modifiers required to trigger it, terminal modes where the binding is 401 # applicable, and what should be done when the key binding fires. It can either 402 # send a byte sequence to the running application (`chars`), execute a 403 # predefined action (`action`) or fork and execute a specified command plus 404 # arguments (`command`). 405 # 406 # Bindings are always filled by default, but will be replaced when a new binding 407 # with the same triggers is defined. To unset a default binding, it can be 408 # mapped to the `None` action. 409 # 410 # Example: 411 # `- { key: V, mods: Control|Shift, action: Paste }` 412 # 413 # Available fields: 414 # - key 415 # - mods (optional) 416 # - chars | action | command (exactly one required) 417 # - mode (optional) 418 # 419 # Values for `key`: 420 # - `A` -> `Z` 421 # - `F1` -> `F12` 422 # - `Key1` -> `Key0` 423 # 424 # A full list with available key codes can be found here: 425 # https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants 426 # 427 # Instead of using the name of the keys, the `key` field also supports using 428 # the scancode of the desired key. Scancodes have to be specified as a 429 # decimal number. 430 # This command will allow you to display the hex scancodes for certain keys: 431 # `showkey --scancodes` 432 # 433 # Values for `mods`: 434 # - Command 435 # - Control 436 # - Option 437 # - Super 438 # - Shift 439 # - Alt 440 # 441 # Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. 442 # Whitespace and capitalization is relevant and must match the example. 443 # 444 # Values for `chars`: 445 # The `chars` field writes the specified string to the terminal. This makes 446 # it possible to pass escape sequences. 447 # To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run 448 # the command `showkey -a` outside of tmux. 449 # Note that applications use terminfo to map escape sequences back to 450 # keys. It is therefore required to update the terminfo when 451 # changing an escape sequence. 452 # 453 # Values for `action`: 454 # - Paste 455 # - PasteSelection 456 # - Copy 457 # - IncreaseFontSize 458 # - DecreaseFontSize 459 # - ResetFontSize 460 # - ScrollPageUp 461 # - ScrollPageDown 462 # - ScrollLineUp 463 # - ScrollLineDown 464 # - ScrollToTop 465 # - ScrollToBottom 466 # - ClearHistory 467 # - Hide 468 # - Quit 469 # - ClearLogNotice 470 # - SpawnNewInstance 471 # - ToggleFullscreen 472 # - None 473 # 474 # Values for `action` (macOS only): 475 # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space 476 # 477 # Values for `command`: 478 # The `command` field must be a map containing a `program` string and 479 # an `args` array of command line parameter strings. 480 # 481 # Example: 482 # `command: { program: "alacritty", args: ["-e", "vttest"] }` 483 # 484 # Values for `mode`: 485 # - ~AppCursor 486 # - AppCursor 487 # - ~AppKeypad 488 # - AppKeypad 489 key_bindings: 490 # (Windows/Linux only) 491 #- { key: V, mods: Control|Shift, action: Paste } 492 #- { key: C, mods: Control|Shift, action: Copy } 493 #- { key: Insert, mods: Shift, action: PasteSelection } 494 #- { key: Key0, mods: Control, action: ResetFontSize } 495 #- { key: Equals, mods: Control, action: IncreaseFontSize } 496 #- { key: Add, mods: Control, action: IncreaseFontSize } 497 #- { key: Subtract, mods: Control, action: DecreaseFontSize } 498 #- { key: Minus, mods: Control, action: DecreaseFontSize } 499 #- { key: Return, mods: Alt, action: ToggleFullscreen } 500 501 # (macOS only) 502 #- { key: Key0, mods: Command, action: ResetFontSize } 503 #- { key: Equals, mods: Command, action: IncreaseFontSize } 504 #- { key: Add, mods: Command, action: IncreaseFontSize } 505 #- { key: Minus, mods: Command, action: DecreaseFontSize } 506 #- { key: K, mods: Command, action: ClearHistory } 507 #- { key: K, mods: Command, chars: "\x0c" } 508 #- { key: V, mods: Command, action: Paste } 509 #- { key: C, mods: Command, action: Copy } 510 #- { key: H, mods: Command, action: Hide } 511 #- { key: Q, mods: Command, action: Quit } 512 #- { key: W, mods: Command, action: Quit } 513 #- { key: F, mods: Command|Control, action: ToggleFullscreen } 514 515 - { key: Paste, action: Paste } 516 - { key: Copy, action: Copy } 517 - { key: L, mods: Control, action: ClearLogNotice } 518 - { key: L, mods: Control, chars: "\x0c" } 519 - { key: Home, mods: Alt, chars: "\x1b[1;3H" } 520 - { key: Home, chars: "\x1bOH", mode: AppCursor } 521 - { key: Home, chars: "\x1b[H", mode: ~AppCursor } 522 - { key: End, mods: Alt, chars: "\x1b[1;3F" } 523 - { key: End, chars: "\x1bOF", mode: AppCursor } 524 - { key: End, chars: "\x1b[F", mode: ~AppCursor } 525 - { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt } 526 - { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt } 527 - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } 528 - { key: PageUp, mods: Alt, chars: "\x1b[5;3~" } 529 - { key: PageUp, chars: "\x1b[5~" } 530 - { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt } 531 - { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt } 532 - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } 533 - { key: PageDown, mods: Alt, chars: "\x1b[6;3~" } 534 - { key: PageDown, chars: "\x1b[6~" } 535 - { key: Tab, mods: Shift, chars: "\x1b[Z" } 536 - { key: Back, chars: "\x7f" } 537 - { key: Back, mods: Alt, chars: "\x1b\x7f" } 538 - { key: Insert, chars: "\x1b[2~" } 539 - { key: Delete, chars: "\x1b[3~" } 540 - { key: Left, mods: Shift, chars: "\x1b[1;2D" } 541 - { key: Left, mods: Control, chars: "\x1b[1;5D" } 542 - { key: Left, mods: Alt, chars: "\x1b[1;3D" } 543 - { key: Left, chars: "\x1b[D", mode: ~AppCursor } 544 - { key: Left, chars: "\x1bOD", mode: AppCursor } 545 - { key: Right, mods: Shift, chars: "\x1b[1;2C" } 546 - { key: Right, mods: Control, chars: "\x1b[1;5C" } 547 - { key: Right, mods: Alt, chars: "\x1b[1;3C" } 548 - { key: Right, chars: "\x1b[C", mode: ~AppCursor } 549 - { key: Right, chars: "\x1bOC", mode: AppCursor } 550 - { key: Up, mods: Shift, chars: "\x1b[1;2A" } 551 - { key: Up, mods: Control, chars: "\x1b[1;5A" } 552 - { key: Up, mods: Alt, chars: "\x1b[1;3A" } 553 - { key: Up, chars: "\x1b[A", mode: ~AppCursor } 554 - { key: Up, chars: "\x1bOA", mode: AppCursor } 555 - { key: Down, mods: Shift, chars: "\x1b[1;2B" } 556 - { key: Down, mods: Control, chars: "\x1b[1;5B" } 557 - { key: Down, mods: Alt, chars: "\x1b[1;3B" } 558 - { key: Down, chars: "\x1b[B", mode: ~AppCursor } 559 - { key: Down, chars: "\x1bOB", mode: AppCursor } 560 - { key: F1, chars: "\x1bOP" } 561 - { key: F2, chars: "\x1bOQ" } 562 - { key: F3, chars: "\x1bOR" } 563 - { key: F4, chars: "\x1bOS" } 564 - { key: F5, chars: "\x1b[15~" } 565 - { key: F6, chars: "\x1b[17~" } 566 - { key: F7, chars: "\x1b[18~" } 567 - { key: F8, chars: "\x1b[19~" } 568 - { key: F9, chars: "\x1b[20~" } 569 - { key: F10, chars: "\x1b[21~" } 570 - { key: F11, chars: "\x1b[23~" } 571 - { key: F12, chars: "\x1b[24~" } 572 - { key: F1, mods: Shift, chars: "\x1b[1;2P" } 573 - { key: F2, mods: Shift, chars: "\x1b[1;2Q" } 574 - { key: F3, mods: Shift, chars: "\x1b[1;2R" } 575 - { key: F4, mods: Shift, chars: "\x1b[1;2S" } 576 - { key: F5, mods: Shift, chars: "\x1b[15;2~" } 577 - { key: F6, mods: Shift, chars: "\x1b[17;2~" } 578 - { key: F7, mods: Shift, chars: "\x1b[18;2~" } 579 - { key: F8, mods: Shift, chars: "\x1b[19;2~" } 580 - { key: F9, mods: Shift, chars: "\x1b[20;2~" } 581 - { key: F10, mods: Shift, chars: "\x1b[21;2~" } 582 - { key: F11, mods: Shift, chars: "\x1b[23;2~" } 583 - { key: F12, mods: Shift, chars: "\x1b[24;2~" } 584 - { key: F1, mods: Control, chars: "\x1b[1;5P" } 585 - { key: F2, mods: Control, chars: "\x1b[1;5Q" } 586 - { key: F3, mods: Control, chars: "\x1b[1;5R" } 587 - { key: F4, mods: Control, chars: "\x1b[1;5S" } 588 - { key: F5, mods: Control, chars: "\x1b[15;5~" } 589 - { key: F6, mods: Control, chars: "\x1b[17;5~" } 590 - { key: F7, mods: Control, chars: "\x1b[18;5~" } 591 - { key: F8, mods: Control, chars: "\x1b[19;5~" } 592 - { key: F9, mods: Control, chars: "\x1b[20;5~" } 593 - { key: F10, mods: Control, chars: "\x1b[21;5~" } 594 - { key: F11, mods: Control, chars: "\x1b[23;5~" } 595 - { key: F12, mods: Control, chars: "\x1b[24;5~" } 596 - { key: F1, mods: Alt, chars: "\x1b[1;6P" } 597 - { key: F2, mods: Alt, chars: "\x1b[1;6Q" } 598 - { key: F3, mods: Alt, chars: "\x1b[1;6R" } 599 - { key: F4, mods: Alt, chars: "\x1b[1;6S" } 600 - { key: F5, mods: Alt, chars: "\x1b[15;6~" } 601 - { key: F6, mods: Alt, chars: "\x1b[17;6~" } 602 - { key: F7, mods: Alt, chars: "\x1b[18;6~" } 603 - { key: F8, mods: Alt, chars: "\x1b[19;6~" } 604 - { key: F9, mods: Alt, chars: "\x1b[20;6~" } 605 - { key: F10, mods: Alt, chars: "\x1b[21;6~" } 606 - { key: F11, mods: Alt, chars: "\x1b[23;6~" } 607 - { key: F12, mods: Alt, chars: "\x1b[24;6~" } 608 - { key: F1, mods: Super, chars: "\x1b[1;3P" } 609 - { key: F2, mods: Super, chars: "\x1b[1;3Q" } 610 - { key: F3, mods: Super, chars: "\x1b[1;3R" } 611 - { key: F4, mods: Super, chars: "\x1b[1;3S" } 612 - { key: F5, mods: Super, chars: "\x1b[15;3~" } 613 - { key: F6, mods: Super, chars: "\x1b[17;3~" } 614 - { key: F7, mods: Super, chars: "\x1b[18;3~" } 615 - { key: F8, mods: Super, chars: "\x1b[19;3~" } 616 - { key: F9, mods: Super, chars: "\x1b[20;3~" } 617 - { key: F10, mods: Super, chars: "\x1b[21;3~" } 618 - { key: F11, mods: Super, chars: "\x1b[23;3~" } 619 - { key: F12, mods: Super, chars: "\x1b[24;3~" } 620 - { key: NumpadEnter, chars: "\n" }