summaryrefslogtreecommitdiff
path: root/alacritty_terminal/Cargo.toml
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2021-01-25 22:23:08 +0100
committerChristian Duerr <contact@christianduerr.com>2021-02-24 16:16:38 +0000
commit9575aed68197ba783e50b922a6c3f9a78b8c7048 (patch)
tree5978f62ca3d0744864e483b00baff21e6f1c63d1 /alacritty_terminal/Cargo.toml
parent64abd7fb43febc53e27e63411a1eb06c633302bb (diff)
downloadalacritty-9575aed68197ba783e50b922a6c3f9a78b8c7048.tar.gz
alacritty-9575aed68197ba783e50b922a6c3f9a78b8c7048.zip
Add support for synchronized updates
This implements support for temporarily freezing the terminal grid to prevent rendering of incomplete frames. This can be triggered using the escapes `DCS = 1 s` (start) and `DCS = 2 s` (end). The synchronization is implemented by forwarding all received PTY bytes to a 2 MiB buffer. This should allow updating the entire grid even if it is fairly dense. Unfortunately this also means that another branch is necessary in Alacritty's parser which does have a slight performance impact. In a previous version the freezing was implemented by caching the renderable grid state whenever a synchronized update is started. While this strategy makes it possible to implement this without any performance impact without synchronized updates, a significant performance overhead is introduced whenever a synchronized update is started. Since this can happen thousands of times per frame, it is not a feasible solution. While it would be possible to render at most one synchronized update per frame, it is possible that another synchronized update comes in at any time and stays active for an extended period. As a result the state visible before the long synchronization would be the first received update per frame, not the last, which could lead to the user missing important information during the long freezing interval. Fixes #598.
Diffstat (limited to 'alacritty_terminal/Cargo.toml')
-rw-r--r--alacritty_terminal/Cargo.toml4
1 files changed, 2 insertions, 2 deletions
diff --git a/alacritty_terminal/Cargo.toml b/alacritty_terminal/Cargo.toml
index 41b8b1f8..9fae1557 100644
--- a/alacritty_terminal/Cargo.toml
+++ b/alacritty_terminal/Cargo.toml
@@ -25,10 +25,10 @@ log = "0.4"
unicode-width = "0.1"
base64 = "0.12.0"
regex-automata = "0.1.9"
-dirs = "2.0.2"
+dirs = "3.0.1"
[target.'cfg(unix)'.dependencies]
-nix = "0.18.0"
+nix = "0.19.0"
signal-hook = { version = "0.1", features = ["mio-support"] }
[target.'cfg(windows)'.dependencies]