Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream: v0.13.2 → v0.14.0 #6

Merged
merged 301 commits into from
Oct 23, 2024
Merged

Conversation

xiaogaozi
Copy link
Owner

No description provided.

proski and others added 30 commits June 19, 2023 18:29
This adds a little recommendation to use `alacritty migrate` to
automatically transition configuration files from YAML to TOML.
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.
This is only an update to the development version and does not represent
a stable release.
Unfortunately it's not clear to everyone that they are looking at the
development documentation.
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 alacritty#7050.
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 alacritty#6842.
Fixes alacritty#6455.
Fixes alacritty#6184.
Fixes alacritty#5684.
Fixes alacritty#3574.
Fixes alacritty#3460.
Fixes alacritty#1336.
Fixes alacritty#892.
Fixes alacritty#458.
Fixes alacritty#55.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
This variable is what being used for Wayland's activation stuff.
This should improve the situation with some touchpads. GTK4 is also
using the same value.
Some keyboard layouts have named logical keys via shift combinations
of some sorts. So prefer them.

Fixes alacritty#7076.
A lot of actions were left without a notice, so the only way to figure
out some of them was to browse source code. An example of such
actions were `Maximize` and `Minimize`, since we don't have a binding
for them, so they were left even in alacritty-bindings(5).

Explicitly list all the bindings we have. The search bindings were
also not accurately restricted, since we allow them to be executed
inside regardless of mode.
They were using uppercase latters, however our config expects everything
as lowercase, because we're using `key_without_modifiers` +
`ModifiersState`.
This patch updates the license field to follow the SPDX 2.1 license
expression standard.
Some IME setups do only `commit` single char input, like fcitx5 when
doing ru input.
Closes alacritty#7087.

Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
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 mentioned only in the changelog, but forgotten in the man
page.
Some environments demand certain OSC sequences to be disabled or
some escape sequence could require handling which is out of scope
of alacritty, but could be done by external script (OSC 777).

Added section for now just handles the `OSC 52` sequence and changes
its default to be `OnlyCopy`, which is handy for remote copy, but
`Paste` is redundant because normal `Paste` hotkey could be used as
well.

Fixes alacritty#3386.

Co-authored-by: Christian Duerr <contact@christianduerr.com>
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.
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.
hadronized and others added 27 commits September 7, 2024 00:25
This also fixes the escaping in alacritty(5) page.
Currently when the cursor colors are requested for the default cursor
color, Alacritty always responds with #000000. Since this is most likely
incorrect, this response is misleading.

Realistically there's very little reason why any application would need
to know the color of the (often dynamically changing) default cursor. So
instead of always reporting an incorrect black value, this patch just
stops reporting values unless the cursor color was explicitly changed.

Closes alacritty#8169.
Semantic escape characters occupying two two grid cells were always
skipped over, making it impossible to have functional fullwidth
characters as part of semantic escape characters.

This patch fixes this by only skipping over fullwidth spacer cells,
rather than skipping those cells entirely.

Closes alacritty#8188.
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 alacritty#7906.
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.
The first line is not really useful for the user, so move it to the
bottom.
This will prevent issues when `setup_env` from `alacritty_terminal` will
remove potentially useful variables for users of the library.

Fixes alacritty#8202.
This fixes an issue where hints highlighted by vi or mouse cursor would
produce an underline on the incorrect line since the highlights only
store the initial match boundaries without accounting for new content
scrolling the terminal.

To accurately invalidate the hint highlights, we use existing damage
information of the current frame. The existing logic to damage hints for
the next frame to account for removal has been changed, since the hints
would otherwise be cleared immediately. Instead we now mark the terminal
as fully damaged for the upcoming frame whenever the hints are cleared.

Closes alacritty#7737.
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 fixes issues in width calculation for symbols added in Unicode
version 16.

Since the upstream unicode-width crate has not been updated yet, this
makes use of the temporary unicode-width-16 version to support Unicode
16 with Alacritty 0.14.0.
Use `end` of the cursor to draw a `HollowBlock` from `start` to `end`.
When cursor covers only a single character, use `Beam` cursor instead
of `HollowBlock`.

Fixes alacritty#8238.
Fixes alacritty#7849.
This changes the behavior of inline search from only accepting direct
key inputs, to also accepting IME and paste. The additional characters
are still being discarded, matching the existing behavior.

This also fixes an issue where inline search wouldn't work for
characters requiring modifiers, since the modifier press was interpreted
as the search target instead.

Closes alacritty#8208.
This patch adds a daemon mode to Alacritty which allows starting the
Alacritty process without spawning an initial window.

While this does not provide any significant advantage over the existing
behavior of always spawning a window, it does integrate nicer with some
setups and is a pretty trivial addition.
The pipe was not using O_CLOEXEC, so it was leaked into the child.

Fixes alacritty#8249.
alacritty_terminal was pulling `serde` via vte even though
serde feature was disabled.
@xiaogaozi xiaogaozi self-assigned this Oct 23, 2024
@xiaogaozi xiaogaozi merged commit 88da78c into gcj/my-fork Oct 23, 2024
@xiaogaozi xiaogaozi deleted the gcj/merge-upstream branch October 23, 2024 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.