window:
  dimensions:
    columns: 140
    lines: 38

  padding:
    x: 10
    y: 10

  decorations: none

scrolling:
  history: 10000
  multiplier: 3

# background_opacity: 0.95
window_opacity: 0.80

# Font configuration
font:
  normal:
    # family: Input
    # family: Fira Code
    # style: Regular

    family: JetBrains Mono
    # style: Thin

    # family: Source Code Pro
    # family: Iosevka Term
    # family: Terminus
    style: Light

  bold:
    # family: Source Code Pro
    # family: Terminus
    family: JetBrains Mono
    style: Regular
    # Bold font face
    bold:
    # Font family
    #
    # If the bold family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: monospace
    # family: Terminus
    family: JetBrains Mono

    # The `style` can be specified to pick a specific face.
    style: Bold

    # Italic font face
    italic:
    # Font family
    #
    # If the italic family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: monospace
    # family: Terminus
    family: JetBrains Mono

    # The `style` can be specified to pick a specific face.
    style: Italic

    # Bold italic font face
    bold_italic:
    # Font family
    #
    # If the bold italic family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: moospace
    # family: Terminus
    family: JetBrains Mono

    # The `style` can be specified to pick a specific face.
    style: Bold Italic

    # Point size
  size: 10.0

  offset:
    x: 0
    y: 0

  glyph_offset:
    x: 0
    y: 0
    # use_thin_strokes: true

    # If `true`, bold text is drawn using the bright color variants.
    #draw_bold_text_with_bright_colors: false

    # Colors (Tomorrow Night)
    #colors:
    # Default colors
    # primary:
    # background: '#1d1f21'
    # foreground: '#c5c8c6'

    # Bright and dim foreground colors
    #
    # The dimmed foreground color is calculated automatically if it is not present.
    # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
    # is `false`, the normal foreground color will be used.
    #dim_foreground: '#828482'
    #bright_foreground: '#eaeaea'

    # Cursor colors
    #
    # Colors which should be used to draw the terminal cursor.
    #
    # Allowed values are CellForeground and CellBackground, which reference the
    # affected cell, or hexadecimal colors like #ff00ff.
    #cursor:
    #  text: CellBackground
    #  cursor: CellForeground

    # Vi mode cursor colors
    #
    # Colors for the cursor when the vi mode is active.
    #
    # Allowed values are CellForeground and CellBackground, which reference the
    # affected cell, or hexadecimal colors like #ff00ff.
    #vi_mode_cursor:
    #  text: CellBackground
    #  cursor: CellForeground

    # Selection colors
    #
    # Colors which should be used to draw the selection area.
    #
    # Allowed values are CellForeground and CellBackground, which reference the
    # affected cell, or hexadecimal colors like #ff00ff.
    #selection:
    #  text: CellBackground
    #  background: CellForeground

    # Search colors
    #
    # Colors used for the search bar and match highlighting.
    #search:
    # Allowed values are CellForeground and CellBackground, which reference the
    # affected cell, or hexadecimal colors like #ff00ff.
    #matches:
    #  foreground: '#000000'
    #  background: '#ffffff'

    #bar:
    #  background: '#c5c8c6'
    #  foreground: '#1d1f21'

    # Normal colors
    #normal:
    #  black:   '#1d1f21'
    #  red:     '#cc6666'
    #  green:   '#b5bd68'
    #  yellow:  '#f0c674'
    #  blue:    '#81a2be'
    #  magenta: '#b294bb'
    #  cyan:    '#8abeb7'
    #  white:   '#c5c8c6'

    # Bright colors
    #bright:
    #  black:   '#373b41'
    #  red:     '#a54242'
    #  green:   '#8c9440'
    #  yellow:  '#de935f'
    #  blue:    '#5f819d'
    #  magenta: '#85678f'
    #  cyan:    '#5e8d87'
    #  white:   '#707880'

    # Dim colors
    #
    # If the dim colors are not set, they will be calculated automatically based
    # on the `normal` colors.
    #dim:
    #  black:   '#131415'
    #  red:     '#864343'
    #  green:   '#777c44'
    #  yellow:  '#9e824c'
    #  blue:    '#556a7d'
    #  magenta: '#75617b'
    #  cyan:    '#5b7d78'
    #  white:   '#828482'

    # Indexed Colors
    #
    # The indexed colors include all colors from 16 to 256.
    # When these are not set, they're filled with sensible defaults.
    #
    # Example:
    #   `- { index: 16, color: '#ff00ff' }`
    #
    #indexed_colors: []

    # Bell
    #
    # The bell is rung every time the BEL control character is received.
    #bell:
    # Visual Bell Animation
    #
    # Animation effect for flashing the screen when the visual bell is rung.
    #
    # Values for `animation`:
    #   - Ease
    #   - EaseOut
    #   - EaseOutSine
    #   - EaseOutQuad
    #   - EaseOutCubic
    #   - EaseOutQuart
    #   - EaseOutQuint
    #   - EaseOutExpo
    #   - EaseOutCirc
    #   - Linear
    #animation: EaseOutExpo

    # Duration of the visual bell flash. A `duration` of `0` will disable the
    # visual bell animation.
    #duration: 0

    # Visual bell animation color.
    #color: '#ffffff'

    # Bell Command
    #
    # This program is executed whenever the bell is rung.
    #
    # When set to `command: None`, no command will be executed.
    #
    # Example:
    #   command:
    #     program: notify-send
    #     args: ["Hello, World!"]
    #
    #command: None

    # Background opacity
    #
    # Window opacity as a floating point number from `0.0` to `1.0`.
    # The value `0.0` is completely transparent and `1.0` is opaque.
    #background_opacity: 1.0

    #selection:
    # This string contains all characters that are used as separators for "semantic words" in Alacritty.
    #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"

    # When set to `true`, selected text will be copied to the primary clipboard.
    #save_to_clipboard: false

