From 3af9e0a1fa7afbcf45a875d92323d8afa316d37e Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Sun, 18 Oct 2020 20:24:04 +0200 Subject: [PATCH] Update alacritty with vim and all --- .config/alacritty/alacritty.yml | 938 +++++++++++++++++--------------- 1 file changed, 491 insertions(+), 447 deletions(-) diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index da4f152..27252c8 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -1,25 +1,34 @@ # Configuration for Alacritty, the GPU enhanced terminal emulator. +# Import additional configuration files +# +# These configuration files will be loaded in order, replacing values in files +# loaded earlier with those loaded later in the chain. The file itself will +# always be loaded last. +#import: +# - /path/to/alacritty.yml + # Any items in the `env` entry below will be added as # environment variables. Some entries may override variables # set by alacritty itself. -#env: +env: # TERM variable # # 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. - #TERM: xterm-256color + TERM: xterm window: # Window dimensions (changes require restart) # - # Specified in number of columns/lines, not pixels. - # If both are `0`, this setting is ignored. - dimensions: - columns: 0 - lines: 0 + # Number of lines/columns (not pixels) in the terminal. The number of columns + # must be at least `2`, while using a value of `0` for columns and lines will + # fall back to the window manager's recommended size. + #dimensions: + # columns: 0 + # lines: 0 # Window position (changes require restart) # @@ -33,9 +42,9 @@ window: # # Blank space added around the window in pixels. This padding is scaled # by DPI and the specified value is always added at both opposing sides. - padding: - x: 0 - y: 0 + #padding: + # x: 0 + # y: 0 # Spread additional padding evenly around the terminal content. dynamic_padding: false @@ -51,68 +60,47 @@ window: # - buttonless: Title bar, transparent background, but no title bar buttons decorations: full - # Startup Mode (changes require restart) - # - # Values for `startup_mode`: - # - Windowed - # - Maximized - # - Fullscreen - # - # Values for `startup_mode` (macOS only): - # - SimpleFullscreen - startup_mode: Windowed - # Window title #title: Alacritty - # Window class (Linux only): - #class: Alacritty + # Allow terminal applications to change Alacritty's window title. + dynamic_title: true + + # 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. - history: 10000 + history: 100000 - # Number of lines the viewport will move for every line scrolled when - # scrollback is enabled (history > 0). - multiplier: 3 + # Scrolling distance multiplier. + #multiplier: 3 -# Font configuration (changes require restart) +# Font configuration font: - # Normal (roman) font face - #normal: - # Font family - # - # Default: - # - (macOS) Menlo - # - (Linux) monospace - # - (Windows) Consolas - #family: monospace - - # The `style` can be specified to pick a specific face. - #style: Regular - - # Bold font face + normal: + family: monospace + style: Regular #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 - - # 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 - - # The `style` can be specified to pick a specific face. - #style: Italic + italic: + family: monospace + style: Italic + bold_italic: + family: monospace + style: Bold Italic # Point size size: 11.0 @@ -125,97 +113,108 @@ font: # 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. + # increasing `y` moves 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 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 +draw_bold_text_with_bright_colors: false -# Colors (Tomorrow Night Bright) +# Colors (Tomorrow Night) colors: # Default colors primary: - background: '0x1f1f1f' - foreground: '0xd7d7d7' + 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: '0x9a9a9a' - #bright_foreground: '0xffffff' + dim_foreground: '#828482' + bright_foreground: '#eaeaea' # Cursor colors # - # 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: '0x000000' - # cursor: '0xffffff' + # 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. If selection - # 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: - # text: '0xeaeaea' - # background: '0x404040' + # 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: '#ddee00' + + bar: + background: '#c5c8c6' + foreground: '#1d1f21' # Normal colors normal: - black: '0x000000' - red: '0xd54e53' - green: '0xb9ca4a' - yellow: '0xe6c547' - blue: '0x7aa6da' - magenta: '0xc397d8' - cyan: '0x70c0ba' - white: '0xeaeaea' + black: '#1d1f21' + red: '#cc6666' + green: '#b5bd68' + yellow: '#f0c674' + blue: '#81a2be' + magenta: '#b294bb' + cyan: '#8abeb7' + white: '#c5c8c6' # Bright colors bright: - black: '0x666666' - red: '0xff3334' - green: '0x9ec400' - yellow: '0xe7c547' - blue: '0x7aa6da' - magenta: '0xb77ee0' - cyan: '0x54ced6' - white: '0xffffff' + black: '#666666' + red: '#d54e53' + green: '#b9ca4a' + yellow: '#e7c547' + blue: '#7aa6da' + magenta: '#c397d8' + cyan: '#70c0b1' + white: '#eaeaea' # Dim colors # # If the dim colors are not set, they will be calculated automatically based # on the `normal` colors. - #dim: - # black: '0x000000' - # red: '0x8c3336' - # green: '0x7a8530' - # yellow: '0x97822e' - # blue: '0x506d8f' - # magenta: '0x80638e' - # cyan: '0x497e7a' - # white: '0x9a9a9a' + dim: + black: '#131415' + red: '#864343' + green: '#777c44' + yellow: '#9e824c' + blue: '#556a7d' + magenta: '#75617b' + cyan: '#5b7d78' + white: '#828482' # Indexed Colors # @@ -223,35 +222,50 @@ colors: # When these are not set, they're filled with sensible defaults. # # Example: - # `- { index: 16, color: '0xff00ff' }` + # `- { index: 16, color: '#ff00ff' }` # - indexed_colors: [] + #indexed_colors: [] -# Visual Bell +# 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. -# -# Values for `animation`: -# - Ease -# - EaseOut -# - EaseOutSine -# - EaseOutQuad -# - EaseOutCubic -# - EaseOutQuart -# - EaseOutQuint -# - EaseOutExpo -# - EaseOutCirc -# - Linear -# -# Specifying a `duration` of `0` will disable the visual bell. -bell: - animation: EaseOutExpo - duration: 0 - color: '0xffffff' +# 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 # @@ -259,23 +273,63 @@ bell: # The value `0.0` is completely transparent and `1.0` is opaque. background_opacity: 1.0 -# Mouse bindings +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: true + +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: Underline + + # 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: 1.0 + +# Live config reload (changes require restart) +live_config_reload: true + +# Shell # -# Available fields: -# - mouse -# - action -# - mods (optional) +# 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. # -# Values for `mouse`: -# - Middle -# - Left -# - Right -# - Numeric identifier such as `5` +# Default: +# - (macOS) /bin/bash --login +# - (Linux/BSD) user login shell +# - (Windows) powershell +shell: + program: /bin/bash + args: + - --login + +# Startup directory # -# All available `mods` and `action` values are documented in the key binding -# section. -mouse_bindings: - - { mouse: Middle, action: PasteSelection } +# 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 + +# Send ESC (\x1b) before characters when alt is pressed. +#alt_send_esc: true mouse: # Click settings @@ -295,15 +349,15 @@ mouse: # 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. + # When set to `launcher: None`, URL launching will be disabled completely. # # Default: # - (macOS) open - # - (Linux) xdg-open + # - (Linux/BSD) xdg-open # - (Windows) explorer launcher: - program: firefox - args: [] + program: xdg-open + # args: [] # URL modifiers # @@ -311,71 +365,289 @@ mouse: # on them. The available modifiers are documented in the key binding section. modifiers: None -selection: - semantic_escape_chars: ",│`|:\"' ()[]{}<>" - - # 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. -window.dynamic_title: true - -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 - -# Live config reload (changes require restart) -live_config_reload: true - -# Shell +# Mouse bindings # -# 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. +# Mouse bindings are specified as a list of objects, much like the key +# bindings further below. # -# Default: -# - (macOS) /bin/bash --login -# - (Linux) user login shell -# - (Windows) powershell -#shell: -# program: /bin/bash -# args: -# - --login - -# Startup directory +# To trigger mouse bindings when an application running within Alacritty captures the mouse, the +# `Shift` modifier is automatically added as a requirement. # -# 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 - -# Windows 10 ConPTY backend (Windows only) +# Each mouse binding will specify a: # -# This will enable better color support and may resolve other issues, -# however this API and its implementation is still young and so is -# disabled by default, as stability may not be as good as the winpty -# backend. +# - `mouse`: # -# Alacritty will fall back to the WinPTY automatically if the ConPTY -# backend cannot be initialized. -enable_experimental_conpty_backend: false +# - Middle +# - Left +# - Right +# - Numeric identifier such as `5` +# +# - `action` (see key bindings) +# +# And optionally: +# +# - `mods` (see key bindings) +mouse_bindings: + - { mouse: Middle, action: PasteSelection } -# Send ESC (\x1b) before characters when alt is pressed. -alt_send_esc: true +# 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 } -debug: + # 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: Add, mods: Control, action: IncreaseFontSize } + - { key: Minus, mods: Control, action: DecreaseFontSize } + +#debug: # Display the time it takes to redraw each frame. - render_timer: false + #render_timer: false # Keep the log file after quitting Alacritty. - persistent_logging: false + #persistent_logging: false # Log level # @@ -386,235 +658,7 @@ debug: # - Info # - Debug # - Trace - log_level: Warn + #log_level: Warn # Print all received window events. - print_events: false - - # Record all characters and escape sequences as test data. - ref_test: false - -# 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: - # (Windows/Linux 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: IncreaseFontSize } - #- { key: Add, mods: Control, action: IncreaseFontSize } - #- { key: Subtract, mods: Control, action: DecreaseFontSize } - #- { key: Minus, mods: Control, action: DecreaseFontSize } - #- { key: Return, mods: Alt, action: ToggleFullscreen } - - # (macOS only) - #- { 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: K, mods: Command, chars: "\x0c" } - #- { key: V, mods: Command, action: Paste } - #- { key: C, mods: Command, action: Copy } - #- { key: H, mods: Command, action: Hide } - #- { key: Q, mods: Command, action: Quit } - #- { key: W, mods: Command, action: Quit } - #- { key: F, mods: Command|Control, action: ToggleFullscreen } - - - { key: Paste, action: Paste } - - { key: Copy, action: Copy } - - { key: L, mods: Control, action: ClearLogNotice } - - { key: L, mods: Control, chars: "\x0c" } - - { key: Home, mods: Alt, chars: "\x1b[1;3H" } - - { key: Home, chars: "\x1bOH", mode: AppCursor } - - { key: Home, chars: "\x1b[H", mode: ~AppCursor } - - { key: End, mods: Alt, chars: "\x1b[1;3F" } - - { key: End, chars: "\x1bOF", mode: AppCursor } - - { key: End, chars: "\x1b[F", mode: ~AppCursor } - - { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt } - - { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt } - - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } - - { key: PageUp, mods: Alt, chars: "\x1b[5;3~" } - - { key: PageUp, chars: "\x1b[5~" } - - { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt } - - { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt } - - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } - - { key: PageDown, mods: Alt, chars: "\x1b[6;3~" } - - { 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: NumpadEnter, chars: "\n" } + #print_events: false