summaryrefslogtreecommitdiff
path: root/alacritty_terminal
AgeCommit message (Collapse)Author
2023-05-16Alacritty version 0.12.1-rc2v0.12.1-rc2alacritty_terminal_v0.19.0-rc2Kirill Chibisov
2023-05-07Alacritty version 0.12.1-rc1v0.12.1-rc1Kirill Chibisov
2023-05-07Fix selection rotation on the last lineChristian Duerr
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.
2023-05-07Fix `;` character in URI OSC 8 payloadKirill Chibisov
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.
2023-03-24Alacritty version 0.12.0v0.12.0v0.12.0Christian Duerr
2023-03-17Alacritty version 0.12.0-rc3v0.12.0-rc3Christian Duerr
2023-03-06Alacritty version 0.12.0-rc2v0.12.0-rc2Christian Duerr
2023-02-14Alacritty version 0.12.0-rc1v0.12.0-rc1Christian Duerr
2023-02-02Update winit to 0.28Kirill Chibisov
Fixes #6644. Fixes #6615. Fixes #6558. Fixes #6515. Fixes #3187. Fixes #62.
2023-02-02Prefer environment variables over passwdJovan Gerodetti
2023-01-15Preserve last column with erase in line rightChristian Duerr
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.
2022-12-14Fix multi-line bracket selectionChristian Duerr
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.
2022-11-03Update glutin to 0.30.0Kirill Chibisov
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.
2022-10-22Fix startup failure on macOS with dash as /bin/shKirill Chibisov
The dash's exec doesn't have `-a` argument we rely on when running login shell, so use zsh instead. Fixes #6426.
2022-10-12Fix clippy warningsChristian Duerr
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).
2022-09-30Migrate from winapi to windows-syskillian
2022-09-17Fix IPC config overriding previous valuesChristian Duerr
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.
2022-09-03Bump development version to 0.12.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2022-09-01Add IPC config subcommandChristian Duerr
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.
2022-08-10Bump glutin to 0.29.1Kirill Chibisov
Fixes #6239. Fixes #5975. Fixes #5876. Fixes #5767. Fixes #4484. Fixes #3139.
2022-07-29Make grid mutably accessible to librariesMikayla Maki
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
2022-07-25Fix clippy warningsChris Copeland
2022-07-24Fix inverted condition for cell's extra clearingKirill Chibisov
Fixes #6215.
2022-07-24Register Alacritty shells as tty sessions on macOSChris Copeland
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.
2022-07-20Remove panics from UNIX PTY initializationMikayla Maki
Co-authored-by: Mikayla Maki <mikayla.c.maki@icloud.com>
2022-07-20Replace `map().unwrap_or()` with `map_or()`Chris Copeland
Use a `map_or` instead of a `map().unwrap_or()` chain.
2022-07-11Fix hyperlinks not being keyboard actionableKirill Chibisov
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>
2022-07-10Add support for hyperlink escape sequenceKirill Chibisov
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.
2022-07-01Add `cursor.blink_timeout` config optionKirill Chibisov
This option should prevent extensive power usage due to cursor blinking when there's no user activity being performed. Fixes #5992.
2022-06-20Bump dirs to 4.0.0a5ob7r
This is to remove dependencies on multiple versions of dirs crate.
2022-06-16Bump copypasta to 0.8.0Christian Duerr
This also applies all non-breaking semver updates.
2022-06-15Use `MaybeUninit<usize>` instead of `usize` in `Storage::swap`nils
`Row` contains pointer bytes, which are not valid for `usize`, therefore `MaybeUninit<usize>` should be used instead to do an untyped copy.
2022-06-09Fix flickering during resize on WaylandKirill Chibisov
This also fixes an issue of windows not being rendered while resizing. Fixes #6069.
2022-06-07Fix old vi cursor not being properly damagedKirill Chibisov
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2022-06-02Fix a few minor clippy lintsYuri Astrakhan
2022-06-01Fix DEC Special Character Set (Line drawing)André Kugland
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>
2022-05-26Fix Vi cursor not being damaged on scrollKirill Chibisov
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.
2022-05-20Enable damage tracking only on WaylandKirill Chibisov
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>
2022-04-06Extract `SizeInfo` from alacritty_terminalKirill Chibisov
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.
2022-03-31Fix OSC 4 color response formatChristian Duerr
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.
2022-03-16Add colored underline supportKirill Chibisov
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.
2022-03-10Fix crash when searching during resetChristian Duerr
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.
2022-02-14Add support for dashed and dotted underlinesKirill Chibisov
This finishes implementation of underline styles provided by `CSI 4 : [1-5] m` escape sequence.
2022-02-08Add support for drawing undercurlsKirill Chibisov
Fixes #1628.
2022-02-07Fix alacritty_terminal not emitting damage on color changeKirill Chibisov
2022-02-02Add damage tracking and reporting to compatible compositorsKirill Chibisov
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.
2022-01-21Fix typo in SizeInfo padding_y rustdocÖmer Sinan Ağacan
2022-01-20Fix OSC 104 with empty second parameterDaftMouse
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.
2022-01-15Add ´?´ support to OSC 4DaftMouse
2022-01-08Fix fullwidth char regex search infinite loopChristian Duerr
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.