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