aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/config
Commit message (Collapse)AuthorAge
* 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`.
* Add `window.level` config optionDavid Horner2024-11-23
|
* 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.
* 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.
* 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.
* 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.
* Support relative imports in config fileJoshua Cao2024-07-02
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix spelling errorsJosh Soref2024-05-24
|
* 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 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 missing config import warningMatt Fellenz2024-04-21
|
* Allow setting terminal env vars via PTY optionsKirill Bulatov2024-03-18
| | | Closes #7778.
* Fix hint `Select` action for hyperlink escapeChristian Duerr2024-03-12
| | | | | | | | | | | | 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.
* Add default `Home`/`End` bindings for Vi modeKirill Chibisov2024-02-08
|
* Fix hang on startup with some Wayland compositorsKirill Chibisov2024-02-04
| | | Fixes #7665.
* 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.
* 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>
* 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.
* Fix the order of `ClearSelection` in Vi modeKirill Chibisov2023-12-16
| | | Fixes #7438.
* Bump crossfont to 0.7.0Kirill Chibisov2023-12-14
|
* Implement kitty's keyboard protocolKirill Chibisov2023-12-06
| | | | | | | | The protocol enables robust key reporting for the applications, so they could bind more keys and the user won't have collisions with the normal control keys. Links: https://sw.kovidgoyal.net/kitty/keyboard-protocol Fixes #6378.
* Fix chars usage inside the mouse bindingsKirill Chibisov2023-12-06
| | | Fixes #7413.
* Don't use `::*` for enum variants in bindingsKirill Chibisov2023-12-03
|
* Adjust default Vi's SearchBackwards bindingKirill Chibisov2023-11-28
| | | We have the same policy with Shift for numbers.
* Change default `bell.animation` to `Linear`Kirill Chibisov2023-11-13
| | | | The default animation feels really choppy, but it's just how its function looks.
* Add `--option` argument to `create-window`Christian Duerr2023-11-11
| | | | | | | | | | | | This patch adds a new CLI parameter to the `create-window` subcommand, matching the existing `--option` parameter when creating a new Alacritty instance. This parameter allows setting up the initial window configuration from the CLI without having to call `alacritty msg config`, making sure that all options are set appropriately right from the start. Closes #6238.
* Unify CLI config override mechanismsChristian Duerr2023-11-11
| | | | | | | | | This patch changes the way the `-o` config option works when specified at startup to function the same way as the IPC mechanism. While this should technically perform the exact same way, it should hopefully make it a little easier to understand how CLI config replacement works.
* Remove `alacritty_config` from alacritty_terminalKirill Chibisov2023-11-10
| | | | | 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.
* Add `window.blur` config optionKirill Chibisov2023-10-29
| | | Fixes #972.
* Fix clippy warningsPavel Roskin2023-10-29
|
* Fix typosPavel Roskin2023-10-25
|
* Update winit to 0.29.2 and copypasta to 0.10.0Kirill Chibisov2023-10-21
| | | | | | | | | Fixes #7236. Fixes #7201. Fixes #7146. Fixes #6848. Fixes #3601. Fixes #3108. Fixes #2453.
* Add inline vi mode searchChristian Duerr2023-10-20
| | | | | | This patch adds inline search to vi mode using `f`/`F` and `t`/`T` as default bindings. The behavior matches that of vim. Fixes #7203.
* Fix regex memory usageChristian Duerr2023-09-17
| | | | | | | | | | | | | | | | | | This fixes an issue where regexes with a large number of possible states would consume excessive memory, since the entire DFA was compiled ahead of time. To solve this, the DFA is now built at runtime using `regex-automata`'s hybrid DFA. There are however still some checks performed ahead of time, causing errors with obscenely large regexes (`[0-9A-Za-z]{999999999}`), which shouldn't cause any issues. A regex which is large, but not large enough to fail the NFA construction (like `[0-9A-Za-z]{999999}`) will cause a long search of the entire grid, but will complete and show the match. Closes #7097.
* Add `prefer_egl` debug optionRolf Sievert2023-09-04
| | | | | | | | | Some systems have rendering issues when using GLX rather than EGL. While this is usually due to a driver bug, it is helpful to provide a workaround for this by allowing people to prefer EGL over GLX. This patch adds the new `debug.prefer_egl` option to provide this workaround. Closes #7056.
* Add bindings for macOS tabsKirill Chibisov2023-09-04
| | | | | This doesn't represnet the movement to add tabs on any other platform, unless winit could add a similar API for them.
* Change `window.padding` from u8 to u16Arhum Jain2023-09-02
| | | Fixes #6900.
* Update regex-automata to v0.3.6Christian Duerr2023-08-27
| | | This seems like a sensible first step before looking into #7097.
* Remove winit dependency from alacritty_configMax Brunsfeld2023-08-17
|
* Make URL_REGEX more strictKirill Bulatov2023-07-22
|
* Fix keys like `+` not working on neo layoutsKirill Chibisov2023-07-20
| | | | | | The key_without_modifier removes all the modifiers including the multiple shift levels, which is not desired. In alacritty we just wanted to treat uppercase and lowercase latters the same, which we can with the help of builtin functions.
* Use lowercase latters in bindings for h/m/lKirill Chibisov2023-07-18
| | | | | They were using uppercase latters, however our config expects everything as lowercase, because we're using `key_without_modifiers` + `ModifiersState`.
* Update to the new winit keyboard APIKirill Chibisov2023-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main highlight of this update is that alacritty will now use new keyboard API from the winit, which resolves a lot of issues around key bindings, such as ability to bind dead keys. It also fixes long standing issues with the virtual key code bindings and make bindings in general more predictable. It also makes our default Vi key bindings fully working. Given that alacritty was using `VirtualKey` directly in the bindings from the winit, and winit simply removed the enum, we've added internal conversions to minimize the fallout, but new way to specify the bindings should be more intuitive. Other part of this update fixes some forward compatibility bugs with the Wayland backend, given that wayland-rs 0.30 is fully forward compatible. The update also fixes weird Maximized startup issues on GNOME Wayland, however they were present on any sane compositor. Fixes #6842. Fixes #6455. Fixes #6184. Fixes #5684. Fixes #3574. Fixes #3460. Fixes #1336. Fixes #892. Fixes #458. Fixes #55.