Age | Commit message (Collapse) | Author |
|
|
|
|
|
This fixes an issue with terminal resizes when the selection is on the
last line. Alacritty would fail to rotate lines and keep the selection
in the same line index whenever the terminal line count was grown or
shrunk.
This issue occurred due to the range passed to the selection's rotate
function still being based on the old terminal size, which caused the
initial or target state of the rotation to be outside of the terminal
bounds.
Closes #6698.
|
|
The special character `;` can be not URL-encoded, thus it'll add
extra parameter in the payload. Handle it joining extra parameters
with the `;` as a separator.
|
|
|
|
|
|
|
|
|
|
Fixes #6644.
Fixes #6615.
Fixes #6558.
Fixes #6515.
Fixes #3187.
Fixes #62.
|
|
|
|
When the erase in line escape sequence with a parameter of 0 (right) is
passed while the wrapline flag is already set, it will no longer clear
the last column and instead ignore the operation.
The behavior of `\e[1K` and `\e[2K` is unchanged and both will clear the
entire first line without clearing the wrapline flag.
Closes #6159.
|
|
This fixes a bug where semantic selection for bracket characters wasn't
working properly over multiple lines since start and end of the
selection were swapped.
Closes #6567.
|
|
The glutin 0.30.0 update decouples glutin from winit which
provides us with basis for a multithreaded renderer. This
also improves robustness of our configuration picking,
context creation, and surface handling.
As an example we're now able to start on systems without a vsync,
we don't try to build lots of contexts to check if some config works,
and so on.
That also brings us possibility to handle context losses, but that's
a future work.
Fixes #1268.
|
|
The dash's exec doesn't have `-a` argument we rely on when running
login shell, so use zsh instead.
Fixes #6426.
|
|
This patch applies all clippy lints currently present on the latest
clippy master than are compatible with our oldstable clippy (only
exception is the `_else(||` stuff).
|
|
|
|
Before this patch whenever changing the IPC configuration, all previous
configuration options would be discarded. This was the case even when
the new option was invalid.
This patch ensures that the IPC config is only ever cleared when the
`--reset` flag is passed. Invalid IPC config options are logged and
discarded.
Additionally whenever a new IPC config message is sent, all previous IPC
error messages are cleared.
Closes #6330.
|
|
This is only an update to the development version and does not represent
a stable release.
|
|
This patch adds a new mechanism for changing configuration options
without editing the configuration file, by sending options to running
instances through `alacritty msg`.
Each window will load Alacritty's configuration file by default and then
accept IPC messages for config updates using the `alacritty msg config`
subcommand. By default all windows will be updated, individual windows
can be addressed using `alacritty msg config --window-id
"$ALACRITTY_WINDOW_ID"`.
Each option will replace the config's current value and cannot be reset
until Alacritty is restarted or the option is overwritten with a new
value.
Configuration options are passed in the format `field.subfield=value`,
where `value` is interpreted as yaml.
Closes #472.
|
|
Fixes #6239.
Fixes #5975.
Fixes #5876.
Fixes #5767.
Fixes #4484.
Fixes #3139.
|
|
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
|
|
|
|
Fixes #6215.
|
|
Unless the `shell` config is specified, launch the user's shell with:
```sh
login -flp $USER /bin/sh -c "exec -a -shell /path/to/shell"
```
On macOS, just running a shell prefixed by `-` is not sufficient to be
registered as a login session for things like `w` and `logname`.
However, using the `login` command changes the directory to `$HOME`
before running the program by default, which is not desired. The `-l`
flag disables this behavior, but also skips prepending `-` to the
executed program, so shells will not run as login shells. Instead we
just do this part ourselves with `exec -a`. The result is login shells
that run in the intended directory and are registered as tty sessions.
Fixes #3420.
|
|
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
|
|
Use a `map_or` instead of a `map().unwrap_or()` chain.
|
|
This fixes a typo in 694a52b which was filtering all hyperlinks, except
only duplicated ones when opening them with keyboard.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
|
This commit adds support for hyperlink escape sequence
`OSC 8 ; params ; URI ST`. The configuration option responsible for
those is `hints.enabled.hyperlinks`.
Fixes #922.
|
|
This option should prevent extensive power usage due to cursor blinking
when there's no user activity being performed.
Fixes #5992.
|
|
This is to remove dependencies on multiple versions of dirs crate.
|
|
This also applies all non-breaking semver updates.
|
|
`Row` contains pointer bytes, which are not valid for `usize`, therefore
`MaybeUninit<usize>` should be used instead to do an untyped copy.
|
|
This also fixes an issue of windows not being rendered while resizing.
Fixes #6069.
|
|
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
|
|
|
This patch resolves some mapping issues with the line drawing character
set where characters like linefeed were incorrectly mapped to their
proper character representation rather than the codepoint of their
identification glpyh.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
|
There's no need to damage intermediate Vi mode cursor points, since it
can't change the terminal content meaning that only the previous
and current vi cursor's viewport points matter to damage it properly.
|
|
Other platforms don't have such concepts in general or have them
via different interfaces not related to EGL.
This commit also resolves some minor clippy issues.
Fixes #6051.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
|
The `SizeInfo` is a SizeInfo used for rendering, which contains
information about padding, and such, however all the terminal need is
number of visible lines and columns.
|
|
The commit 60ef17e introduced support for the color query response
escape for OSC 4, however it did omit the `4;` prefix and started the
OSC with just the color index.
This patch fixes this bug and correctly responds to queries with full
OSC 4 format, including prefix plus color index.
Fixes #5981.
|
|
This commit adds support for colored underline and refines the dynamic
extra storage. The extra storage now is using `Arc` making cloning it way
faster compared to `Box` approach which scales really well when it comes
to cloning in `Term::write_at_cursor`, since cloning `Arc` is constant
time.
Fixes #4142.
|
|
This fixes a crash which occurs when the terminal is reset while
searching, due to the vi mode cursor being outside of the visible area.
This also fixes an issue where the search state reset would incorrectly
clamp the vi mode cursor to the grid, rather than the absolute viewport
position.
While this fix does resolve all crashes when searching while running
`cat /dev/urandom`, it does raise the question if manually clamping the
vi mode cursor in every location where it is modified is the right
choice.
A follow-up to provide a safer API which guarantees correct modification
of the vi mode cursor location is probably a good idea.
Fixes #5942.
|
|
This finishes implementation of underline styles provided by
`CSI 4 : [1-5] m` escape sequence.
|
|
Fixes #1628.
|
|
|
|
This allows compositors to only process damaged (that is, updated)
regions of our window buffer, which for larger window sizes (think 4k)
should significantly reduce compositing workload under compositors that
support/honor it, which is good for performance, battery life and lower
latency over remote connections like VNC.
On Wayland, clients are expected to always report correct damage, so
this makes us a good citizen there. It can also aid remote desktop
(waypipe, rdp, vnc, ...) and other types of screencopy by having damage
bubble up correctly.
Fixes #3186.
|
|
|
|
This fixes a bug where using OSC 104 without parameters but
with a trailling semicolon (e.g. '\e]104;\e\\') would not be handled.
Fixes #5542.
|
|
|
|
This resolves an issue where the regex search could loop indefinitely
when the end point was defined in a location containing a fullwidth
character, thus skipping over the end before termination.
Fixes #5753.
|