summaryrefslogtreecommitdiff
path: root/alacritty_terminal/Cargo.toml
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-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
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-09-30Migrate from winapi to windows-syskillian
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-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-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-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.
2021-12-26Migrate to 2021 editionChristian Duerr
2021-12-26Bump development version to 0.11.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2021-11-15Update signal-hook to 0.3.10James McCoy
2021-08-26Fix alacitty_terminal build on windowsAndrew Chin
The "consoleapi" feature in the winapi crate is required when using things from the `winapi::um::consoleapi` module.
2021-07-18Bump development version to 0.10.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2021-07-14Update dependenciesChristian Duerr
2021-07-10Update mio-anonymous-pipes to 0.2.0David Hewitt
Fixes #5266.
2021-05-01Bump development version to 0.9.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2021-04-17Update dependenciesChristian Duerr
This includes a bump to VTE resolving an issue with invalid intermediates when transitioning from DCS to ESC sequences. This should however not be noticeable with any existing escape sequences. Fixes #4827.
2021-02-24Bump base64 to 0.13.0Bastien Orivel
2021-02-24Add support for synchronized updatesChristian Duerr
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.
2021-01-24Move renderable cell transformation to alacrittyChristian Duerr
This refactors a large chunk of the alacritty_terminal API to expose all data necessary for rendering uniformly through the `renderable_content` call. This also no longer transforms the cells for rendering by a GUI but instead just reports the content from a terminal emulation perspective. The transformation into renderable cells is now done inside the alacritty crate. Since the terminal itself only ever needs to know about modified color RGB values, the configuration for colors was moved to the alacritty UI code.
2021-01-21Remove all rustc benchmarksJames McCoy
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2021-01-04Bump development version to 0.8.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2021-01-03Update vte to 0.10.0Christian Duerr
2021-01-01Remove Windows WinPTY backendChristian Duerr
2020-12-22Remove terminfo dependencyCaden Haustein
Fixes #4597. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-12-21Replace serde's derive with custom proc macroChristian Duerr
This replaces the existing `Deserialize` derive from serde with a `ConfigDeserialize` derive. The goal of this new proc macro is to allow a more error-friendly deserialization for the Alacritty configuration file without having to manage a lot of boilerplate code inside the configuration modules. The first part of the derive macro is for struct deserialization. This takes structs which have `Default` implemented and will only replace fields which can be successfully deserialized. Otherwise the `log` crate is used for printing errors. Since this deserialization takes the default value from the struct instead of the value, it removes the necessity for creating new types just to implement `Default` on them for deserialization. Additionally, the struct deserialization also checks for `Option` values and makes sure that explicitly specifying `none` as text literal is allowed for all options. The other part of the derive macro is responsible for deserializing enums. While only enums with Unit variants are supported, it will automatically implement a deserializer for these enums which accepts any form of capitalization. Since this custom derive prevents us from using serde's attributes on fields, some of the attributes have been reimplemented for `ConfigDeserialize`. These include `#[config(flatten)]`, `#[config(skip)]` and `#[config(alias = "alias)]`. The flatten attribute is currently limited to at most one per struct. Additionally the `#[config(deprecated = "optional message")]` attribute allows easily defining uniform deprecation messages for fields on structs.
2020-11-26Fix DoS caused by excessive CSI parameter valuesChristian Duerr
2020-11-15Bump development version to 0.7.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2020-11-13Update vte to 0.9.0Christian Duerr
2020-11-06Deprecate the WinPTY backendChristian Duerr
2020-10-07Bump glutin to 0.25.0Kirill Chibisov
Fixes #4206. Fixes #4162. Fixes #4017. Fixes #3998. Fixes #3831. Fixes #3782. Fixes #3708. Fixes #2734. Fixes #2714. Fixes #1801.
2020-08-31Disable WinPTY with windows-gnu toolchainMateusz Mikuła
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-08-13Use yellow/red from the config for message bar colorsKirill Chibisov
This commit completes the effort to use config colors for message bar content by picking red/yellow from user's colors.normal.{red,yellow} for error/warning messages instead of fixed colors. It also removes alacritty_terminal::term::color::RED and alacritty_terminal::term::color::YELLOW from the alacritty_terminal API, bumping its version to 0.11.0-dev. Fixes #4116.
2020-08-07Add support for colon separated SGR parametersChristian Duerr
This implements the colon separated form of SGR 38 and 48. Fixes #1485.
2020-07-19Bump version to 0.6.0-devChristian Duerr
2020-07-19Bump alacritty_terminal versionChristian Duerr
This change bumps the version of the `alacritty_terminal` crate to force it out of sync with the Alacritty application. Since it is a library that will be published on crates.io, it should be following semver rather than our binary's release version. While it would be possible to just keep it at 0.5.0, explicitly disconnecting it from the Alacritty version should give it a clean starting-off point and prevent unnecessary confusion. Bumping it to 0.10.0 instead of something like 0.6.0 should allow for a nice gap between the different versions without being too arbitrary. Changing the version to 0.1.0 is not an option since decreasing semver version would likely cause a lot of problems. While it would be possible to further separate the Alacritty terminal library from the Alacritty terminal emulator, by renaming it from `alacritty_terminal` to something different, I don't think that is necessary or a good idea at the moment. Even though the `alacritty_terminal` library *can* be used for other terminals, its primary goal is still to support the Alacritty terminal emulator and I don't see that changing. So making that clear in its name seems like a good idea. Since there is no plan to maintain this library separately from Alacritty, but to keep both tied together, the naming should reflect this.
2020-07-11Remove gui dependencies from alacritty_terminalKirill Chibisov
This commit removes font dependency from alacritty_terminal, so it'll simplify the usage of alacritty_terminal as a library, since you won't link to system's libraries anymore. It also moves many alacritty related config options from it. Fixes #3393.
2020-07-10Fail compilation if Fontconfig is not installed on Linux/BSDKirill Chibisov
Statically linking Fontconfig was leading to slow startup and various errors, so forcing the use of system's library.
2020-07-09Add regex scrollback buffer searchChristian Duerr
This adds a new regex search which allows searching the entire scrollback and jumping between matches using the vi mode. All visible matches should be highlighted unless their lines are excessively long. This should help with performance since highlighting is done during render time. Fixes #1017.
2020-06-07Update dependenciesKirill Chibisov
2020-06-07Remove copypasta dependency from alacritty_terminalKirill Chibisov
2020-06-02Add cargo feature for WinPTYDavid Hewitt
2020-05-24Remove unused dependenciesMatthias Krüger