aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
Commit message (Collapse)AuthorAge
* Bump glutin to 0.32.0Kirill Chibisov2024-08-14
|
* Fix spelling errorsJosh Soref2024-08-14
|
* Fix Kitty protocol reporting shifted keycodesjadedpasta2024-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-08-14
| | | | | | | | | | | | | | 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-08-14
| | | | | | | | | | | | | | | | 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-08-14
| | | | | | 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-08-14
|
* Fix shutdown of config monitorChristian Duerr2024-08-14
| | | | 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-08-14
| | | | | | | | | | | 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-08-14
| | | | | | | | | 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)
* Fix missing config import warningMatt Fellenz2024-08-14
|
* Fix crash when trying to open a new tab on macOSWilliam Viktorsson2024-08-14
| | | | | | 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>
* Send ESC with Alt for unicode inputKirill Chibisov2024-08-14
| | | | | | | | | | | 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.
* Fix kitty encoding used for char input without textKirill Chibisov2024-08-14
| | | | | 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.
* Allow setting terminal env vars via PTY optionsKirill Bulatov2024-08-14
| | | Closes #7778.
* Fix hint `Select` action for hyperlink escapeChristian Duerr2024-08-14
| | | | | | | | | | | | 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.
* Send exit code events on child process exitKirill Bulatov2024-08-14
| | | | Fixes #7753.
* Fix feature = "cargo-clippy" deprecationDimitris Apostolou2024-08-14
|
* Unlock more bindings from the keyboardJosh Rahm2024-02-23
|
* Re-implement crosshairs on newer alacritty.Josh Rahm2024-02-19
| | | | The config values are hardcoded atm.
* Fix clippy warningsChristian Duerr2024-02-14
|
* Add default `Home`/`End` bindings for Vi modeKirill Chibisov2024-02-08
|
* Fix hang on startup with some Wayland compositorsKirill Chibisov2024-02-04
| | | Fixes #7665.
* Fix unnecessary explicit panic in PTY Conrad Irwin2024-02-02
| | | Closes #7680.
* Don't use kitty sequences outside protocolKirill Chibisov2024-01-31
| | | | | | | | | | | | | 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.
* Don't report associated text only for C0/C1Kirill Chibisov2024-01-27
| | | | | | | | 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.
* Use builtin font to draw sextantsPopa Ioan Alexandru2024-01-26
| | | | | | 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.
* Allow specifying all config keys on all platformsChristian Duerr2024-01-24
| | | Closes #7592.
* Fix `debug.renderer="gles2pure"` documentationChristian Duerr2024-01-14
| | | | | | | Patch 5685ce8bf changed the allowed values of the `debug.renderer` enum, prohibiting the usage of `_` in the `Gles2Pure` variant. This patch updates the documentation to correct for that. Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
* Reduce allocations during keyboard inputChristian Duerr2024-01-09
|
* Ignore null values in `alacritty migrate`Kirill Chibisov2024-01-05
| | | | This should help with broken YAML configurations by throwing nulls away, which are not representable in toml.
* Add vi search paste bindingsOmar Magdy2024-01-04
| | | Closes #7511.
* Fix replacing optional fieldsChristian Duerr2024-01-02
| | | | | | | This fixes an issue with the default `SerdeReplace` implementation where it would never recurse through options but always replace the entire option with the new value. Closes #7518.
* Fix number-based mouse bindingsLars Francke2024-01-02
| | | | | | | The toml migration introduced a regression which stopped numbered key binding's from working. This patch implements the required number type to make things work again. Fixes #7527.
* Powerline glyphs being cut for narrow fontsKirill Chibisov2023-12-31
| | | Fixes #7470.
* Send associated text for shifted numbers with kittyKirill Chibisov2023-12-30
| | | | | Also fix the wrong ordering of base and shifted keys. Fixes #7492.
* Don't substitute `\n` in char bindingsKirill Chibisov2023-12-30
| | | | | | This broke unintentionally due to routing paste-like input via paste function. Fixes #7476.
* Passthrough potential errors for `EventLoopSender`Hyper2023-12-30
|
* Fix inability to bind `Alt+Control` on WindowsKirill Chibisov2023-12-30
| | | | Fixes #7506.
* Use pre-composed key for `Alt` bindings on macOSKirill Chibisov2023-12-30
| | | | Fixes #7475.
* Remove direct dependency on once_cellPhilip Dubé2023-12-29
| | | With MSRV 1.70, std now contains the necessary parts.
* Fix `alacritty migrate` with nonexistent importsChristian Duerr2023-12-28
| | | Fixes #7473.
* Apply modifiers before presses in kitty protocolKirill Chibisov2023-12-25
| | | | | | | | | While this doesn't handle releases with multiple identical modifiers pressed, the release can't work reliable anyway, since one modifier could be pressed before focusing the window, thus tracking modifiers based on the keysym values won't work as it was suggested by kitty author. Links: https://github.com/kovidgoyal/kitty/issues/6913
* Keep IME always enabled on X11Kirill Chibisov2023-12-22
| | | Fixes #7195.
* Account for option_as_alt when doing kitty protocolKirill Chibisov2023-12-20
| | | | | | By default `Alt` is not a real `Alt` on macOS, so we shouldn't treat it as a modifier. Fixes #7443.
* Fix the order of `ClearSelection` in Vi modeKirill Chibisov2023-12-16
| | | Fixes #7438.
* Bump crossfont to 0.7.0Kirill Chibisov2023-12-14
|
* Fix message bar not damaged when the same sizeKirill Chibisov2023-12-08
| | | | | | The regression was added due to `y` coordinate in OpenGL differs to `y` inside the damage rectangles. Fixes: 40160c5d (Damage only terminal inside `alacritty_terminal`)
* Don't emit text for NamedKey without text reprKirill Chibisov2023-12-08
| | | | | | | | | When the key doesn't have textual representation we shouldn't emit the text for them, since they are processed via bindings. Also, fix the logic to handle named keys with disambiguate without special modes/modifiers. Fixes #7423.
* Fix trigger of normal bindings in mouse modeKirill Chibisov2023-12-08
| | | | | | | We should ensure that the `Shift` is actually pressed when trying to prefer regular bindings instead of the ones if we had Shift applied. Fixes: 500b696ca8ed (Prefer exact matches for bindings in mouse mode) Fixes #7415.