Wrigs

alacritty.yml

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