cursor:
  # Cursor style
  #
  # Values for `style`:
  #   - ▇ Block
  #   - _ Underline
  #   - | Beam
  style: Block

  # Vi mode cursor style
  #
  # If the vi mode cursor style is `None` or not specified, it will fall back to
  # the style of the active value of the normal cursor.
  #
  # See `cursor.style` for available options.
  #vi_mode_style: None

  # If this is `true`, the cursor will be rendered as a hollow box when the
  # window is not focused.
  unfocused_hollow: true
  # Thickness of the cursor relative to the cell width as floating point number
  # from `0.0` to `1.0`.
  #thickness: 0.15

  # Live config reload (changes require restart)
  #live_config_reload: true

  # Shell
  #
  # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
  # Entries in `shell.args` are passed unmodified as arguments to the shell.
  #
  # Default:
  #   - (macOS) /bin/bash --login
  #   - (Linux/BSD) user login shell
  #   - (Windows) powershell
  #shell:
  #  program: /bin/bash
  #  args:
  #    - --login

  # Startup directory
  #
  # Directory the shell is started in. If this is unset, or `None`, the working
  # directory of the parent process will be used.
  #working_directory: None

  # WinPTY backend (Windows only)
  #
  # Alacritty defaults to using the newer ConPTY backend if it is available,
  # since it resolves a lot of bugs and is quite a bit faster. If it is not
  # available, the WinPTY backend will be used instead.
  #
  # Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
  # even if the ConPTY backend is available.
  #winpty_backend: false

  # Send ESC (\x1b) before characters when alt is pressed.
  #alt_send_esc: true

  #mouse:
  # Click settings
  #
  # The `double_click` and `triple_click` settings control the time
  # alacritty should wait for accepting multiple clicks as one double
  # or triple click.
  #double_click: { threshold: 300 }
  #triple_click: { threshold: 300 }

  # If this is `true`, the cursor is temporarily hidden when typing.
  #hide_when_typing: false

  #url:
  # URL launcher
  #
  # This program is executed when clicking on a text which is recognized as a URL.
  # The URL is always added to the command as the last parameter.
  #
  # When set to `launcher: None`, URL launching will be disabled completely.
  #
  # Default:
  #   - (macOS) open
  #   - (Linux/BSD) xdg-open
  #   - (Windows) explorer
  #launcher:
  #  program: xdg-open
  #  args: []

  # URL modifiers
  #
  # These are the modifiers that need to be held down for opening URLs when clicking
  # on them. The available modifiers are documented in the key binding section.
  #modifiers: None

  # Mouse bindings
  #
  # Mouse bindings are specified as a list of objects, much like the key
  # bindings further below.
  #
  # To trigger mouse bindings when an application running within Alacritty captures the mouse, the
  # `Shift` modifier is automatically added as a requirement.
  #
  # Each mouse binding will specify a:
  #
  # - `mouse`:
  #
  #   - Middle
  #   - Left
  #   - Right
  #   - Numeric identifier such as `5`
  #
  # - `action` (see key bindings)
  #
  # And optionally:
  #
  # - `mods` (see key bindings)
  #mouse_bindings:
  #  - { mouse: Middle, action: PasteSelection }

  # Key bindings
  #
  # Key bindings are specified as a list of objects. For example, this is the
  # default paste binding:
  #
  # `- { key: V, mods: Control|Shift, action: Paste }`
  #
  # Each key binding will specify a:
  #
  # - `key`: Identifier of the key pressed
  #
  #    - A-Z
  #    - F1-F24
  #    - Key0-Key9
  #
  #    A full list with available key codes can be found here:
  #    https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
  #
  #    Instead of using the name of the keys, the `key` field also supports using
  #    the scancode of the desired key. Scancodes have to be specified as a
  #    decimal number. This command will allow you to display the hex scancodes
  #    for certain keys:
  #
  #       `showkey --scancodes`.
  #
  # Then exactly one of:
  #
  # - `chars`: Send a byte sequence to the running application
  #
  #    The `chars` field writes the specified string to the terminal. This makes
  #    it possible to pass escape sequences. To find escape codes for bindings
  #    like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
  #    of tmux. Note that applications use terminfo to map escape sequences back
  #    to keys. It is therefore required to update the terminfo when changing an
  #    escape sequence.
  #
  # - `action`: Execute a predefined action
  #
  #   - ToggleViMode
  #   - SearchForward
  #       Start searching toward the right of the search origin.
  #   - SearchBackward
  #       Start searching toward the left of the search origin.
  #   - Copy
  #   - Paste
  #   - IncreaseFontSize
  #   - DecreaseFontSize
  #   - ResetFontSize
  #   - ScrollPageUp
  #   - ScrollPageDown
  #   - ScrollHalfPageUp
  #   - ScrollHalfPageDown
  #   - ScrollLineUp
  #   - ScrollLineDown
  #   - ScrollToTop
  #   - ScrollToBottom
  #   - ClearHistory
  #       Remove the terminal's scrollback history.
  #   - Hide
  #       Hide the Alacritty window.
  #   - Minimize
  #       Minimize the Alacritty window.
  #   - Quit
  #       Quit Alacritty.
  #   - ToggleFullscreen
  #   - SpawnNewInstance
  #       Spawn a new instance of Alacritty.
  #   - ClearLogNotice
  #       Clear Alacritty's UI warning and error notice.
  #   - ClearSelection
  #       Remove the active selection.
  #   - ReceiveChar
  #   - None
  #
  #   (`mode: Vi` only):
  #   - Open
  #       Open URLs at the cursor location with the launcher configured in `url.launcher`.
  #   - Up
  #       Move the vi mode cursor up by one line.
  #   - Down
  #       Move the vi mode cursor down by one line.
  #   - Left
  #       Move the vi mode cursor left by one character.
  #   - Right
  #       Move the vi mode cursor right by one character.
  #   - First
  #       Move the vi mode cursor to the start of the line, searching across newlines if it is already at the beginning.
  #   - Last
  #       Move the vi mode cursor to the end of the line, searching across newlines if it is already at the end.
  #   - FirstOccupied
  #       Move the vi mode cursor to the first non-empty cell in this line, searching across newlines if it is already at the first one.
  #   - High
  #       Move the vi mode cursor to the top of the screen.
  #   - Middle
  #       Move the vi mode cursor to the middle of the screen.
  #   - Low
  #       Move the vi mode cursor to the bottom of the screen.
  #   - SemanticLeft
  #       Move the vi mode cursor to the start of the previous semantically separated word.
  #   - SemanticRight
  #       Move the vi mode cursor to the start of the next semantically separated word.
  #   - SemanticLeftEnd
  #       Move the vi mode cursor to the end of the previous semantically separated word.
  #   - SemanticRightEnd
  #       Move the vi mode cursor to the end of the next semantically separated word.
  #   - WordLeft
  #       Move the vi mode cursor to the start of the previous whitespace separated word.
  #   - WordRight
  #       Move the vi mode cursor to the start of the next whitespace separated word.
  #   - WordLeftEnd
  #       Move the vi mode cursor to the end of the previous whitespace separated word.
  #   - WordRightEnd
  #       Move the vi mode cursor to the end of the next whitespace separated word.
  #   - Bracket
  #       Move the vi mode cursor to the next character that matches the bracket at the cursor's
  #       current location.
  #   - ToggleNormalSelection
  #   - ToggleLineSelection
  #   - ToggleBlockSelection
  #   - ToggleSemanticSelection
  #       Toggle semantic selection based on `selection.semantic_escape_chars`.
  #   - SearchNext
  #       Jump to the beginning of the next match.
  #   - SearchPrevious
  #       Jump to the beginning of the previous match.
  #   - SearchStart
  #       Jump to the next start of a match to the left of the vi mode cursor.
  #   - SearchEnd
  #       Jump to the next end of a match to the left of the vi mode cursor.
  #
  #   (macOS only):
  #   - ToggleSimpleFullscreen
  #       Enter fullscreen without occupying another space.
  #
  #   (Linux/BSD only):
  #   - CopySelection
  #       Copy from the selection buffer.
  #   - PasteSelection
  #       Paste from the selection buffer.
  #
  # - `command`: Fork and execute a specified command plus arguments
  #
  #    The `command` field must be a map containing a `program` string and an
  #    `args` array of command line parameter strings. For example:
  #       `{ program: "alacritty", args: ["-e", "vttest"] }`
  #
  # And optionally:
  #
  # - `mods`: Key modifiers to filter binding actions
  #
  #    - Command
  #    - Control
  #    - Option
  #    - Super
  #    - Shift
  #    - Alt
  #
  #    Multiple `mods` can be combined using `|` like this:
  #       `mods: Control|Shift`.
  #    Whitespace and capitalization are relevant and must match the example.
  #
  # - `mode`: Indicate a binding for only specific terminal reported modes
  #
  #    This is mainly used to send applications the correct escape sequences
  #    when in different modes.
  #
  #    - AppCursor
  #    - AppKeypad
  #    - Alt
  #    - Vi
  #
  #    A `~` operator can be used before a mode to apply the binding whenever
  #    the mode is *not* active, e.g. `~Alt`.
  #
  # Bindings are always filled by default, but will be replaced when a new
  # binding with the same triggers is defined. To unset a default binding, it can
  # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
  # a no-op if you do not wish to receive input characters for that binding.
  #
  # If the same trigger is assigned to multiple actions, all of them are executed
  # in the order they were defined in.
