This change includes dynamic escape buffer support in VTE, which allows
us to have arbitrary escape sizes.
Since tmux could potentially use very long escapes for the clipboard
escape, this allows copying more text.
Fixes#1002.
This fixes various outdated links pointing to the old jwilm/alacritty
repository.
Since `copypasta` now has its own github repository at
https://github.com/alacritty/copypasta, the sources have been removed
from Alacritty.
This resolves the issue with full width glyphs getting rendered in the
last column. Since they need at least two glyphs, it is not possible to
properly render them in the last column.
Instead of rendering half of the glyph in the last column, with the
other half cut off, an additional spacer is now inserted before the wide
glyph. This means that the specific glyph in question is then three
cells wide.
Fixes#2385.
This fixes a bug where a row would always get reset completely if its
background does not equal the default terminal background. This leads to
big performance bottlenecks when running commands like `echo "\e[41m" &&
yes`.
Instead of resetting the entire row whenever the template cell is not
empty, the template cell is now compared to the last cell in the row.
The last cell will always be equal to the previous template cell when
`row.occ < row.inner.len()` and if `occ` is equal to the row's length,
the entire row is always reset anyways.
Fixes#2989.
This should help with compatibility problems with some platforms like
KDE, that do not support all the features necessary for rendering the
default Alacritty logo.
This fixes the behavior of the clipboard escape (`OSC 52`) when the
second parameter is not specified. If it is missing, the parameter is
now assumed to be `c`, defaulting to the default clipboard.
This has been fixed both for writing and reading.
Fixes#3037.
To make the release process a bit smoother and prevent a freeze of the
master process while review candidates are out, this will put the master
in a perpetual development state.
This should make it clear to everyone that the official source for
releases is always the tagged branch and make it possible to release new
versions completely independently.
Since versions are bumped after each release, this makes it so the
release branches do not have to get merged back into the master branch
to show the correct development version.
Previously Alacritty would delete lines when clearing the screen, leading to a
loss of data in the scrollback buffer. Instead of deleting these lines, they
are now rotated outside of the visible region.
This also fixes some issues with Alacritty only resetting lines partially when
the background color of the template cell changed.
Fixes#2199.
Previously, `ESC` escapes would ignore invalid intermediates and still
execute the specified actions, leading to false positives. If there's an
unexpected, intermediate specified now, the escape will be dropped.
This also fixes an issue with `CSI Ps c` not dropping the escape with
invalid intermediates.
It was discovered that we were logging path with `\\` instead of `\` as
separators on Windows due to use of Debug formatting instead of Display
for paths.
This commit adds the concept of a "title stack" to the terminal. Some programs
(e.g. vim) send control sequences `CSI 22 ; 0` (push title) and `CSI 23 ; 0`
(pop title).
The title stack is just a history of previous titles. Applications can push
the current title onto the stack, and pop it back off (setting the window title
in the process).
Fixes#2840.