aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/config
Commit message (Collapse)AuthorAge
* Ignore when config file is movedLulu2025-10-16
| | | | | | | As this is practically the same as deleting the file it should be treated the same and ignored. Moving a file from somewhere to the config file is not ignored and the config will reload as normal.
* Add alacritty_terminal option to escape pty argsfeeiyu2025-08-02
| | | | | | | | | | | This adds a new `escape_args` option to `tty::Options` on Windows, which can be used to automatically escape all arguments passed to the shell. While useful to automatically make most arguments work on Windows, there are some scenarios where it is not possible for users to properly specify arguments with this option enabled (e.g.: `cmd /c`). An option should always be present to disable this option when used. The implementation is based on the `Command` code in Rust's STD lib.
* Migrate to 2024 editionChristian Duerr2025-07-13
|
* Add global config fallbackmBornand2025-07-07
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Add yank to EOL vi mode bindingprime-run2025-07-07
|
* Remove cstr! macro in favor of literal notationKirill Chibisov2025-07-01
| | | | | Also apply clippy changes while at it. Closes #8002.
* Apply clamp for opacityKirill Chibisov2025-05-31
| | | | Previously opacity was not clamping during reading it from the config or via IPC.
* Add IPC config retrieval subcommandChristian Duerr2025-05-29
| | | | | | | | | | | | | | | This patch adds a new `alacritty msg get-config` subcommand which can retrieve the current config from any Alacritty window using the IPC socket. The command will always print the full configuration file in JSON, without the ability to filter which values are returned, leaning on tools like `jq` instead of adding this complexity to Alacritty. Contrary to deserialization, this relies heavily on the default serialization implementations to reduce the necessary changes. Key and Mouse bindings are omitted entirely since their structure is very complex and they tend to just bloat the message size without having an obvious usecase.
* Bump all dependenciesKirill Chibisov2025-05-28
|
* Fix clippy warningsKirill Chibisov2025-05-28
|
* Fix hint binding IPC overridesChristian Duerr2025-05-21
| | | | | | | | | | | | | | | | | This fixes an issue where changes made to the bindings of a hint through IPC were completely ignored, since the hint key bindings were only generated on config load without regeneration on IPC config override. While it would be possible to just filter out remove hint key bindings based on their action and then repopulate them on IPC config reload, this solution would be quite hacky. To have a better distinction between traditional and hint key bindings, the two have been entirely separated and hint bindings are just converted to key bindings on demand. This allows easily replacing the entire hint array without any post-processing, making it simpler to maintain for future changes. Closes #8568.
* Add * # { } vi motionsChristian Duerr2025-05-20
| | | | | | | | | | | | This patch adds Vi's semantic search and paragraph motion. The semantic search uses either the selection or the semantic word under the cursor and jumps to the next match in the desired direction. Paragraph motion jumps to just above or below the current paragraph. Closes #7961. Co-authored-by: Fletcher Gornick <fletcher@gornick.dev>
* Fix disambiguation for Enter/Tab/BackspaceKirill Chibisov2025-05-03
| | | | The keys were not disambiguated, but they should be. Was just an oversight.
* 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
|