dotfiles

My personal dotfiles 💠️

alacritty.yml (17495B)

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