diff --git a/dotfiles/config.org b/dotfiles/config.org index 58f3e38..ceaea78 100644 --- a/dotfiles/config.org +++ b/dotfiles/config.org @@ -1766,13 +1766,21 @@ window: 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) # # 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: 2 - y: 2 + x: 0 + y: 0 # Spread additional padding evenly around the terminal content. dynamic_padding: false @@ -1788,8 +1796,25 @@ window: # - buttonless: Title bar, transparent background, but no title bar buttons decorations: full - # When true, alacritty starts maximized. - start_maximized: false + # 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 + + # GTK theme variant (Linux 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. @@ -1890,17 +1915,10 @@ font: # effect. use_thin_strokes: true -# Display the time it takes to redraw each frame. -render_timer: false - -# Keep the log file after quitting Alacritty. -persistent_logging: false - # If `true`, bold text is drawn using the bright color variants. draw_bold_text_with_bright_colors: true -# Colors (Tomorrow Night Bright) -# Colors (Gruvbox dark) +# Colors (Gruvbox) colors: # Default colors primary: @@ -1931,16 +1949,6 @@ colors: cyan: '0x8ec07c' white: '0xebdbb2' - # 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 @@ -1973,56 +1981,6 @@ visual_bell: # The value `0.0` is completely transparent and `1.0` is opaque. background_opacity: 1.0 -# 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. - # - # When set to `None`, URL launching will be disabled completely. - # - # Default: - # - (macOS) open - # - (Linux) xdg-open - # - (Windows) explorer - #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: None - selection: semantic_escape_chars: ",│`|:\"' ()[]{}<>" @@ -2054,13 +2012,20 @@ live_config_reload: true # Entries in `shell.args` are passed unmodified as arguments to the shell. # # Default: -# - (Linux/macOS) /bin/bash --login +# - (macOS) /bin/bash --login +# - (Linux) 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 + # Windows 10 ConPTY backend (Windows only) # # This will enable better color support and may resolve other issues, @@ -2075,91 +2040,183 @@ enable_experimental_conpty_backend: false # Send ESC (\x1b) before characters when alt is pressed. alt_send_esc: true +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 + + # Record all characters and escape sequences as test data. + ref_test: false + +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) 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. +# +# 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 sequence 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: # -# 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. +# `- { key: V, mods: Control|Shift, action: Paste }` # -# Example: -# `- { key: V, mods: Control|Shift, action: Paste }` +# Each key binding will specify a: # -# Available fields: -# - key -# - mods (optional) -# - chars | action | command (exactly one required) -# - mode (optional) +# - `key`: Identifier of the key pressed # -# Values for `key`: -# - `A` -> `Z` -# - `F1` -> `F12` -# - `Key1` -> `Key0` +# - A-Z +# - F1-F12 +# - Key0-Key9 # -# A full list with available key codes can be found here: -# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants +# 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` +# 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 `mods`: -# - Command -# - Control -# - Super -# - Shift -# - Alt +# `showkey --scancodes`. # -# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. -# Whitespace and capitalization is relevant and must match the example. +# Then exactly one of: # -# 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. +# - `chars`: Send a byte sequence to the running application # -# Values for `action`: +# 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 +# +# - Copy # - Paste # - PasteSelection -# - Copy # - IncreaseFontSize # - DecreaseFontSize # - ResetFontSize # - ScrollPageUp # - ScrollPageDown +# - ScrollLineUp +# - ScrollLineDown # - ScrollToTop # - ScrollToBottom # - ClearHistory # - Hide # - Quit -# - ClearLogNotice +# - ToggleFullscreen # - SpawnNewInstance +# - ClearLogNotice # - None # -# Values for `command`: -# The `command` field must be a map containing a `program` string and -# an `args` array of command line parameter strings. +# (macOS only): +# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space # -# Example: -# `command: { program: "alacritty", args: ["-e", "vttest"] }` +# - `command`: Fork and execute a specified command plus arguments # -# Values for `mode`: -# - ~AppCursor -# - AppCursor -# - ~AppKeypad -# - AppKeypad +# 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 `None` action. key_bindings: # (Windows/Linux only) #- { key: V, mods: Control|Shift, action: Paste } @@ -2167,35 +2224,44 @@ key_bindings: #- { 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: 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: 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" }