| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
| |
Fixes #7224.
|
|
|
| |
Fixes #7325.
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
In addition to box drawing it was decided to also draw powerline
symbols, since those are quite common and rather simple to draw with
present box drawing infra.
|
|
|
|
| |
The timeout and blink events could be delivered at the same time,
so canceling blinking won't work and we'll still have an event.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This fixes a crash which could occur when leaving search with a visible
match after shrinking the terminal height to be lower than the original
line the focused match was in.
Closes #7054.
|
|
|
| |
Fixes #972.
|
| |
|
|
|
|
|
|
| |
This patch ignores the startup mode when creating a new tab on macOS to
avoid maximizing an existing window.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| |
|
|
|
|
|
|
| |
Only consider bindings without Shift if there are no actions defined for the
actual mouse event.
Closes #7292.
|
|
|
| |
Fixes #7309.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The live reload handling wasn't introduced when the option got added.
Fixes #7295.
|
|
|
|
| |
This patch applies all breaking and non-breaking dependency updates
and bumps MSRV to 1.70.0.
|
|
|
|
|
|
|
|
|
| |
This patch replaces the mio crate with the polling. Now that
smol-rs/polling#96 has been merged, we should be at full feature parity
with mio v0.6 now.
Fixes #7104.
Fixes #6486.
|
|
|
|
|
|
|
|
|
|
|
| |
This patch underlines the full regex hint match while the keyboard hint
selection is in process.
While it would be possible to color the entire match, this would only
introduce unnecessary configuration options and be too noisy. The
underline matches the mouse highlighting and has a less drastic visual
impact.
Closes #6178.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Activate a window to indicate that we want initial focus when the
system uses startup notifications.
Fixes #6931.
|
|
|
|
|
| |
This doesn't represnet the movement to add tabs on any other platform,
unless winit could add a similar API for them.
|
|
|
|
|
|
|
|
| |
Make use of new winit frame throttling mechanism used in RedrawRequested,
which removes the need for having Wayland queue to ask for the frame
callbacks.
Fixes #7011.
|
|
|
| |
Fixes #6900.
|
|
|
| |
This seems like a sensible first step before looking into #7097.
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch stores all options set for the Window ID `-1` and
automatically applies them to new windows after their creation.
This in theory makes it possible to have a fully dynamic "default
config" without having to reapply it for every new window.
Closes #7128.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
After evaluation of the ahash with the data alacritty uses it was
discovered that it's 1.5-2x times faster when getting the already
hashed values, which is the primary cases for alacritty's renderer.
Given that ahash is generally faster, all the HashSet and HashMap's
inside the alacritty were changed to use it as a hasher function.
|
| |
|
|
|
|
|
| |
While we skip the spacers for the wide characters in the grid due to
them having a proper flags, the draw_string method was generating the
cells with incorrect flags leading to wide chars being cut off.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Some IME setups do only `commit` single char input, like fcitx5 when
doing ru input.
|
| |
|
|
|
|
|
| |
They were using uppercase latters, however our config expects everything
as lowercase, because we're using `key_without_modifiers` +
`ModifiersState`.
|
|
|
|
|
|
| |
Some keyboard layouts have named logical keys via shift combinations
of some sorts. So prefer them.
Fixes #7076.
|
|
|
|
| |
This should improve the situation with some touchpads. GTK4 is also
using the same value.
|
|
|
| |
Fixes #7077.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
They were compared by len, but it's was wrong from the start, since
a user provided binding could remove more than one builtin binding,
so it was impossible for users to use their own bindings.
The most reliable way to do so is to use `Option`, given that we fill
default during deserialization.
Fixes #7050.
|
|
|
|
|
|
|
|
|
|
| |
The new colorscheme is base16 classic dark with the bright colors
generated with oklab toolkits. The base16 classic dark is less washed
out and represents the current maintainers preference. The motivation
to change it was subjective, though it does look like generic dark
theme.
On a side note, this colorscheme was used for alacritty.org web page for
a long time, however it used different foreground color.
|
|
|
| |
Fixes #6962.
|
|
|
|
| |
This adds a little recommendation to use `alacritty migrate` to
automatically transition configuration files from YAML to TOML.
|
|
|
|
|
|
|
|
|
| |
Currently there are still some places where `Deserialize` is used rather
than `ConfigDeserialize`, which means that the built-in warning for
unused fields is not emitted automatically.
To ensure users don't have invalid configurations, the
`#[serde(deny_unknown_fields)]` annotation has been added to these
structs, making it a hard error when an unknown field is present.
|