dotfiles/.config/alacritty/alacritty.yml
2023-02-03 12:06:09 +01:00

502 lines
17 KiB
YAML

# # Configuration for Alacritty, the GPU enhanced terminal emulator
# # Any items in the `env` entry below will be added as
# # environment variables. Some entries may override variables
# # set by alacritty it self.
# # env:
# # TERM env customization.
# #
# # If this property is not set, alacritty will set it to xterm-256color.
# #
# # Note that some xterm terminfo databases don't declare support for italics.
# # You can verify this by checking for the presence of `smso` and `sitm` in
# # `infocmp xterm-256color`.
# # TERM: xterm-256color-italic
window:
# # Window dimensions (changes require restart)
# #
# # Specified in number of columns/lines, not pixels. If both are zero this
# # setting is ignored.
# dimensions:
# columns: 100
# lines: 85
# # Window padding (changes require restart)
# #
# # Blank space added around the window in pixels. This padding is not scaled by
# # DPI and the specified value is always added at both opposing sides.
padding:
x: 8
y: 8
# # Spread additional padding evenly around the terminal content.
# dynamic_padding: false
# # Window decorations
# #
# # Available values:
# # - full: borders and title bar
# # - none: neither borders nor title bar
# # - transparent: title bar, transparent background and title bar buttons
# # - buttonless: title bar, transparent background, but no title bar buttons
# decorations: buttonless
# # Startup Mode (changes require restart)
# #
# # Values for `startup_mode`:
# # - Windowed
# # - Maximized
# # - Fullscreen
# #
# # Values for `startup_mode` (macOS only):
# # - SimpleFullscreen
# startup_mode: Windowed
# # Background opacity
# opacity: 1.0
# scrolling:
# # maximum number of lines in the scrollback buffer. Specifying '0' will
# # disable scrolling.
# history: 0
# # Number of lines the viewport will move for every line scrolled when
# # scrollback is enabled (history > 0).
# multiplier: 3
# # Font configuration (changes require restart)
font:
# # The normal (roman) font face to use.
# # Style can be specified to pick a specific face.
# normal:
# family: JetBrainsMono
# style: Light
# # family: "Fira Code"
# # family: "Source Code Pro"
# # style: Retina
# # The bold font face
# bold:
# family: Iosevka
# style: Medium
# # family: "Fira Code"
# # family: "Source Code Pro"
# # The italic font face
# italic:
# family: Iosevka
# style: "Light Italic"
# # style: "Light Oblique"
# # family: "Fira Code"
# # family: "Source Code Pro"
# # style: "Medium Italic"
# # Point size of the font
size: 8.0
# # Offset is the extra space around each character. offset.y can be thought of
# # as modifying the linespacing, and offset.x as modifying the letter spacing.
# offset:
# x: 0
# y: 0
# # Glyph offset determines the locations of the glyphs within their cells with
# # the default being at the bottom. Increase the x offset to move the glyph to
# # the right, increase the y offset to move the glyph upward.
# glyph_offset:
# x: 0
# y: 0
# # Thin stroke font rendering (macOS only)
# #
# # Thin strokes are suitable for retina displays, but for non-retina you
# # probably want this set to false.
# #
# # macOS >= 10.14.x:
# #
# # If the font quality on non-retina display looks bad then set
# # `use_thin_strokes` to `true` and enable font smoothing by running the
# # following command:
# # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
# #
# # This is a global setting and will require a log out or restart to take
# # effect.
# use_thin_strokes: true
# # When true, bold text is drawn using the bright variant of colors.
# draw_bold_text_with_bright_colors: false
# # Use custom cursor colors. If true, display the cursor in the cursor.foreground
# # and cursor.background colors, otherwise invert the colors of the cursor.
# custom_cursor_colors: true
# # Colors
colors:
# # Tomorrow (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow.yml)
# # Default colors
# primary:
# background: '0xffffff'
# foreground: '0x4d4d4c'
# # Colors the cursor will use if `custom_cursor_colors` is true
# cursor:
# text: '0xffffff'
# cursor: '0x4d4d4c'
# # Normal colors
# normal:
# black: '0xffffff'
# red: '0xc82829'
# green: '0x718c00'
# yellow: '0xeab700'
# blue: '0x4271ae'
# magenta: '0x8959a8'
# cyan: '0x3e999f'
# white: '0x4d4d4c'
# # Bright colors
# bright:
# black: '0x8e908c'
# red: '0xf5871f'
# green: '0xe0e0e0'
# yellow: '0xd6d6d6'
# blue: '0x969896'
# magenta: '0x282a2e'
# cyan: '0xa3685a'
# white: '0x1d1f21'
# # # Tomorrow Night (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow-night.yml)
# # # Default colors
primary:
background: '0x222222'
# # foreground: '0xc5c8c6'
# # # Colors the cursor will use if `custom_cursor_colors` is true
# # cursor:
# # text: '0x1d1f21'
# # cursor: '0xc5c8c6'
# # # Normal colors
# # normal:
# # black: '0x1d1f21'
# # red: '0xcc6666'
# # green: '0xb5bd68'
# # yellow: '0xf0c674'
# # blue: '0x81a2be'
# # magenta: '0xb294bb'
# # cyan: '0x8abeb7'
# # white: '0xc5c8c6'
# # # Bright colors
# # bright:
# # black: '0x969896'
# # red: '0xde935f'
# # green: '0x282a2e'
# # yellow: '0x373b41'
# # blue: '0xb4b7b4'
# # magenta: '0xe0e0e0'
# # cyan: '0xa3685a'
# # white: '0xffffff'
# # 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: '0xff00ff' }`
# #
# # indexed_colors: []
# # Visual Bell
# #
# # Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# # rung, the terminal background will be set to white and transition back to the
# # default background color. You can control the rate of this transition by
# # setting the `duration` property (represented in milliseconds). You can also
# # configure the transition function by setting the `animation` property.
# #
# # Possible values for `animation`
# # `Ease`
# # `EaseOut`
# # `EaseOutSine`
# # `EaseOutQuad`
# # `EaseOutCubic`
# # `EaseOutQuart`
# # `EaseOutQuint`
# # `EaseOutExpo`
# # `EaseOutCirc`
# # `Linear`
# #
# # To completely disable the visual bell, set its duration to 0.
# #
# bell:
# animation: EaseOutExpo
# color: '0xffffff'
# duration: 0
# # Key bindings
# #
# # Key bindings are specified as a list of objects. Each binding will specify a
# # key and modifiers required to trigger it, terminal modes where the binding is
# # applicable, and what should be done when the key binding fires. It can either
# # send a byte sequence to the running application (`chars`), execute a
# # predefined action (`action`) or fork and execute a specified command plus
# # arguments (`command`).
# #
# # 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 `None` action.
# #
# # Example:
# # `- { key: V, mods: Control|Shift, action: Paste }`
# #
# # Available fields:
# # - key
# # - mods (optional)
# # - chars | action | command (exactly one required)
# # - mode (optional)
# #
# # Values for `key`:
# # - `A` -> `Z`
# # - `F1` -> `F12`
# # - `Key1` -> `Key0`
# #
# # A full list with available key codes can be found here:
# # https://docs.rs/glutin/*/glutin/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`
# #
# # Values for `mods`:
# # - Command
# # - Control
# # - Option
# # - Super
# # - Shift
# # - Alt
# #
# # Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
# # Whitespace and capitalization is relevant and must match the example.
# #
# # Values for `chars`:
# # 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.
# #
# # Values for `action`:
# # - Paste
# # - PasteSelection
# # - Copy
# # - IncreaseFontSize
# # - DecreaseFontSize
# # - ResetFontSize
# # - ScrollPageUp
# # - ScrollPageDown
# # - ScrollLineUp
# # - ScrollLineDown
# # - ScrollToTop
# # - ScrollToBottom
# # - ClearHistory
# # - Hide
# # - Quit
# # - ClearLogNotice
# # - SpawnNewInstance
# # - ToggleFullscreen
# # - None
# #
# # Values for `action` (macOS only):
# # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
# #
# # Values for `command`:
# # The `command` field must be a map containing a `program` string and
# # an `args` array of command line parameter strings.
# #
# # Example:
# # `command: { program: "alacritty", args: ["-e", "vttest"] }`
# #
# # Values for `mode`:
# # - ~AppCursor
# # - AppCursor
# # - ~AppKeypad
# # - AppKeypad
# #
# key_bindings:
# - { key: V, mods: Command, action: Paste }
# - { key: C, mods: Command, action: Copy }
# - { key: Q, mods: Command, action: Quit }
# - { key: N, mods: Command, action: SpawnNewInstance }
# - { key: Return, mods: Command, action: ToggleFullscreen }
# - { key: Home, chars: "\x1bOH", mode: AppCursor }
# - { key: Home, chars: "\x1b[H", mode: ~AppCursor }
# - { key: End, chars: "\x1bOF", mode: AppCursor }
# - { key: End, chars: "\x1b[F", mode: ~AppCursor }
# - { key: Equals, mods: Command, action: IncreaseFontSize }
# - { key: Minus, mods: Command, action: DecreaseFontSize }
# - { key: Minus, mods: Command|Shift, action: ResetFontSize }
# - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
# - { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
# - { key: PageUp, chars: "\x1b[5~" }
# - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
# - { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
# - { key: PageDown, chars: "\x1b[6~" }
# - { key: Left, mods: Shift, chars: "\x1b[1;2D" }
# - { key: Left, mods: Control, chars: "\x1b[1;5D" }
# - { key: Left, mods: Alt, chars: "\x1b[1;3D" }
# - { key: Left, chars: "\x1b[D", mode: ~AppCursor }
# - { key: Left, chars: "\x1bOD", mode: AppCursor }
# - { key: Right, mods: Shift, chars: "\x1b[1;2C" }
# - { key: Right, mods: Control, chars: "\x1b[1;5C" }
# - { key: Right, mods: Alt, chars: "\x1b[1;3C" }
# - { key: Right, chars: "\x1b[C", mode: ~AppCursor }
# - { key: Right, chars: "\x1bOC", mode: AppCursor }
# - { key: Up, mods: Shift, chars: "\x1b[1;2A" }
# - { key: Up, mods: Control, chars: "\x1b[1;5A" }
# - { key: Up, mods: Alt, chars: "\x1b[1;3A" }
# - { key: Up, chars: "\x1b[A", mode: ~AppCursor }
# - { key: Up, chars: "\x1bOA", mode: AppCursor }
# - { key: Down, mods: Shift, chars: "\x1b[1;2B" }
# - { key: Down, mods: Control, chars: "\x1b[1;5B" }
# - { key: Down, mods: Alt, chars: "\x1b[1;3B" }
# - { key: Down, chars: "\x1b[B", mode: ~AppCursor }
# - { key: Down, chars: "\x1bOB", mode: AppCursor }
# - { key: Tab, mods: Shift, chars: "\x1b[Z" }
# - { key: F1, chars: "\x1bOP" }
# - { key: F2, chars: "\x1bOQ" }
# - { key: F3, chars: "\x1bOR" }
# - { key: F4, chars: "\x1bOS" }
# - { key: F5, chars: "\x1b[15~" }
# - { key: F6, chars: "\x1b[17~" }
# - { key: F7, chars: "\x1b[18~" }
# - { key: F8, chars: "\x1b[19~" }
# - { key: F9, chars: "\x1b[20~" }
# - { key: F10, chars: "\x1b[21~" }
# - { key: F11, chars: "\x1b[23~" }
# - { key: F12, chars: "\x1b[24~" }
# - { key: Back, chars: "\x7f" }
# - { key: Back, mods: Alt, chars: "\x1b\x7f" }
# - { key: Insert, chars: "\x1b[2~" }
# - { key: Delete, chars: "\x1b[3~" }
# # shortcuts for tmux. the leader key is control-b (0x02)
# - { key: W, mods: Command, chars: "\x02&" } # close tab (kill)
# - { key: T, mods: Command, chars: "\x02c" } # new tab
# - { key: RBracket, mods: Command|Shift, chars: "\x02n" } # select next tab
# - { key: LBracket, mods: Command|Shift, chars: "\x02p" } # select previous tab
# - { key: RBracket, mods: Command, chars: "\x02o" } # select next pane
# - { key: LBracket, mods: Command, chars: "\x02;" } # select last (previously used) pane
# - { key: F, mods: Command, chars: "\x02/" } # search (upwards) (see tmux.conf)
# 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: true
# # URL launcher
# # url:
# # 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 `None`, URL launching will be disabled completely.
# #
# # Default:
# # - (macOS) open
# # - (Linux) xdg-open
# # - (Windows) explorer
# # launcher:
# # program: xdg-open
# # args: []
# # 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: Control|Shift
# selection:
# semantic_escape_chars: ",│`|:\"' ()[]{}<>"
# # When set to `true`, selected text will be copied to the primary clipboard.
# save_to_clipboard: false
# # Mouse bindings
# #
# # Available fields:
# # - mouse
# # - action
# # - mods (optional)
# #
# # Values for `mouse`:
# # - Middle
# # - Left
# # - Right
# # - Numeric identifier such as `5`
# #
# # All available `mods` and `action` values are documented in the key binding
# # section.
# mouse_bindings:
# - { mouse: Middle, action: PasteSelection }
# cursor:
# # Cursor style
# #
# # Values for 'style':
# # - ▇ Block
# # - _ Underline
# # - | Beam
# style: Block
# # If this is `true`, the cursor will be rendered as a hollow box when the
# # window is not focused.
# unfocused_hollow: true
# # dynamic_title: false
# # Live config reload (changes require restart)
# live_config_reload: true
# debug:
# # Should display the render timer
# render_timer: false
# # Keep the log file after quitting Alacritty.
# persistent_logging: false
# # Log level
# #
# # Values for `log_level`:
# # - OFF
# # - ERROR
# # - WARN
# # - INFO
# # - DEBUG
# # - TRACE
# log_level: OFF
# # Print all received window events.
# print_events: false
# # Record all characters and escape sequences as test data.
# ref_test: false
# # 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.
# shell:
# program: /usr/local/bin/fish
# args:
# - --command=tmux
# # vim: nospell