Commit graph

657 commits

Author SHA1 Message Date
Kirill Chibisov 20e3040be0
Fix hang on startup with some Wayland compositors
Fixes #7665.
2024-02-04 15:39:28 +04:00
Kirill Chibisov 2a50076f4c
Fix hang on startup with some Wayland compositors
Fixes #7665.
2024-02-03 07:58:56 +04:00
Kirill Chibisov 38d63abd5f
Don't use kitty sequences outside protocol
Originally kitty defined that functional keys, which are not encoded
by default, like `Pause` should be encoded with `CSI u`. However
the specification was clarified and now it says that terminal
may ignore that part. Given that Alacritty tries to follow xterm/urxvt
when it comes to bindings, CSI u bindings are not send for consistency
reasons.

This also brings back F13-F20 bindings used by Alacritty in 0.12.3, as
well as explicitly defines `NumpadEnter` like it was before.

Closes #7623.
2024-01-31 00:11:16 +04:00
Kirill Chibisov 7c046f5ae6 Move CHANGELOG entry for sextants to proper section 2024-01-27 15:54:19 +04:00
Kirill Chibisov 4eec59728a Don't report associated text only for C0/C1
This has a side effect that we'll have text reported for Alt+Shift+T
and similar, but only C0/C1 should be excluded and Alt+Shift+T is
emitting neither, thus regular `T` will be reported.

Fixes #7657.
2024-01-27 15:54:19 +04:00
Popa Ioan Alexandru b48ab148ff
Use builtin font to draw sextants
Sextants are similar to quadrants and should align with them and
other box drawing, thus use builtin font to align them properly.

Part-of: #7422.
2024-01-26 16:45:26 +04:00
Christian Duerr 79b686df41
Allow specifying all config keys on all platforms
Closes #7592.
2024-01-24 02:00:05 +04:00
Christian Duerr 94ede16ee4
Fix env variable overrides through CLI
This fixes an issue where all CLI environment variables would replace
existing configuration file variables instead of merging the two maps
together.

Fixes #7618.
2024-01-14 20:25:15 +04:00
Christian Duerr b82a49ce0c
Fix inline search expanding across newlines
Closes #7587.
2024-01-14 19:07:40 +04:00
Christian Duerr 415be94072
Add version 0.13.1 to CHANGELOG
This is only an update to the development version and does not represent
a stable release.
2024-01-08 16:10:16 +00:00
Kirill Chibisov 295ac412de
Bump winit to 0.29.9
Fixes #7559.
Fixes #7533.
2024-01-06 04:48:40 +04:00
Kirill Chibisov 213f73e8d6
Ignore null values in alacritty migrate
This should help with broken YAML configurations by throwing nulls
away, which are not representable in toml.
2024-01-05 11:59:05 +04:00
Omar Magdy d47aab93c3
Add vi search paste bindings
Closes #7511.
2024-01-04 17:57:53 +00:00
Christian Duerr 5685ce8bf8
Fix replacing optional fields
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.
2024-01-02 13:34:57 +00:00
Lars Francke 8f57367ead
Fix number-based mouse bindings
The toml migration introduced a regression which stopped numbered key
binding's from working. This patch implements the required number type
to make things work again.

Fixes #7527.
2024-01-02 05:55:02 +00:00
Kirill Chibisov 659550ee34
Bump winit to 0.29.8
Fixes #7514.
Fixes #7502.
Fixes #7494.
Fixes #7474.
Fixes #7472.
2023-12-31 22:12:35 +04:00
Kirill Chibisov 2786683e0e
Powerline glyphs being cut for narrow fonts
Fixes #7470.
2023-12-31 00:12:41 +04:00
Kirill Chibisov c78c5f6cc0
Send associated text for shifted numbers with kitty
Also fix the wrong ordering of base and shifted keys.

Fixes #7492.
2023-12-30 19:50:35 +04:00
Kirill Chibisov 107c8720c3
Don't substitute \n in char bindings
This broke unintentionally due to routing paste-like input
via paste function.

Fixes #7476.
2023-12-30 19:29:21 +04:00
Kirill Chibisov 85d85e49b2 Fix inability to bind Alt+Control on Windows
Fixes #7506.
2023-12-30 09:42:02 +04:00
Kirill Chibisov 6223cabe17 Use pre-composed key for Alt bindings on macOS
Fixes #7475.
2023-12-30 09:42:02 +04:00
Christian Duerr 81df32af60
Fix alacritty migrate with nonexistent imports
Fixes #7473.
2023-12-28 21:57:30 +04:00
Kirill Chibisov b6b21f73ea
Bump winit to 0.29.7
This also bumps other dependencies along the way.

