diff options
author | David Hewitt <1939362+davidhewitt@users.noreply.github.com> | 2019-12-21 21:23:18 +0000 |
---|---|---|
committer | Christian Duerr <contact@christianduerr.com> | 2019-12-21 21:23:18 +0000 |
commit | 7a957978e41b4737530bf83bed82b7c177004b30 (patch) | |
tree | f60ff89ce56e59622fa24e762c7eb37904c397e2 | |
parent | 512461a2419d5794b0c472087640191bf17e25f2 (diff) | |
download | alacritty-7a957978e41b4737530bf83bed82b7c177004b30.tar.gz alacritty-7a957978e41b4737530bf83bed82b7c177004b30.zip |
Default to ConPTY instead of WinPTY
-rw-r--r-- | CHANGELOG.md | 5 | ||||
-rw-r--r-- | README.md | 12 | ||||
-rw-r--r-- | alacritty.yml | 15 | ||||
-rw-r--r-- | alacritty_terminal/src/config/mod.rs | 5 | ||||
-rw-r--r-- | alacritty_terminal/src/tty/windows/conpty.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/tty/windows/mod.rs | 4 |
6 files changed, 23 insertions, 20 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 10b341fc..a8bd9a2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - /Applications symlink into OS X DMG for easier installation - Colored emojis on Linux/BSD +### Changed + +- On Windows, the ConPTY backend will now be used by default if available +- The `enable_experimental_conpty_backend` config option has been replaced with `winpty_backend` + ### Fixed - URLs not truncated with non-matching single quote @@ -145,13 +145,13 @@ desktop environment has trouble rendering the default SVG icons, you can find a prerendered SVG as well as simplified versions of the SVG in the `extra/logo/compat` directory. -To work properly on Windows, Alacritty requires winpty to emulate UNIX's PTY -API. The agent is a single binary (`winpty-agent.exe`) which **must** be in -the same directory as the Alacritty executable and is available through the -[GitHub releases page](https://github.com/jwilm/alacritty/releases). +On Windows, Alacritty also requires Microsoft's VC++ redistributable. -On Windows, Alacritty also requires Microsoft's VC++ redistributable to work -properly. +For Windows versions older than Windows 10 (October 2018 Update), Alacritty +requires winpty to emulate UNIX's PTY API. The agent is a single binary +(`winpty-agent.exe`) which **must** be in the same directory as the Alacritty +executable and is available through the +[GitHub releases page](https://github.com/jwilm/alacritty/releases). ## Configuration diff --git a/alacritty.yml b/alacritty.yml index fa40e0b1..38303ee4 100644 --- a/alacritty.yml +++ b/alacritty.yml @@ -337,16 +337,15 @@ # directory of the parent process will be used. #working_directory: None -# Windows 10 ConPTY backend (Windows only) +# WinPTY backend (Windows only) # -# 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. +# 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. # -# Alacritty will fall back to the WinPTY automatically if the ConPTY -# backend cannot be initialized. -#enable_experimental_conpty_backend: false +# 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 diff --git a/alacritty_terminal/src/config/mod.rs b/alacritty_terminal/src/config/mod.rs index 26432415..3c8a85a4 100644 --- a/alacritty_terminal/src/config/mod.rs +++ b/alacritty_terminal/src/config/mod.rs @@ -108,11 +108,10 @@ pub struct Config<T> { #[serde(default, deserialize_with = "failure_default")] pub cursor: Cursor, - /// Enable experimental conpty backend instead of using winpty. - /// Will only take effect on Windows 10 Oct 2018 and later. + /// Use WinPTY backend even if ConPTY is available #[cfg(windows)] #[serde(default, deserialize_with = "failure_default")] - pub enable_experimental_conpty_backend: bool, + pub winpty_backend: bool, /// Send escape sequences using the alt key. #[serde(default, deserialize_with = "failure_default")] diff --git a/alacritty_terminal/src/tty/windows/conpty.rs b/alacritty_terminal/src/tty/windows/conpty.rs index 5e5a0118..44b3662f 100644 --- a/alacritty_terminal/src/tty/windows/conpty.rs +++ b/alacritty_terminal/src/tty/windows/conpty.rs @@ -102,7 +102,7 @@ impl Drop for Conpty { unsafe impl Send for Conpty {} pub fn new<C>(config: &Config<C>, size: &SizeInfo, _window_id: Option<usize>) -> Option<Pty> { - if !config.enable_experimental_conpty_backend { + if config.winpty_backend { return None; } diff --git a/alacritty_terminal/src/tty/windows/mod.rs b/alacritty_terminal/src/tty/windows/mod.rs index 9e2f722b..f5e0e61f 100644 --- a/alacritty_terminal/src/tty/windows/mod.rs +++ b/alacritty_terminal/src/tty/windows/mod.rs @@ -61,11 +61,11 @@ pub struct Pty { pub fn new<C>(config: &Config<C>, size: &SizeInfo, window_id: Option<usize>) -> Pty { if let Some(pty) = conpty::new(config, size, window_id) { - info!("Using Conpty agent"); + info!("Using ConPTY backend"); IS_CONPTY.store(true, Ordering::Relaxed); pty } else { - info!("Using Winpty agent"); + info!("Using WinPTY backend"); winpty::new(config, size, window_id) } } |