Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
This was not a _real_ violation and was _expected_, though for rust
to not complain clone FD properly...
|
|
This patch fixes an issue with signal handling where Alacritty would
permanently create one signal handling FD for each alacritty window
created by an instance. This FD was never released, causing a leak of
the FD.
Closes #7983.
|
|
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.
|
|
Closes #7886.
|
|
|
|
|
|
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 is only an update to the development version and does not represent
a stable release.
|
|
|
|
|
|
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)
|
|
|
|
This fixes an issue where Alacritty would crash when trying to open a
new tab on macOS while having decorations disabled.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
|
|
Winit explicitly states that the window is not focused by default and
the `Focused` event will deliver the state later on.
Also start adding notable changes to alacritty_terminal in its own
CHANGELOG.
Closes #7866.
|
|
|
|
|
|
This is only an update to the development version and does not represent
a stable release.
|
|
Make `Alt` send `ESC` for unicode input the way it's done for ASCII.
Previously it was disabled because of macOS, however on macOS we're
using the `option_as_alt` setting, which solves the original issue.
The `Alt` prefixing is still disabled for the unicode strings, like
when they come from the compose input.
Fixes #7852.
|
|
This works around an issue where wix was pulling pre-release extensions
and thus breaking compatibility with our used wix version.
|
|
On Windows some key combinations for regular text input, like Ctrl+1
don't have any text attached, so they were generating the kitty escape
sequence even when they shouldn't.
|
|
Closes #7778.
|
|
|
|
This bumps all dependencies that can be updated without introducing a
build failure.
|
|
|
|
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.
|
|
117719b3 removed the extra call for TIOCSWINSZ, however the initial
`openpty` call itself did not set the pixel size, which caused issues
with some clients.
|
|
Fixes #7753.
|
|
|
|
Fixes #7806.
|
|
|
|
x11-clipboard was unconditionally using eventfd which is not present
on NetBSD.
Links: https://github.com/quininer/x11-clipboard/issues/48
|
|
The 0.29.11 was yanked.
|
|
|
|
|
|
|
|
Fixes #7633.
Fixes #7613.
Fixes #7607.
Fixes #7571.
Fixes #7549.
|
|
|
|
This fixes an issue where a scrolling region that does not start at the
top of the screen would still rotate lines into history when scrolling
the content "upwards".
|
|
|
|
|
|
Instead of manually specifying the oldstable version in all our CI
scripts, it is now pulled from the `Cargo.toml` which simplifies the
update process.
The contributing guide has also been updated to not include the explicit
version and its wording has been loosened a bit to correctly represent
current maintenance practices.
|
|
|
|
The openpty call already performs it, thus no need to call it one more
with the exact same size since it confuses some applications.
|