Fixes #2886.
2023-12-27 23:25:25 +04:00
Christian Duerr 8655276f0e
Update alacritty versions
This is only an update to the development versions and does not
represent a stable release.
2023-12-14 10:37:25 +04:00
Kirill Chibisov 0fd04c371a
Bump crossfont to 0.7.0 2023-12-14 07:15:40 +04:00
Kirill Chibisov e34762beae
Update to crossfont 0.6.0 2023-12-08 01:33:33 +04:00
Kirill Chibisov cb03806e2a
Implement kitty's keyboard protocol
The protocol enables robust key reporting for the applications, so
they could bind more keys and the user won't have collisions with
the normal control keys.

Links: https://sw.kovidgoyal.net/kitty/keyboard-protocol
Fixes #6378.
2023-12-06 09:26:07 +04:00
Kirill Chibisov 7c9d9f3b16
Fix chars usage inside the mouse bindings
Fixes #7413.
2023-12-06 01:36:28 +04:00
Kirill Chibisov 28364792b3
Fallback to underline shader when dotted fails
Some hardware is just bad.

Fixes #7404.
2023-12-02 03:52:51 +04:00
Kirill Chibisov 40160c5da1
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.
2023-11-23 16:48:09 +04:00
Kirill Chibisov 0589b71894 Add support for DECRPM/DECRQM 2023-11-23 16:28:15 +04:00
Kirill Chibisov d83d5af2b5
Fix Vi cursor not being dirty when scrolling 2023-11-14 23:17:59 +04:00
Kirill Chibisov 85ec03633b
Fix message bar damage
Fixes #7224.
2023-11-13 17:31:10 +04:00
Kirill Chibisov dc46d41ff9
Change default bell.animation to Linear
The default animation feels really choppy, but it's just how its
function looks.
2023-11-13 02:19:03 +04:00
Christian Duerr 2f097dac5c Add --option argument to create-window
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.
2023-11-11 20:33:06 +01:00
Kirill Chibisov 4a26667060
Use builtin font to draw powerline symbols
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.
2023-11-11 19:28:19 +04:00
Kirill Chibisov 7ea927ffc1
Fix cursor being hidden after reaching timeout
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.
2023-11-10 21:09:43 +04:00
Christian Duerr 46f8e39880
Fix crash when leaving search after resize
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.
2023-11-03 04:50:45 +00:00
Kirill Chibisov a0663c5225
Add window.blur config option
Fixes #972.
2023-10-29 16:18:33 +04:00
Kyle Willmon 308b331cbc
Avoid maximizing window when creating new tab
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>
2023-10-27 17:35:11 +00:00
Kirill Chibisov d65357b213
Add version 0.12.3 to CHANGELOG
This is only an update to the development version and does not represent
a stable release.
2023-10-27 00:30:22 +00:00
Pavel Roskin 500b696ca8
Prefer exact matches for bindings in mouse mode
Only consider bindings without Shift if there are no actions defined for the
actual mouse event.

Closes #7292.
2023-10-25 00:04:32 +00:00
Kirill Chibisov 80d4daccc3
Update winit to 0.29.2 and copypasta to 0.10.0
Fixes #7236.
Fixes #7201.
Fixes #7146.
Fixes #6848.
Fixes #3601.
Fixes #3108.
Fixes #2453.
2023-10-21 22:56:20 +04:00
Christian Duerr 845a5d8a8d
Add inline vi mode search
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.
2023-10-20 13:33:38 +04:00
Kirill Chibisov 7ceb638ff8
Fix window.decorations_theme_variant reload
The live reload handling wasn't introduced when the option got added.

Fixes #7295.
2023-10-15 05:37:58 +04:00
Christian Duerr 59c63d3738
Update dependencies
This patch applies all breaking and non-breaking dependency updates
and bumps MSRV to 1.70.0.
2023-10-08 07:29:57 +04:00
Kirill Chibisov 47d500770a
Bump VTE to 0.12.0
Fixes #6845.
2023-09-26 20:48:19 +04:00
Christian Duerr a58fb39b68
Underline hint matches during selection
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.
2023-09-22 21:49:52 +04:00
Christian Duerr e35e5ad14f
Fix regex memory usage
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.
2023-09-17 13:04:05 +04:00
Rolf Sievert 8eed17227a
Add prefer_egl debug option
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.
2023-09-04 20:15:46 +00:00