summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2024-10-15Alacritty version 0.14.0-rc2v0.14.0-rc2alacritty_terminal_v0.24.1-rc2Christian Duerr
2024-10-15Add headless modeChristian Duerr
This patch adds a daemon mode to Alacritty which allows starting the Alacritty process without spawning an initial window. While this does not provide any significant advantage over the existing behavior of always spawning a window, it does integrate nicer with some setups and is a pretty trivial addition.
2024-10-15Add IME support to inline searchChristian Duerr
This changes the behavior of inline search from only accepting direct key inputs, to also accepting IME and paste. The additional characters are still being discarded, matching the existing behavior. This also fixes an issue where inline search wouldn't work for characters requiring modifiers, since the modifier press was interpreted as the search target instead. Closes #8208.
2024-10-15Implement multi-char cursor highlightKirill Chibisov
Use `end` of the cursor to draw a `HollowBlock` from `start` to `end`. When cursor covers only a single character, use `Beam` cursor instead of `HollowBlock`. Fixes #8238. Fixes #7849.
2024-10-11Alacritty version 0.14.0-rc1v0.14.0-rc1alacritty_terminal_v0.24.1-rc1Christian Duerr
2024-10-10Add unicode 16 supportChristian Duerr
This fixes issues in width calculation for symbols added in Unicode version 16. Since the upstream unicode-width crate has not been updated yet, this makes use of the temporary unicode-width-16 version to support Unicode 16 with Alacritty 0.14.0.
2024-10-10Change ctrl+shift+u to ctrl+shift+oKirill Chibisov
Avoid collisions with IMEs by using ctrl+shift+o. ctrl+shift+u is bound to open unicode input in a lot of IMEs by default meaning that users won't ever see the url hints UI.
2024-10-07Fix highlight invalidation on grid scrollChristian Duerr
This fixes an issue where hints highlighted by vi or mouse cursor would produce an underline on the incorrect line since the highlights only store the initial match boundaries without accounting for new content scrolling the terminal. To accurately invalidate the hint highlights, we use existing damage information of the current frame. The existing logic to damage hints for the next frame to account for removal has been changed, since the hints would otherwise be cleared immediately. Instead we now mark the terminal as fully damaged for the upcoming frame whenever the hints are cleared. Closes #7737.
2024-10-03Remove startup notify variables only for shellKirill Chibisov
This will prevent issues when `setup_env` from `alacritty_terminal` will remove potentially useful variables for users of the library. Fixes #8202.
2024-10-02Add migration support for TOML config changesChristian Duerr
This patch allows running `alacritty migrate` to automatically apply configuration changes made to the TOML format, like moving `ipc_socket` to `general.ipc_socket`. This should reduce the friction of moving around individual options significantly, while also persisting the format of the existing TOML file thanks to `toml_edit`. The YAML migration has been simplified significantly to only switch the format of the file from YAML to TOML. The new TOML features are used for everything else.
2024-10-02Move root config fields to `[general]` sectionChristian Duerr
Some users struggle with TOML, since root options must always be at the top of the file, since they're otherwise associated with the last table. To avoid misunderstandings, all root-level fields have been removed. A new `general` section was added to allow housing configuration options that do not fit into any more specific groups. Closes #7906.
2024-09-30Fix app icon in alt+tab view on WindowsNeil Stewart
2024-09-22Fix fullwidth semantic escape charactersChristian Duerr
Semantic escape characters occupying two two grid cells were always skipped over, making it impossible to have functional fullwidth characters as part of semantic escape characters. This patch fixes this by only skipping over fullwidth spacer cells, rather than skipping those cells entirely. Closes #8188.
2024-09-22Ignore cursor color request with default colorsChristian Duerr
Currently when the cursor colors are requested for the default cursor color, Alacritty always responds with #000000. Since this is most likely incorrect, this response is misleading. Realistically there's very little reason why any application would need to know the color of the (often dynamically changing) default cursor. So instead of always reporting an incorrect black value, this patch just stops reporting values unless the cursor color was explicitly changed. Closes #8169.
2024-07-21Restart config monitor on import changeChristian Duerr
This patch checks the hash of the import paths on every config change and restarts the config monitor whenever the current monitor's hash diverges from the updated config's list of imports. Closes #7981.
2024-07-17Bump MSRV to 1.74.0Kirill Chibisov
2024-07-05Fix search bug with wrapline on first characterChristian Duerr
This fixes an issue where an inline search in the left direction would incorrectly assume that the first cell searched would not contain the `WRAPLINE` flag, causing the second search for the match end to terminate prematurely. Fixes #8060.
2024-07-02Support relative imports in config fileJoshua Cao
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2024-05-24Fix spelling errorsJosh Soref
2024-05-23Fix Kitty protocol reporting shifted keycodesjadedpasta
The [kitty keyboard protocol][1] explicitly requires that the *un-shifted* version of the pressed key is used to report the primary code point in `CSI code-point;modifiers u` sequences. > Note that the codepoint used is always the lower-case (or more > technically, un-shifted) version of the key. If the user presses, for > example, ctrl+shift+a the escape code would be CSI 97;modifiers u. It > must not be CSI 65; modifiers u. Alacritty's current behavior is to report the shifted version when shift is pressed, and the un-shifted version otherwise: ```console # Note that you'll have to kill Alacritty after running this to get # control back! $ echo -ne '\x1b[>1u'; cat ^[[97;5u^[[65;6u ``` The above was generated by pressing `CTRL`+`a` followed by `CTRL`+`SHIFT`+`a` after running the command. Here `97` and `65` are the codepoints for `a` and `A` respectively. This change makes Alacritty match the protocol (and Kitty's) behavior. With this change applied, `97` is reported for both `CTRL`+`a` and `CTRL`+`SHIFT`+`a`. [1]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#key-codes
2024-05-23Fix error with missing importsChristian Duerr
This fixes a regression, likely introduced in 5d173f6df, which changed the severity of missing imports from `info` back to `error`. The cause of this issue was a more complicated error handling mechanism, which explicitly translated IO errors to a separate enum variant without accounting for it in all scenarios. While retrospectively this seems completely unnecessary to me, it did mean shorter error messages in case the main config file was not found. To preserve the benefits of both approaches, explicit handling for the `NotFound` IO error has been added when loading the main configuration file.
2024-05-22Fix FD leak after closing child windowsChristian Duerr
This patch fixes an issue with signal handling where Alacritty would permanently create one signal handling FD for each alacritty window created by an instance. This FD was never released, causing a leak of the FD. Closes #7983.
2024-05-16Fix mouse mode bindings with multiple actionsEBADBEEF
The following config was broken: ``` [mouse] bindings = [ { mouse = "Right", mods = "Shift", action = "Copy" }, { mouse = "Right", mods = "Shift", action = "ClearSelection" }, ] ``` Only the first action was applied. Change to allow more than one exact match in mouse mode with shift held, but keep the logic to not allow fallback search if any exact match was found. Regression was introduced in 1a143d11.
2024-05-15Ignore shell RCs for macOS zsh wrapperNathan Lilienthal
Closes #7886.
2024-05-04Bump winit to 0.30.0Kirill Chibisov
2024-04-23Fix dynamic title override for multiple windowsChristian Duerr
This fixes an issue where Windows spawned after the initial one through IPC or bindings would not update their title due to the initial window having its title set through the CLI. Title changes are still inhibited for additional windows when they are spawned through `alacritty msg create-window` with the `--title` CLI option added. Closes #6836.
2024-04-21Fix IME preview overlapping textKirill Chibisov
Fix incorrect usage of the `flags` when drawing the preedit resulting in setting the `flags`, but not actually reading the value back. The logic to skip things was also used incorrectly, because the renderer does that already based on the `WIDE_CHAR` flag on the cell. Fixes: 67a433ceed (Skip whitespaces for wide chars in preedit)
2024-04-20Fix crash when trying to open a new tab on macOSWilliam Viktorsson
This fixes an issue where Alacritty would crash when trying to open a new tab on macOS while having decorations disabled. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2024-04-18Fix window being focused by defaultKirill Chibisov
Winit explicitly states that the window is not focused by default and the `Focused` event will deliver the state later on. Also start adding notable changes to alacritty_terminal in its own CHANGELOG. Closes #7866.
2024-03-26Add version 0.13.2 to CHANGELOGChristian Duerr
This is only an update to the development version and does not represent a stable release.
2024-03-24Send ESC with Alt for unicode inputKirill Chibisov
Make `Alt` send `ESC` for unicode input the way it's done for ASCII. Previously it was disabled because of macOS, however on macOS we're using the `option_as_alt` setting, which solves the original issue. The `Alt` prefixing is still disabled for the unicode strings, like when they come from the compose input. Fixes #7852.
2024-03-21Fix kitty encoding used for char input without textKirill Chibisov
On Windows some key combinations for regular text input, like Ctrl+1 don't have any text attached, so they were generating the kitty escape sequence even when they shouldn't.
2024-03-18Drop MSRV to 1.70.0Christian Duerr
2024-03-12Fix hint `Select` action for hyperlink escapeChristian Duerr
This fixes an issue where the `Select` action for hyperlink escape text would select the entire line, instead of selecting only the hyperlink itself. It also changes the way hyperlinks with the same ID are highlighted, removing the restriction of being on consecutive lines and instead highlighting all visible cells that correspond to the matching hyperlink. Closes #7766.
2024-03-06Fix log typoshuajin tong
2024-03-03Fix build failure on NetBSDKirill Chibisov
x11-clipboard was unconditionally using eventfd which is not present on NetBSD. Links: https://github.com/quininer/x11-clipboard/issues/48
2024-03-01Add alias support to `SerdeReplace`Alexandru Placinta
2024-02-29Check alternative cursor icon names on WaylandFriz64
2024-02-27Bump winit to 0.29.11Kirill Chibisov
Fixes #7633. Fixes #7613. Fixes #7607. Fixes #7571. Fixes #7549.
2024-02-14Fix regional scrolling leaking into historyChristian Duerr
This fixes an issue where a scrolling region that does not start at the top of the screen would still rotate lines into history when scrolling the content "upwards".
2024-02-14Bump MSRV to 1.72.0Christian Duerr
2024-02-08Add default `Home`/`End` bindings for Vi modeKirill Chibisov
2024-02-04Fix hang on startup with some Wayland compositorsalacritty_terminal_v0.21.0Kirill Chibisov
Fixes #7665.
2024-02-03Fix hang on startup with some Wayland compositorsKirill Chibisov
Fixes #7665.
2024-01-31Don't use kitty sequences outside protocolKirill Chibisov
Originally kitty defined that functional keys, which are not encoded by default, like `Pause` should be encoded with `CSI u`. However the specification was clarified and now it says that terminal may ignore that part. Given that Alacritty tries to follow xterm/urxvt when it comes to bindings, CSI u bindings are not send for consistency reasons. This also brings back F13-F20 bindings used by Alacritty in 0.12.3, as well as explicitly defines `NumpadEnter` like it was before. Closes #7623.
2024-01-27Move CHANGELOG entry for sextants to proper sectionKirill Chibisov
2024-01-27Don't report associated text only for C0/C1Kirill Chibisov
This has a side effect that we'll have text reported for Alt+Shift+T and similar, but only C0/C1 should be excluded and Alt+Shift+T is emitting neither, thus regular `T` will be reported. Fixes #7657.
2024-01-26Use builtin font to draw sextantsPopa Ioan Alexandru
Sextants are similar to quadrants and should align with them and other box drawing, thus use builtin font to align them properly. Part-of: #7422.
2024-01-24Allow specifying all config keys on all platformsChristian Duerr
Closes #7592.
2024-01-14Fix env variable overrides through CLIChristian Duerr
This fixes an issue where all CLI environment variables would replace existing configuration file variables instead of merging the two maps together. Fixes #7618.