| Commit message (Collapse) | Author | Age |
|
|
|
| |
This adds the `\` character to the list of characters which will
terminate matches in Alacritty's default hint for URL recognition.
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This implements a coordinated shutdown of the config monitor by sending
an event to its thread and waiting for the thread to terminate.
|
| |
|
|
|
| |
Closes #7778.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Fixes #7665.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Closes #7592.
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
This should help with broken YAML configurations by throwing nulls
away, which are not representable in toml.
|
|
|
| |
Closes #7511.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #7438.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #7413.
|
| |
|
|
|
| |
We have the same policy with Shift for numbers.
|
|
|
|
| |
The default animation feels really choppy, but it's just how its
function looks.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #972.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes #7236.
Fixes #7201.
Fixes #7146.
Fixes #6848.
Fixes #3601.
Fixes #3108.
Fixes #2453.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This doesn't represnet the movement to add tabs on any other platform,
unless winit could add a similar API for them.
|
|
|
| |
Fixes #6900.
|
|
|
| |
This seems like a sensible first step before looking into #7097.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
They were using uppercase latters, however our config expects everything
as lowercase, because we're using `key_without_modifiers` +
`ModifiersState`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|