| Commit message (Collapse) | Author | Age |
|
|
|
| |
Backward buttons)
|
|
|
|
| |
The config values are hardcoded atm.
|
|
|
|
| |
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`.
|
|
|
| |
The daemon without socket is not that useful.
|
|
|
| |
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.
|
|
|
|
|
| |
The wide char spacers must not be drawn, like we do for regular wide
characters.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The behavior changed and now it actually makes sense.
Fix #8385.
|
|
|
|
| |
Changing block selection to regular semantic one doesn't feel intuitive,
thus don't switch to it when user has control pressed.
|
|
|
|
|
|
|
|
| |
This fixes an issue with daemon mode where the first spawned window
would not use the window options passed to the `create-window`
subcommand, but would instead use the options passed during creation of
the original daemon.
Closes #8371.
|
|
|
|
| |
While this doesn't change much with how parsers are implemented, it
improves consistency with how key release is handled.
|
| |
|
|
|
|
|
|
|
| |
YAML import migration was already properly ignoring nonexistent imports,
it was only missed for TOML ones.
Fixes #8330.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #8230.
|
|
|
|
|
| |
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 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.
|
|
|
|
| |
The first line is not really useful for the user, so move it to the
bottom.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 #8169.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update winit and clap to latest versions.
|
| |
|
|
|
|
|
|
|
|
| |
This fixes an issue where an inline search in the left direction would
incorrectly assume that the first cell searched would not contain the
`WRAPLINE` flag, causing the second search for the match end to
terminate prematurely.
Fixes #8060.
|
|
|
| |
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The [kitty keyboard protocol][1] explicitly requires that the
*un-shifted* version of the pressed key is used to report the primary
code point in `CSI code-point;modifiers u` sequences.
> Note that the codepoint used is always the lower-case (or more
> technically, un-shifted) version of the key. If the user presses, for
> example, ctrl+shift+a the escape code would be CSI 97;modifiers u. It
> must not be CSI 65; modifiers u.
Alacritty's current behavior is to report the shifted version when shift
is pressed, and the un-shifted version otherwise:
```console
# Note that you'll have to kill Alacritty after running this to get
# control back!
$ echo -ne '\x1b[>1u'; cat
^[[97;5u^[[65;6u
```
The above was generated by pressing `CTRL`+`a` followed by
`CTRL`+`SHIFT`+`a` after running the command. Here `97` and `65` are the
codepoints for `a` and `A` respectively.
This change makes Alacritty match the protocol (and Kitty's) behavior.
With this change applied, `97` is reported for both `CTRL`+`a` and
`CTRL`+`SHIFT`+`a`.
[1]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#key-codes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following config was broken:
```
[mouse]
bindings = [
{ mouse = "Right", mods = "Shift", action = "Copy" },
{ mouse = "Right", mods = "Shift", action = "ClearSelection" },
]
```
Only the first action was applied. Change to allow more than one exact
match in mouse mode with shift held, but keep the logic to not allow
fallback search if any exact match was found.
Regression was introduced in 1a143d11.
|
|
|
|
|
|
| |
The user events for all cases were not handled.
Fixes: 48c088a5 (Bump winit to 0.30.0)
Fixes: #7957.
|
| |
|
|
|
|
| |
This implements a coordinated shutdown of the config monitor by sending
an event to its thread and waiting for the thread to terminate.
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an issue where Windows spawned after the initial one through
IPC or bindings would not update their title due to the initial window
having its title set through the CLI.
Title changes are still inhibited for additional windows when they are
spawned through `alacritty msg create-window` with the `--title` CLI
option added.
Closes #6836.
|
|
|
|
|
|
|
|
|
| |
Fix incorrect usage of the `flags` when drawing the preedit resulting
in setting the `flags`, but not actually reading the value back.
The logic to skip things was also used incorrectly, because the renderer
does that already based on the `WIDE_CHAR` flag on the cell.
Fixes: 67a433ceed (Skip whitespaces for wide chars in preedit)
|