key_bindings:
  #- { key: Paste,                                action: Paste          }
  #- { key: Copy,                                 action: Copy           }
  #- { key: L,         mods: Control,             action: ClearLogNotice }
  #- { key: L,         mods: Control, mode: ~Vi,  chars: "\x0c"          }
  #- { key: PageUp,    mods: Shift,   mode: ~Alt, action: ScrollPageUp,  }
  #- { key: PageDown,  mods: Shift,   mode: ~Alt, action: ScrollPageDown }
  #- { key: Home,      mods: Shift,   mode: ~Alt, action: ScrollToTop,   }
  #- { key: End,       mods: Shift,   mode: ~Alt, action: ScrollToBottom }

  # Vi Mode
  #- { key: Space,  mods: Shift|Control, mode: Vi, action: ScrollToBottom          }
  #- { key: Space,  mods: Shift|Control,           action: ToggleViMode            }
  #- { key: Escape,                      mode: Vi, action: ClearSelection          }
  #- { key: I,                           mode: Vi, action: ScrollToBottom          }
  #- { key: I,                           mode: Vi, action: ToggleViMode            }
  #- { key: C,      mods: Control,       mode: Vi, action: ToggleViMode            }
  #- { key: Y,      mods: Control,       mode: Vi, action: ScrollLineUp            }
  #- { key: E,      mods: Control,       mode: Vi, action: ScrollLineDown          }
  #- { key: G,                           mode: Vi, action: ScrollToTop             }
  #- { key: G,      mods: Shift,         mode: Vi, action: ScrollToBottom          }
  #- { key: B,      mods: Control,       mode: Vi, action: ScrollPageUp            }
  #- { key: F,      mods: Control,       mode: Vi, action: ScrollPageDown          }
  #- { key: U,      mods: Control,       mode: Vi, action: ScrollHalfPageUp        }
  #- { key: D,      mods: Control,       mode: Vi, action: ScrollHalfPageDown      }
  #- { key: Y,                           mode: Vi, action: Copy                    }
  #- { key: Y,                           mode: Vi, action: ClearSelection          }
  #- { key: Copy,                        mode: Vi, action: ClearSelection          }
  #- { key: V,                           mode: Vi, action: ToggleNormalSelection   }
  #- { key: V,      mods: Shift,         mode: Vi, action: ToggleLineSelection     }
  #- { key: V,      mods: Control,       mode: Vi, action: ToggleBlockSelection    }
  #- { key: V,      mods: Alt,           mode: Vi, action: ToggleSemanticSelection }
  #- { key: Return,                      mode: Vi, action: Open                    }
  #- { key: K,                           mode: Vi, action: Up                      }
  #- { key: J,                           mode: Vi, action: Down                    }
  #- { key: H,                           mode: Vi, action: Left                    }
  #- { key: L,                           mode: Vi, action: Right                   }
  #- { key: Up,                          mode: Vi, action: Up                      }
  #- { key: Down,                        mode: Vi, action: Down                    }
  #- { key: Left,                        mode: Vi, action: Left                    }
  #- { key: Right,                       mode: Vi, action: Right                   }
  #- { key: Key0,                        mode: Vi, action: First                   }
  #- { key: Key4,   mods: Shift,         mode: Vi, action: Last                    }
  #- { key: Key6,   mods: Shift,         mode: Vi, action: FirstOccupied           }
  #- { key: H,      mods: Shift,         mode: Vi, action: High                    }
  #- { key: M,      mods: Shift,         mode: Vi, action: Middle                  }
  #- { key: L,      mods: Shift,         mode: Vi, action: Low                     }
  #- { key: B,                           mode: Vi, action: SemanticLeft            }
  #- { key: W,                           mode: Vi, action: SemanticRight           }
  #- { key: E,                           mode: Vi, action: SemanticRightEnd        }
  #- { key: B,      mods: Shift,         mode: Vi, action: WordLeft                }
  #- { key: W,      mods: Shift,         mode: Vi, action: WordRight               }
  #- { key: E,      mods: Shift,         mode: Vi, action: WordRightEnd            }
  #- { key: Key5,   mods: Shift,         mode: Vi, action: Bracket                 }
  #- { key: Slash,                       mode: Vi, action: SearchForward           }
  #- { key: Slash,  mods: Shift,         mode: Vi, action: SearchBackward          }
  #- { key: N,                           mode: Vi, action: SearchNext              }
  #- { key: N,      mods: Shift,         mode: Vi, action: SearchPrevious          }

  # (Windows, Linux, and BSD only)
  #- { key: V,              mods: Control|Shift,           action: Paste            }
  #- { key: C,              mods: Control|Shift,           action: Copy             }
  #- { key: F,              mods: Control|Shift,           action: SearchForward    }
  #- { key: B,              mods: Control|Shift,           action: SearchBackward   }
  #- { key: C,              mods: Control|Shift, mode: Vi, action: ClearSelection   }
  #- { key: Insert,         mods: Shift,                   action: PasteSelection   }
  #- { key: Key0,           mods: Control,                 action: ResetFontSize    }
  #- { key: Equals,         mods: Control,                 action: IncreaseFontSize }
  #- { key: Plus,           mods: Control,                 action: IncreaseFontSize }
  #- { key: NumpadAdd,      mods: Control,                 action: IncreaseFontSize }
  #- { key: Minus,          mods: Control,                 action: DecreaseFontSize }
  #- { key: NumpadSubtract, mods: Control,                 action: DecreaseFontSize }

  # (Windows only)
  #- { key: Return,   mods: Alt,           action: ToggleFullscreen }

  # (macOS only)
  #- { key: K,              mods: Command, mode: ~Vi, chars: "\x0c"            }
  #- { key: Key0,           mods: Command,            action: ResetFontSize    }
  #- { key: Equals,         mods: Command,            action: IncreaseFontSize }
  #- { key: Plus,           mods: Command,            action: IncreaseFontSize }
  #- { key: NumpadAdd,      mods: Command,            action: IncreaseFontSize }
  #- { key: Minus,          mods: Command,            action: DecreaseFontSize }
  #- { key: NumpadSubtract, mods: Command,            action: DecreaseFontSize }
  #- { key: K,              mods: Command,            action: ClearHistory     }
  #- { key: V,              mods: Command,            action: Paste            }
  #- { key: C,              mods: Command,            action: Copy             }
  #- { key: C,              mods: Command, mode: Vi,  action: ClearSelection   }
  #- { key: H,              mods: Command,            action: Hide             }
  #- { key: M,              mods: Command,            action: Minimize         }
  #- { key: Q,              mods: Command,            action: Quit             }
  #- { key: W,              mods: Command,            action: Quit             }
  - { key: N, mods: Command, action: SpawnNewInstance }
  - { key: F, mods: Control, action: ToggleFullscreen }
  #- { key: F,              mods: Command|Control,    action: ToggleFullscreen }
  #- { key: F,              mods: Command,            action: SearchForward    }
  #- { key: B,              mods: Command,            action: SearchBackward   }

  #debug:
  # Display the time it takes to redraw each frame.
  #render_timer: false

  # Keep the log file after quitting Alacritty.
  #persistent_logging: false

  # Log level
  #
  # Values for `log_level`:
  #   - None
  #   - Error
  #   - Warn
  #   - Info
  #   - Debug
  #   - Trace
  #log_level: Warn

  # Print all received window events.
  #print_events: false
  #
  #
  # ------------------------------------
  # colors:
  #   # Default colors
  #   primary:
  #     background: '0x1d1f21'
  #     foreground: '0xc5c8c6'
  #
  #   # Normal colors
  #   normal:
  #     black:   '0x282a2e'
  #     red:     '0xa54242'
  #     green:   '0x8c9440'
  #     yellow:  '0xde935f'
  #     blue:    '0x5f819d'
  #     magenta: '0x85678f'
  #     cyan:    '0x5e8d87'
  #     white:   '0x707880'
  #
  #   # Bright colors
  #   bright:
  #     black:   '0x373b41'
  #     red:     '0xcc6666'
  #     green:   '0xb5bd68'
  #     yellow:  '0xf0c674'
  #     blue:    '0x81a2be'
  #     magenta: '0xb294bb'
  #     cyan:    '0x8abeb7'
  #     white:   '0xc5c8c6'
  # ----------------------------------
colors:
  # Default colors
  primary:
    background: "0x1d1f21"
    foreground: "0xc5c8c6"

  # Normal colors
  normal:
    black: "0x282a2e"
    red: "0xa54242"
    green: "0x8c9440"
    yellow: "0xde935f"
    blue: "0x5f819d"
    magenta: "0x85678f"
    cyan: "0x5e8d87"
    white: "0x707880"

  # Bright colors
  bright:
    black: "0x373b41"
    red: "0xcc6666"
    green: "0xb5bd68"
    yellow: "0xf0c674"
    blue: "0x81a2be"
    magenta: "0xb294bb"
    cyan: "0x8abeb7"
    white: "0xc5c8c6"

  cursor:
    text: "0xc5c8c6"
    cursor: "0xcc6666"
