| Commit message (Collapse) | Author | Age |
|
|
|
| |
The config values are hardcoded atm.
|
|
|
|
|
| |
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 cleans up context managing.
|
|
|
|
|
| |
Use context robustness to get notified about GPU resets
and try to recover from them by rebuilding the rendering
pipeline.
|
|
|
|
|
|
|
|
| |
Sometimes points could end up outside of viewport, thus the screen
will need to be invalidated. The default unwrapping does handle both
cases.
Fixes: a1ed79bd2c01 (Fix highlight invalidation on grid scroll)
|
|
|
|
| |
Fixes #8337.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This fixes a couple issues with hint highlight invalidation, which would
cause hints to lose their underline highlight despite the terminal
itself not having changed since the highlight started.
Closes #8270.
|
|
|
|
|
|
|
|
|
|
|
| |
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 #8208.
|
|
|
|
|
|
|
|
| |
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 #8238.
Fixes #7849.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 #7737.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Update winit and clap to latest versions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #7195.
|
|
|
|
|
|
| |
The regression was added due to `y` coordinate in OpenGL differs to
`y` inside the damage rectangles.
Fixes: 40160c5d (Damage only terminal inside `alacritty_terminal`)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When setting cursor area, the popup will be placed either above or
below not obscuring the supplied region, however we were still
offsetting line with `+1` putting the cursor at the bottom of the line,
and given that area is from the top-left corner, the wrong area
was marked for not being obscured.
It was also discovered that some compositors, like GNOME, position
IME in the bottom right corner of the supplied region, which is wrong,
but it renders IME popup not very useful, since it's far away from
the place it should be, thus try to not obscure just a few characters
near the cursor.
Given that X11 doesn't support area setting, it uses the old logic
with offsetting.
Co-developed-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: lilydjwg <lilydjwg@gmail.com>
|
|
|
|
|
|
| |
Font size could change without changing the cell dimensions, like
becoming slightly higher/wider.
Fixes: 40160c5d (Damage only terminal inside `alacritty_terminal`)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The damage tracking was including selection and vi_cursor which were
rendering viewport related, however all the damage tracking inside
the `alacritty_terminal` was _terminal viewport_ related, meaning that
it should be affected by `display_offset`.
Refactor the damage tracking so `alacritty_terminal` is only tracking
actual terminal updates and properly applying display offset to them,
while `alacritty` pulls this damage into its own UI damage state.
Fixes #7111.
|
|
|
| |
Fixes #7224.
|
|
|
| |
Fixes #7325.
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes #7236.
Fixes #7201.
Fixes #7146.
Fixes #6848.
Fixes #3601.
Fixes #3108.
Fixes #2453.
|
|
|
|
|
| |
The live reload handling wasn't introduced when the option got added.
Fixes #7295.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
This seems like a sensible first step before looking into #7097.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Closes #6976.
|