From 4fd3c35d52d9a396f2307d063cb58717c8c60a6c Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Sat, 21 Mar 2020 12:40:41 +0000 Subject: [PATCH] alacritty: rebase config against upstream changes --- .config/alacritty/alacritty.yml | 722 ++++++++++++++++++++------------ 1 file changed, 449 insertions(+), 273 deletions(-) diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index ed4c55a..23d539b 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -1,6 +1,5 @@ # 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 itself. @@ -9,9 +8,8 @@ env: # # This value is used to set the `$TERM` environment variable for # each instance of Alacritty. If it is not present, alacritty will - # check the local terminfo database and use 'alacritty' if it is - # available, otherwise 'xterm-256color' is used. - # + # check the local terminfo database and use `alacritty` if it is + # available, otherwise `xterm-256color` is used. TERM: xterm-256color window: @@ -19,9 +17,17 @@ window: # # Specified in number of columns/lines, not pixels. # If both are `0`, this setting is ignored. - dimensions: - columns: 80 - lines: 24 + #dimensions: + # columns: 0 + # lines: 0 + + # Window position (changes require restart) + # + # Specified in number of pixels. + # If the position is not set, the window manager will handle the placement. + #position: + # x: 0 + # y: 0 # Window padding (changes require restart) # @@ -31,7 +37,6 @@ window: x: 22 y: 22 - # Spread additional padding evenly around the terminal content. dynamic_padding: false @@ -40,6 +45,10 @@ window: # Values for `decorations`: # - full: Borders and title bar # - none: Neither borders nor title bar + # + # Values for `decorations` (macOS only): + # - transparent: Title bar, transparent background and title bar buttons + # - buttonless: Title bar, transparent background, but no title bar buttons decorations: full # Startup Mode (changes require restart) @@ -53,6 +62,22 @@ window: # - SimpleFullscreen startup_mode: Windowed + # Window title + #title: Alacritty + + # Window class (Linux/BSD only): + #class: + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty + + # GTK theme variant (Linux/BSD only) + # + # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`. + # Set this to `None` to use the default theme variant. + #gtk_theme_variant: None + scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. @@ -62,86 +87,119 @@ scrolling: # scrollback is enabled (history > 0). multiplier: 3 -# Font configuration (changes require restart) -# -# Important font attributes like antialiasing, subpixel aa, and hinting can be -# controlled through fontconfig. Specifically, the following attributes should -# have an effect: -# - hintstyle -# - antialias -# - lcdfilter -# - rgba -# -# For instance, if you wish to disable subpixel antialiasing, you might set the -# rgba property to `none`. If you wish to completely disable antialiasing, you -# can set antialias to `false`. -# -# Please see these resources for more information on how to use fontconfig: -# - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration -# - file:///usr/share/doc/fontconfig/fontconfig-user.html +# Font configuration font: # Normal (roman) font face - normal: - family: monospace + #normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + #family: monospace + # The `style` can be specified to pick a specific face. - # style: Regular + #style: Regular # Bold font face - bold: - family: monospace + #bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + # The `style` can be specified to pick a specific face. - # style: Bold + #style: Bold # Italic font face - italic: - family: monospace + #italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + # The `style` can be specified to pick a specific face. - # style: Italic + #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: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic # Point size size: 9.0 # Offset is the extra space around each character. `offset.y` can be thought of # as modifying the line spacing, and `offset.x` as modifying the letter spacing. - offset: - x: 0 - y: 0 + #offset: + # x: 0 + # y: 0 # Glyph offset determines the locations of the glyphs within their cells with # the default being at the bottom. Increasing `x` moves the glyph to the right, # increasing `y` moves the glyph upwards. - glyph_offset: - x: 0 - y: 0 + #glyph_offset: + # x: 0 + # y: 0 -debug: - # Display the time it takes to redraw each frame. - render_timer: false + # Thin stroke font rendering (macOS only) + # + # Thin strokes are suitable for retina displays, but for non-retina screens + # it is recommended to set `use_thin_strokes` 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 # If `true`, bold text is drawn using the bright color variants. draw_bold_text_with_bright_colors: true +# Colors (Tomorrow Night Bright) colors: # Default colors primary: - foreground: '0xeceff1' - background: '0x383c4a' + foreground: '#eceff1' + background: '#383c4a' # 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: '0x9a9a9a' - #bright_foreground: '0xffffff' + #dim_foreground: '#9a9a9a' + #bright_foreground: '#ffffff' # Cursor colors # - # These will only be used when the `custom_cursor_colors` field is set to `true`. + # Colors which should be used to draw the terminal cursor. If these are + # unset, the cursor color will be the inverse of the cell color. cursor: - text: '0xeceff1' - cursor: '0x5294e2' + text: '#eceff1' + cursor: '#5294e2' + + # Vi mode cursor colors + # + # Colors for the cursor when the vi mode is active. If these are unset, the + # cursor color will be the inverse of the cell color. + #vi_mode_cursor: + # text: '#000000' + # cursor: '#ffffff' # Selection colors # @@ -149,38 +207,54 @@ colors: # background is unset, selection color will be the inverse of the cell colors. # If only text is unset the cell text color will remain the same. selection: - background: '0x5294e2' - # text: '0xeaeaea' + # text: '#eaeaea' + background: '#5294e2' # Normal colors normal: - black: '0x333638' - red: '0xf41f1c' - green: '0x8bc34a' - yellow: '0xffc107' - blue: '0x0266f4' - magenta: '0xcc17cc' - cyan: '0x10aeba' - white: '0x8b9396' + black: '#333638' + red: '#f41f1c' + green: '#8bc34a' + yellow: '#ffc107' + blue: '#0266f4' + magenta: '#cc17cc' + cyan: '#10aeba' + white: '#8b9396' # Bright colors bright: - black: '0x475760' - red: '0xe53727' - green: '0x9ccc65' - yellow: '0xffa000' - blue: '0x81b3f9' - magenta: '0xa56ecc' - cyan: '0x5ddae2' - white: '0xeceff1' + black: '#475760' + red: '#e53727' + green: '#9ccc65' + yellow: '#ffa000' + blue: '#81b3f9' + magenta: '#a56ecc' + cyan: '#5ddae2' + white: '#eceff1' + + # Dim colors + # + # If the dim colors are not set, they will be calculated automatically based + # on the `normal` colors. + #dim: + # black: '#000000' + # red: '#8c3336' + # green: '#7a8530' + # yellow: '#97822e' + # blue: '#506d8f' + # magenta: '#80638e' + # cyan: '#497e7a' + # white: '#9a9a9a' # Indexed Colors # # The indexed colors include all colors from 16 to 256. # When these are not set, they're filled with sensible defaults. # - #indexed_colors: - # - { index: 16, color: '0x000000' } + # Example: + # `- { index: 16, color: '#ff00ff' }` + # + #indexed_colors: [] # Visual Bell # @@ -203,9 +277,10 @@ colors: # - Linear # # Specifying a `duration` of `0` will disable the visual bell. -visual_bell: - animation: EaseOutExpo - duration: 0 +#visual_bell: +# animation: EaseOutExpo +# duration: 0 +# color: '#ffffff' # Background opacity # @@ -213,68 +288,32 @@ visual_bell: # The value `0.0` is completely transparent and `1.0` is opaque. background_opacity: 0.85 -# 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 } - -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. - launcher: xdg-open - - # 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: Control|Shift - selection: - semantic_escape_chars: ",│`|:\"' ()[]{}<>" + #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" - # When set to `true`, selected text will be copied to both the primary and - # the selection clipboard. Otherwise, it will only be copied to the selection - # clipboard. + # When set to `true`, selected text will be copied to the primary clipboard. save_to_clipboard: false +# Allow terminal applications to change Alacritty's window title. dynamic_title: true cursor: # Cursor style # - # Values for '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 @@ -287,185 +326,322 @@ live_config_reload: true # 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 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 `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. 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 sequnce to the running application (`chars`), execute -# a predefined action (`action`) or fork and execute a specified command plus -# arguments (`command`). +# Key bindings are specified as a list of objects. For example, this is the +# default paste binding: # -# Example: -# `- { key: V, mods: Command, action: Paste }` +# `- { key: V, mods: Control|Shift, action: Paste }` # -# Available fields: -# - key -# - mods (optional) -# - chars | action | command (exactly one required) -# - mode (optional) +# Each key binding will specify a: # -# Values for `key`: -# - `A` -> `Z` -# - `F1` -> `F12` -# - `Key1` -> `Key0` +# - `key`: Identifier of the key pressed # -# A full list with available key codes can be found here: -# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants +# - A-Z +# - F1-F24 +# - Key0-Key9 # -# Values for `mods`: -# - Command -# - Control -# - Shift -# - Alt +# A full list with available key codes can be found here: +# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants # -# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. -# Whitespace and capitalization is relevant and must match the example. +# 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: # -# 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. +# `showkey --scancodes`. # -# Values for `action`: +# 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 +# - Copy # - Paste # - PasteSelection -# - Copy # - IncreaseFontSize # - DecreaseFontSize # - ResetFontSize # - ScrollPageUp # - ScrollPageDown +# - ScrollLineUp +# - ScrollLineDown # - ScrollToTop # - ScrollToBottom # - ClearHistory # - Hide +# - Minimize # - Quit +# - ToggleFullscreen +# - SpawnNewInstance +# - ClearLogNotice +# - ClearSelection +# - ReceiveChar +# - None # -# Values for `command`: -# The `command` field must be a map containing a `program` string and -# an `args` array of command line parameter strings. +# (`mode: Vi` only): +# - Open +# - Up +# - Down +# - Left +# - Right +# - First +# - Last +# - FirstOccupied +# - High +# - Middle +# - Low +# - SemanticLeft +# - SemanticRight +# - SemanticLeftEnd +# - SemanticRightEnd +# - WordRight +# - WordLeft +# - WordRightEnd +# - WordLeftEnd +# - Bracket +# - ToggleNormalSelection +# - ToggleLineSelection +# - ToggleBlockSelection +# - ToggleSemanticSelection # -# Example: -# `command: { program: "alacritty", args: ["-e", "vttest"] }` +# (macOS only): +# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space # -# Values for `mode`: -# - ~AppCursor -# - AppCursor -# - ~AppKeypad -# - AppKeypad +# - `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 +# +# 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 +# at once. key_bindings: - - { key: V, mods: Control|Shift, action: Paste } - - { key: C, mods: Control|Shift, action: Copy } - - { key: Paste, action: Paste } - - { key: Copy, action: Copy } - - { key: Q, mods: Command, action: Quit } - - { key: W, mods: Command, action: Quit } - - { key: Insert, mods: Shift, action: PasteSelection } - - { key: Equals, mods: Control, action: ResetFontSize } - - { key: Add, mods: Control|Shift, action: IncreaseFontSize } - - { key: Subtract, mods: Control|Shift, action: DecreaseFontSize } - - { 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: 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: Tab, mods: Shift, chars: "\x1b[Z" } - - { key: Back, chars: "\x7f" } - - { key: Back, mods: Alt, chars: "\x1b\x7f" } - - { key: Insert, chars: "\x1b[2~" } - - { key: Delete, chars: "\x1b[3~" } - - { 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: 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: F1, mods: Shift, chars: "\x1b[1;2P" } - - { key: F2, mods: Shift, chars: "\x1b[1;2Q" } - - { key: F3, mods: Shift, chars: "\x1b[1;2R" } - - { key: F4, mods: Shift, chars: "\x1b[1;2S" } - - { key: F5, mods: Shift, chars: "\x1b[15;2~" } - - { key: F6, mods: Shift, chars: "\x1b[17;2~" } - - { key: F7, mods: Shift, chars: "\x1b[18;2~" } - - { key: F8, mods: Shift, chars: "\x1b[19;2~" } - - { key: F9, mods: Shift, chars: "\x1b[20;2~" } - - { key: F10, mods: Shift, chars: "\x1b[21;2~" } - - { key: F11, mods: Shift, chars: "\x1b[23;2~" } - - { key: F12, mods: Shift, chars: "\x1b[24;2~" } - - { key: F1, mods: Control, chars: "\x1b[1;5P" } - - { key: F2, mods: Control, chars: "\x1b[1;5Q" } - - { key: F3, mods: Control, chars: "\x1b[1;5R" } - - { key: F4, mods: Control, chars: "\x1b[1;5S" } - - { key: F5, mods: Control, chars: "\x1b[15;5~" } - - { key: F6, mods: Control, chars: "\x1b[17;5~" } - - { key: F7, mods: Control, chars: "\x1b[18;5~" } - - { key: F8, mods: Control, chars: "\x1b[19;5~" } - - { key: F9, mods: Control, chars: "\x1b[20;5~" } - - { key: F10, mods: Control, chars: "\x1b[21;5~" } - - { key: F11, mods: Control, chars: "\x1b[23;5~" } - - { key: F12, mods: Control, chars: "\x1b[24;5~" } - - { key: F1, mods: Alt, chars: "\x1b[1;6P" } - - { key: F2, mods: Alt, chars: "\x1b[1;6Q" } - - { key: F3, mods: Alt, chars: "\x1b[1;6R" } - - { key: F4, mods: Alt, chars: "\x1b[1;6S" } - - { key: F5, mods: Alt, chars: "\x1b[15;6~" } - - { key: F6, mods: Alt, chars: "\x1b[17;6~" } - - { key: F7, mods: Alt, chars: "\x1b[18;6~" } - - { key: F8, mods: Alt, chars: "\x1b[19;6~" } - - { key: F9, mods: Alt, chars: "\x1b[20;6~" } - - { key: F10, mods: Alt, chars: "\x1b[21;6~" } - - { key: F11, mods: Alt, chars: "\x1b[23;6~" } - - { key: F12, mods: Alt, chars: "\x1b[24;6~" } - - { key: F1, mods: Super, chars: "\x1b[1;3P" } - - { key: F2, mods: Super, chars: "\x1b[1;3Q" } - - { key: F3, mods: Super, chars: "\x1b[1;3R" } - - { key: F4, mods: Super, chars: "\x1b[1;3S" } - - { key: F5, mods: Super, chars: "\x1b[15;3~" } - - { key: F6, mods: Super, chars: "\x1b[17;3~" } - - { key: F7, mods: Super, chars: "\x1b[18;3~" } - - { key: F8, mods: Super, chars: "\x1b[19;3~" } - - { key: F9, mods: Super, chars: "\x1b[20;3~" } - - { key: F10, mods: Super, chars: "\x1b[21;3~" } - - { key: F11, mods: Super, chars: "\x1b[23;3~" } - - { key: F12, mods: Super, chars: "\x1b[24;3~" } + - { 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: 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: 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 } + + # (Windows, Linux, and BSD only) + - { key: V, mods: Control|Shift, action: Paste } + - { key: C, mods: Control|Shift, action: Copy } + - { key: Insert, mods: Shift, action: PasteSelection } + - { key: Key0, mods: Control, action: ResetFontSize } + - { key: Equals, mods: Control, action: ResetFontSize } + - { key: Add, mods: Control, action: IncreaseFontSize } + - { key: Subtract, mods: Control, action: DecreaseFontSize } + - { key: Minus, 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: Add, mods: Command, action: IncreaseFontSize } + #- { key: Minus, mods: Command, action: DecreaseFontSize } + #- { key: K, mods: Command, action: ClearHistory } + #- { key: V, mods: Command, action: Paste } + #- { key: C, mods: Command, action: Copy } + #- { 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: Command|Control, action: ToggleFullscreen } + +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: Info + + # Print all received window events. + #print_events: false