summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2023-06-12 02:23:41 +0200
committerGitHub <noreply@github.com>2023-06-12 00:23:41 +0000
commitbd4906722a1a026b01f06c94c33b13ff63a7e044 (patch)
treea2713a7b0a5fa23ec8b9055d7ed06f1cede62447
parentea2c39e65d21728e0f04b0eafcec7153e4447cd5 (diff)
Switch to TOML configuration format
This switches Alacritty's default configuration format from yaml to toml. While yaml is still supported, it is done by converting it to toml and should be removed entirely in the future. All existing features were persisted based on my testing. Behavior should not change much, though `--option` might have slightly different behavior since the entire line is not interpreted as one line of toml. A new `alacritty migrate` subcommand has been added which allows automatic migration from yaml to toml. This also could be used as a facility to automatically fix configuration file changes in the future. Closes #6592.
-rw-r--r--.editorconfig4
-rw-r--r--.github/workflows/release.yml3
-rw-r--r--CHANGELOG.md16
-rw-r--r--CONTRIBUTING.md3
-rw-r--r--Cargo.lock34
-rw-r--r--INSTALL.md2
-rw-r--r--Makefile6
-rw-r--r--README.md17
-rw-r--r--alacritty.yml911
-rw-r--r--alacritty/Cargo.toml1
-rw-r--r--alacritty/src/cli.rs116
-rw-r--r--alacritty/src/config/bindings.rs38
-rw-r--r--alacritty/src/config/color.rs7
-rw-r--r--alacritty/src/config/mod.rs202
-rw-r--r--alacritty/src/config/mouse.rs28
-rw-r--r--alacritty/src/config/serde_utils.rs66
-rw-r--r--alacritty/src/config/ui_config.rs109
-rw-r--r--alacritty/src/config/window.rs4
-rw-r--r--alacritty/src/display/content.rs4
-rw-r--r--alacritty/src/main.rs15
-rw-r--r--alacritty/src/migrate.rs249
-rw-r--r--alacritty/src/window_context.rs6
-rw-r--r--alacritty_config/Cargo.toml2
-rw-r--r--alacritty_config/src/lib.rs2
-rw-r--r--alacritty_config_derive/Cargo.toml6
-rw-r--r--alacritty_config_derive/src/config_deserialize/de_struct.rs26
-rw-r--r--alacritty_config_derive/src/serde_replace.rs4
-rw-r--r--alacritty_config_derive/tests/config.rs37
-rw-r--r--alacritty_terminal/Cargo.toml1
-rw-r--r--alacritty_terminal/src/ansi.rs6
-rw-r--r--docs/features.md6
l---------extra/alacritty.yml1
-rw-r--r--extra/completions/_alacritty33
-rw-r--r--extra/completions/alacritty.bash46
-rw-r--r--extra/completions/alacritty.fish14
-rw-r--r--extra/man/alacritty-bindings.5.scd478
-rw-r--r--extra/man/alacritty.1.scd10
-rw-r--r--extra/man/alacritty.5.scd823
38 files changed, 2103 insertions, 1233 deletions
diff --git a/.editorconfig b/.editorconfig
index d68a9a4d..065542cc 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -10,10 +10,6 @@ insert_final_newline = true
indent_style = space
indent_size = 4
-[*.yml]
-indent_style = space
-indent_size = 2
-
[Makefile]
indent_style = tab
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3eedddce..98903798 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -76,6 +76,8 @@ jobs:
run: |
scdoc < extra/man/alacritty.1.scd | gzip -c > "./alacritty.1.gz"
scdoc < extra/man/alacritty-msg.1.scd | gzip -c > "./alacritty-msg.1.gz"
+ scdoc < extra/man/alacritty.5.scd | gzip -c > "./alacritty.5.gz"
+ scdoc < extra/man/alacritty-bindings.5.scd | gzip -c > "./alacritty-bindings.5.gz"
- name: Upload Assets
run: |
mv ./extra/logo/alacritty-term.svg ./Alacritty.svg
@@ -87,4 +89,3 @@ jobs:
./.github/workflows/upload_asset.sh ./extra/completions/_alacritty $GITHUB_TOKEN
./.github/workflows/upload_asset.sh ./extra/linux/Alacritty.desktop $GITHUB_TOKEN
./.github/workflows/upload_asset.sh ./extra/alacritty.info $GITHUB_TOKEN
- ./.github/workflows/upload_asset.sh ./alacritty.yml $GITHUB_TOKEN
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cda212ed..4ca925ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,16 +12,32 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Minimum Rust version has been bumped to 1.65.0
- Manpages are now generated using `scdoc` (see `INSTALL.md`)
+### Added
+
+- Warnings for unused configuration file options
+
### Changed
- Mode-specific bindings can now be bound in any mode for easier macros
- `--help` output is more compact now and uses more neutral palette
+- Configuration file now uses TOML instead of YAML
+ Run `alacritty migrate` to automatically convert all configuration files
+- Deprecated config option `draw_bold_text_with_bright_colors`, use
+ `colors.draw_bold_text_with_bright_colors`
+- Deprecated config option `key_bindings`, use `keyboard.bindings`
+- Deprecated config option `mouse_bindings`, use `mouse.bindings`
### Fixed
- Hyperlink preview not being shown when the terminal has exactly 2 lines
- Crash on Windows when changing display scale factor
+### Removed
+
+- Config option `background_opacity`, use `window.background_opacity`
+- Config option `colors.search.bar`, use `colors.footer_bar` instead
+- Config option `mouse.url`, use the `hints` config section
+
## 0.12.1
### Fixed
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e41b85f3..a40a81db 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -86,8 +86,7 @@ Latency is another important factor for Alacritty. On X11, Windows, and macOS th
Code should be documented where appropriate. The existing code can be used as a guidance here and
the general `rustfmt` rules can be followed for formatting.
-If any change has been made to the `config.rs` file, these changes should also be documented in the
-example configuration file `alacritty.yml`.
+If any change has been made to the `config.rs` file, it should also be documented in the man pages.
Changes compared to the latest Alacritty release which have a direct effect on the user (opposed to
things like code refactorings or documentation/tests) additionally need to be documented in the
diff --git a/Cargo.lock b/Cargo.lock
index 7ee44996..b84ee05d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -38,6 +38,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
+ "toml 0.7.4",
"unicode-width",
"wayland-client",
"windows-sys 0.48.0",
@@ -52,7 +53,7 @@ version = "0.1.2-dev"
dependencies = [
"log",
"serde",
- "serde_yaml",
+ "toml 0.7.4",
"winit",
]
@@ -65,8 +66,8 @@ dependencies = [
"proc-macro2",
"quote",
"serde",
- "serde_yaml",
"syn 2.0.18",
+ "toml 0.7.4",
]
[[package]]
@@ -92,6 +93,7 @@ dependencies = [
"serde_yaml",
"signal-hook",
"signal-hook-mio",
+ "toml 0.7.4",
"unicode-width",
"vte",
"windows-sys 0.48.0",
@@ -585,7 +587,7 @@ checksum = "e62abb876c07e4754fae5c14cafa77937841f01740637e17d78dc04352f32a5e"
dependencies = [
"cc",
"rustc_version",
- "toml",
+ "toml 0.5.11",
"vswhom",
"winreg",
]
@@ -1664,6 +1666,15 @@ dependencies = [
]
[[package]]
+name = "serde_spanned"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+dependencies = [
+ "serde",
+]
+
+[[package]]
name = "serde_yaml"
version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1887,10 +1898,25 @@ dependencies = [
]
[[package]]
+name = "toml"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
name = "toml_datetime"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+dependencies = [
+ "serde",
+]
[[package]]
name = "toml_edit"
@@ -1899,6 +1925,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
dependencies = [
"indexmap",
+ "serde",
+ "serde_spanned",
"toml_datetime",
"winnow",
]
diff --git a/INSTALL.md b/INSTALL.md
index debe3f81..643f8dcc 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -333,6 +333,8 @@ Installing the manual page requires the additional dependencies `gzip` and `scdo
sudo mkdir -p /usr/local/share/man/man1
scdoc < extra/man/alacritty.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
scdoc < extra/man/alacritty-msg.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
+scdoc < extra/man/alacritty.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty.5.gz > /dev/null
+scdoc < extra/man/alacritty-bindings.5.scd | gzip -c | sudo tee /usr/local/share/man/man5/alacritty-bindings.5.gz > /dev/null
```
### Shell completions
diff --git a/Makefile b/Makefile
index e8a86e34..289bbe7c 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,8 @@ ASSETS_DIR = extra
RELEASE_DIR = target/release
MANPAGE = $(ASSETS_DIR)/man/alacritty.1.scd
MANPAGE-MSG = $(ASSETS_DIR)/man/alacritty-msg.1.scd
-CONFIGFILE = alacritty.yml
+MANPAGE-CONFIG = $(ASSETS_DIR)/man/alacritty.5.scd
+MANPAGE-CONFIG-BINDINGS = $(ASSETS_DIR)/man/alacritty-bindings.5.scd
TERMINFO = $(ASSETS_DIR)/alacritty.info
COMPLETIONS_DIR = $(ASSETS_DIR)/completions
COMPLETIONS = $(COMPLETIONS_DIR)/_alacritty \
@@ -48,10 +49,11 @@ $(APP_NAME)-%: $(TARGET)-%
@mkdir -p $(APP_COMPLETIONS_DIR)
@scdoc < $(MANPAGE) | gzip -c > $(APP_EXTRAS_DIR)/alacritty.1.gz
@scdoc < $(MANPAGE-MSG) | gzip -c > $(APP_EXTRAS_DIR)/alacritty-msg.1.gz
+ @scdoc < $(MANPAGE-CONFIG) | gzip -c > $(APP_EXTRAS_DIR)/alacritty.5.gz
+ @scdoc < $(MANPAGE-CONFIG-BINDINGS) | gzip -c > $(APP_EXTRAS_DIR)/alacritty-bindings.5.gz
@tic -xe alacritty,alacritty-direct -o $(APP_EXTRAS_DIR) $(TERMINFO)
@cp -fRp $(APP_TEMPLATE) $(APP_DIR)
@cp -fp $(APP_BINARY) $(APP_BINARY_DIR)
- @cp -fp $(CONFIGFILE) $(APP_EXTRAS_DIR)/
@cp -fp $(COMPLETIONS) $(APP_COMPLETIONS_DIR)
@touch -r "$(APP_BINARY)" "$(APP_DIR)/$(APP_NAME)"
@codesign --remove-signature "$(APP_DIR)/$(APP_NAME)"
diff --git a/README.md b/README.md
index 9a8546ba..87a514b1 100644
--- a/README.md
+++ b/README.md
@@ -52,22 +52,25 @@ For everyone else, the detailed instructions to install Alacritty can be found
## Configuration
-You can find the default configuration file with documentation for all available
-fields on the [GitHub releases page](https://github.com/alacritty/alacritty/releases) for each release.
+You can find the documentation for Alacritty's configuration in `man 5
+alacritty`, or by looking at [the scdoc file] if you do not have the manpages
+installed.
+
+[the scdoc file]: ./extra/man/alacritty.5.scd
Alacritty doesn't create the config file for you, but it looks for one in the
following locations:
-1. `$XDG_CONFIG_HOME/alacritty/alacritty.yml`
-2. `$XDG_CONFIG_HOME/alacritty.yml`
-3. `$HOME/.config/alacritty/alacritty.yml`
-4. `$HOME/.alacritty.yml`
+1. `$XDG_CONFIG_HOME/alacritty/alacritty.toml`
+2. `$XDG_CONFIG_HOME/alacritty.toml`
+3. `$HOME/.config/alacritty/alacritty.toml`
+4. `$HOME/.alacritty.toml`
### Windows
On Windows, the config file should be located at:
-`%APPDATA%\alacritty\alacritty.yml`
+`%APPDATA%\alacritty\alacritty.toml`
## Contributing
diff --git a/alacritty.yml b/alacritty.yml
deleted file mode 100644
index 76047d2a..00000000
--- a/alacritty.yml
+++ /dev/null
@@ -1,911 +0,0 @@
-# Configuration for Alacritty, the GPU enhanced terminal emulator.
-
-# Import additional configuration files
-#
-# Imports are loaded in order, skipping all missing files, with the importing
-# file being loaded last. If a field is already present in a previous import, it
-# will be replaced.
-#
-# All imports must either be absolute paths starting with `/`, or paths relative
-# to the user's home directory starting with `~/`.
-#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:
- # 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: alacritty
-
-#window:
- # Window dimensions (changes require restart)
- #
- # Number of lines/columns (not pixels) in the terminal. Both lines and columns
- # must be non-zero for this to take effect. 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)
- #
- # 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: 0
- # y: 0
-
- # Spread additional padding evenly around the terminal content.
- #dynamic_padding: false
-
- # Window decorations
- #
- # 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 and no title bar buttons
- #decorations: full
-
- # 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.
- #opacity: 1.0
-
- # 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
-
- # 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
-
- # Decorations theme variant
- #
- # Override the variant of the System theme/GTK theme/Wayland client side
- # decorations. Commonly supported values are `Dark`, `Light`, and `None` for
- # auto pick-up. Set this to `None` to use the default theme variant.
- #decorations_theme_variant: None
-
- # Resize increments
- #
- # Prefer resizing window by discrete steps equal to cell dimensions.
- #resize_increments: false
-
- # Make `Option` key behave as `Alt` (macOS only):
- # - OnlyLeft
- # - OnlyRight
- # - Both
- # - None (default)
- #option_as_alt: None
-
-#scrolling:
- # Maximum number of lines in the scrollback buffer.
- # Specifying '0' will disable scrolling.
- #history: 10000
-
- # Scrolling distance multiplier.
- #multiplier: 3
-
-# Font configuration
-#font:
- # Normal (roman) font face
- #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
-
- # 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
-
- # 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
-
- # 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: 11.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
-
- # 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 upward.
- #glyph_offset:
- # x: 0
- # y: 0
-
- # Use built-in font for box drawing characters.
- #
- # If `true`, Alacritty will use a custom built-in font for box drawing
- # characters (Unicode points 2500 - 259f).
- #
- #builtin_box_drawing: 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/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/CellBackground, which reference the
- # affected cell, or hexadecimal colors like #ff00ff.
- #vi_mode_cursor:
- # text: CellBackground
- # cursor: CellForeground
-
- # Search colors
- #
- # Colors used for the search bar and match highlighting.
- #search:
- # Allowed values are CellForeground/CellBackground, which reference the
- # affected cell, or hexadecimal colors like #ff00ff.
- #matches:
- # foreground: '#000000'
- # background: '#ffffff'
- #focused_match:
- # foreground: '#ffffff'
- # background: '#000000'
-
- # Keyboard hints
- #hints:
- # First character in the hint label
- #
- # Allowed values are CellForeground/CellBackground, which reference the
- # affected cell, or hexadecimal colors like #ff00ff.
- #start:
- # foreground: '#1d1f21'
- # background: '#e9ff5e'
-
- # All characters after the first one in the hint label
- #
- # Allowed values are CellForeground/CellBackground, which reference the
- # affected cell, or hexadecimal colors like #ff00ff.
- #end:
- # foreground: '#e9ff5e'
- # background: '#1d1f21'
-
- # Line indicator
- #
- # Color used for the indicator displaying the position in history during
- # search and vi mode.
- #
- # By default, these will use the opposing primary color.
- #line_indicator:
- # foreground: None
- # background: None
-
- # Footer bar
- #
- # Color used for the footer bar on the bottom, used by search regex input,
- # hyperlink URI preview, etc.
- #
- #footer_bar:
- # background: '#c5c8c6'
- # foreground: '#1d1f21'
-
- # Selection colors
- #
- # Colors which should be used to draw the selection area.
- #
- # Allowed values are CellForeground/CellBackground, which reference the
- # affected cell, or hexadecimal colors like #ff00ff.
- #selection:
- # text: CellBackground
- # background: CellForeground
-
- # Normal colors
- #normal:
- # black: '#1d1f21'
- # red: '#cc6666'
- # green: '#b5bd68'
- # yellow: '#f0c674'
- # blue: '#81a2be'
- # magenta: '#b294bb'
- # cyan: '#8abeb7'
- # white: '#c5c8c6'
-
- # Bright colors
- #bright:
- # 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: '#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: []
-
- # Transparent cell backgrounds
- #
- # Whether or not `window.opacity` applies to all cell backgrounds or only to
- # the default background. When set to `true` all cells will be transparent
- # regardless of their background color.
- #transparent_background_colors: false
-
-# 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 in milliseconds. 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
-
-#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
- #style:
- # Cursor shape
- #
- # Values for `shape`:
- # - ▇ Block
- # - _ Underline
- # - | Beam
- #shape: Block
-
- # Cursor blinking state
- #
- # Values for `blinking`:
- # - Never: Prevent the cursor from ever blinking
- # - Off: Disable blinking by default
- # - On: Enable blinking by default
- # - Always: Force the cursor to always blink
- #blinking: Off
-
- # 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
-
- # Cursor blinking interval in milliseconds.
- #blink_interval: 750
-
- # Time after which cursor stops blinking, in seconds.
- #
- # Specifying '0' will disable timeout for blinking.
- #blink_timeout: 5
-
- # 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:
-# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
-# - (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
-
-# Offer IPC using `alacritty msg` (unix only)
-#ipc_socket: 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
-
-# Hints
-#
-# Terminal hints can be used to find text or hyperlink in the visible part of
-# the terminal and pipe it to other applications.
-#hints:
- # Keys used for the hint labels.
- #alphabet: "jfkdls;ahgurieowpq"
-
- # List with all available hints
- #
- # Each hint must have any of `regex` or `hyperlinks` field and either an
- # `action` or a `command` field. The fields `mouse`, `binding` and
- # `post_processing` are optional.
- #
- # The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
- # highlighted.