aboutsummaryrefslogtreecommitdiff
path: root/alacritty_terminal/Cargo.toml
AgeCommit message (Collapse)Author
2024-03-18Bump dependenciesChristian Duerr
This bumps all dependencies that can be updated without introducing a build failure.
2024-02-05Bump alacritty_terminal to 0.22.1Christian Duerr
This is only an update to the development version and does not represent a stable release.
2023-12-14Update alacritty versionsChristian Duerr
This is only an update to the development versions and does not represent a stable release.
2023-11-24Bump dependenciesKirill Chibisov
Update dependencies with `cargo update` as well as do explicit update of winit, crossfont, and regex-automata.
2023-11-23Update VTE to 0.13.0Kirill Chibisov
2023-11-10Remove `alacritty_config` from alacritty_terminalKirill Chibisov
There's no need to force alacritty's user configuration on other users of the crate, thus provide the options actually used by alacritty_terminal itself.
2023-10-11Use openpty-rustix instead of nixKirill Chibisov
Follow upstream libraries and use rustix to reduce the amount of dependencies in the future. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-10-08Update dependenciesChristian Duerr
This patch applies all breaking and non-breaking dependency updates and bumps MSRV to 1.70.0.
2023-10-07Port from mio to pollingJohn Nunley
This patch replaces the mio crate with the polling. Now that smol-rs/polling#96 has been merged, we should be at full feature parity with mio v0.6 now. Fixes #7104. Fixes #6486.
2023-09-26Bump VTE to 0.12.0Kirill Chibisov
Fixes #6845.
2023-08-27Update regex-automata to v0.3.6Christian Duerr
This seems like a sensible first step before looking into #7097.
2023-07-22Add `terminal` config section to control OSCs Kirill Chibisov
Some environments demand certain OSC sequences to be disabled or some escape sequence could require handling which is out of scope of alacritty, but could be done by external script (OSC 777). Added section for now just handles the `OSC 52` sequence and changes its default to be `OnlyCopy`, which is handy for remote copy, but `Paste` is redundant because normal `Paste` hotkey could be used as well. Fixes #3386. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-07-01Add version 0.12.2 to CHANGELOGKirill Chibisov
This is only an update to the development version and does not represent a stable release.
2023-06-19Add support for loading conpty.dllPavel Roskin
Co-Authored-By: @fredizzimo Co-Authored-By: @grueslayer
2023-06-12Switch to TOML configuration formatChristian Duerr
This switches Alacritty's default configuration format from yaml to toml. While yaml is still supported, it is done by converting it to toml and should be removed entirely in the future. All existing features were persisted based on my testing. Behavior should not change much, though `--option` might have slightly different behavior since the entire line is not interpreted as one line of toml. A new `alacritty migrate` subcommand has been added which allows automatic migration from yaml to toml. This also could be used as a facility to automatically fix configuration file changes in the future. Closes #6592.
2023-06-11Bump dependenciesPavel Roskin
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-05-23Switch to VTE's built-in ansi featureAnhad Singh
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-05-22Add version 0.12.1 to CHANGELOGKirill Chibisov
2023-05-17Update patch dependenciesKirill Chibisov
2023-05-17Update xdg and dirs crateKirill Chibisov
The recent version on xdg crate moved to home crate which is used by cargo. Thus to query for home directory we can use the home dependency instead which is smaller.
2023-05-17Update bitflags to 2.2.1Kirill Chibisov
2023-02-15Bump development version to 0.13.0-devKirill Chibisov
This is only an update to the development version and does not represent a stable release.
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