This implements a block selection mode which can be triggered by holding
Control before starting a selection.
If text is copied using this block selection, newlines will be
automatically added to the end of the lines.
This fixes#526.
The dynamic color escape response would answer to requests with
rgb:0/0/0 when the color was completely black, instead of properly
responding with double-digit hex colors. This has been changed so that
Alacritty now always properly responds with the same number of hex
digits for all colors.
The number of digits has also been changed from two to four digits per
color, since that is the more commonly used format.
Using the `write!` macro was also causing problems with NeoVim,
since it caused Alacritty to write the dynamic color escape in multiple
write calls, switching to `write_all` fixed that.
Fixes#2543.
Ncurses does some special handling for backspace, normally comparing it
to the KEY_BACKSPACE constant. However to make this work, the right
backspace escape sequence needs to be set in the terminfo.
XTerm has this set to ^H, but it always sends ^H. Since Alacritty
usually sends ^? instead, this needs to be specified to allow correct
interpretation for ncurses.
This reworks the selection logic to prevent any possible index out of
bounds exceptions by clamping the start and end points before doing
anything else with them when converting selections to spans.
This also fixes a bug where semantic selections would not automatically
expand across double-width characters.
Fixes#2486.
While Gentoo was listed in the table of contents of the INSTALL.md, the
instructions to install the build dependencies were missing.
This adds the emerge command necessary to install all dependencies of
Alacritty (other than Rust) so building from source without the overlay
is possible.
This is a large refactor of the config parsing structure, attempting to
reduce the size of the file a bit by splitting it up into different
modules with more specific purposes.
This also fixes#2279.
This resolves permission failures when modifying root-owned files
and such, e.g., modifying /etc/hosts. It had been possible
to work around this by adding alacritty to the set of
applications with "Full Disk Access" in System Preferences. macOS
now opens a prompt to confirm permission with a new installation.
This fixes#2337.
On macOS the clipboard actually returns an error when loading it and it
is empty. However this is not an `Empty` error but all errors are simple
boxed Errors from std.
Since loading the clipboard data usually should not fail, we now do not
log it as error if it fails but just print it to the debug log instead.
This fixes#2389.