aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
Commit message (Collapse)AuthorAge
* Have alacritty pass through X1Mouse and X2Mouse to Vim. (Forward and ↵Josh Rahm2025-02-06
| | | | Backward buttons)
* Re-implement crosshairs on newer alacritty.Josh Rahm2025-02-05
| | | | The config values are hardcoded atm.
* Add backslash to invalid characters for URL regexKaylem Brown-Malone2025-01-29
| | | | This adds the `\` character to the list of characters which will terminate matches in Alacritty's default hint for URL recognition.
* Add option to drain PTY on shutdownAndrew Borg (Kashin)2025-01-16
| | | | | This patch removes the `hold` option on `alacritty_terminal` in favor of a `drain_on_exit` option, which will drain the PTY before shutdown. The hold logic is instead handled in `alacritty`.
* Error when failed to create socket with --daemonKirill Chibisov2025-01-14
| | | The daemon without socket is not that useful.
* Bump glutin to 0.32.2Kirill Chibisov2025-01-12
| | | This cleans up context managing.
* Try to recover from GPU resetsKirill Chibisov2025-01-11
| | | | | Use context robustness to get notified about GPU resets and try to recover from them by rebuilding the rendering pipeline.
* Fix cut off wide characters in preedit stringKirill Chibisov2025-01-10
| | | | | The wide char spacers must not be drawn, like we do for regular wide characters.
* Fix crash during live output searchKirill Chibisov2025-01-09
| | | | | | | | Sometimes points could end up outside of viewport, thus the screen will need to be invalidated. The default unwrapping does handle both cases. Fixes: a1ed79bd2c01 (Fix highlight invalidation on grid scroll)
* Pass activation token in alacritty msg create-windowKirill Chibisov2025-01-04
| | | | Fixes #8337.
* Fix report of Enter/Tab/Backspace in kitty keyboardKirill Chibisov2025-01-04
| | | | | The behavior changed and now it actually makes sense. Fix #8385.
* Don't switch semantic/line selection when control is pressedKirill Chibisov2024-12-29
| | | | Changing block selection to regular semantic one doesn't feel intuitive, thus don't switch to it when user has control pressed.
* Fix window options for initial daemon windowChristian Duerr2024-12-22
| | | | | | | | This fixes an issue with daemon mode where the first spawned window would not use the window options passed to the `create-window` subcommand, but would instead use the options passed during creation of the original daemon. Closes #8371.
* Always explicitly emit `1` without modifiers in kitty encodingKirill Chibisov2024-12-20
| | | | While this doesn't change much with how parsers are implemented, it improves consistency with how key release is handled.
* Remove unnecessary staticsIntegral2024-12-09
|
* Don't error on nonexistent TOML imports in migrateKirill Chibisov2024-11-28
| | | | | | | YAML import migration was already properly ignoring nonexistent imports, it was only missed for TOML ones. Fixes #8330.
* Fix recursion limit not working for toml migrateKirill Chibisov2024-11-28
|
* Add `window.level` config optionDavid Horner2024-11-23
|
* Switch to new objc2 cratesMads Marquart2024-11-21
|
* Fix racing condition in hint triggeringChristian Duerr2024-11-02
| | | | | | | | | | | This fixes an issue with hints where it was possible that the terminal content of highlighted hints changed between the highlighted hint update and the activation of the hint. This patch always validates the hint's text content against the hint itself to ensure that the content is still valid for the original hint which triggered the highlight. Closes #8277.
* Focus new windows on macOSChris2024-11-02
|
* Fix hint highlight invalidationChristian Duerr2024-10-29
| | | | | | | This fixes a couple issues with hint highlight invalidation, which would cause hints to lose their underline highlight despite the terminal itself not having changed since the highlight started. Closes #8270.
* Remove dbg! in migration commandNathan Lilienthal2024-10-15
|
* Add headless modeChristian Duerr2024-10-15
| | | | | | | | 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.
* Add IME support to inline searchChristian Duerr2024-10-15
| | | | | | | | | | | 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.
* Implement multi-char cursor highlightKirill Chibisov2024-10-15
| | | | | | | | 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.
* Fix panic on missing general config sectionKirill Chibisov2024-10-10
| | | Fixes #8230.
* Change ctrl+shift+u to ctrl+shift+oKirill Chibisov2024-10-10
| | | | | 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.
* Fix highlight invalidation on grid scrollChristian Duerr2024-10-07
| | | | | | | | | | | | | | | 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.
* Restructure message bar log messageKirill Chibisov2024-10-02
| | | | The first line is not really useful for the user, so move it to the bottom.
* Add migration support for TOML config changesChristian Duerr2024-10-02
| | | | | | | | | | | | | | 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.
* Move root config fields to `[general]` sectionChristian Duerr2024-10-02
| | | | | | | | | | | 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.
* Fix app icon in alt+tab view on WindowsNeil Stewart2024-09-30
|
* Ignore cursor color request with default colorsChristian Duerr2024-09-22
| | | | | | | | | | | | 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.
* Unify string formattingHamir Mahal2024-07-24
|
* Restart config monitor on import changeChristian Duerr2024-07-21
| | | | | | | 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.
* Bump dependenciesKirill Chibisov2024-07-17
| | | | Update winit and clap to latest versions.
* Bump MSRV to 1.74.0Kirill Chibisov2024-07-17
|
* Fix search bug with wrapline on first characterChristian Duerr2024-07-05
| | | | | | | | 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.
* Support relative imports in config fileJoshua Cao2024-07-02
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Bump glutin to 0.32.0Kirill Chibisov2024-06-08
|
* Fix spelling errorsJosh Soref2024-05-24
|
* Fix Kitty protocol reporting shifted keycodesjadedpasta2024-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix error with missing importsChristian Duerr2024-05-23
| | | | | | | | | | | | | | 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.
* Fix mouse mode bindings with multiple actionsEBADBEEF2024-05-16
| | | | | | | | | | | | | | | | 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.
* Fix user events for all windows not handledKirill Chibisov2024-05-07
| | | | | | The user events for all cases were not handled. Fixes: 48c088a5 (Bump winit to 0.30.0) Fixes: #7957.
* Bump winit to 0.30.0Kirill Chibisov2024-05-04
|
* Fix shutdown of config monitorChristian Duerr2024-05-03
| | | | This implements a coordinated shutdown of the config monitor by sending an event to its thread and waiting for the thread to terminate.
* Fix dynamic title override for multiple windowsChristian Duerr2024-04-23
| | | | | | | | | | | 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.
* Fix IME preview overlapping textKirill Chibisov2024-04-21
| | | | | | | | | 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)