aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-15Allow mode-exclusive bindings in any modebindings_on_crackChristian Duerr
This patch enables binding chains that go beyond mode changes by allowing bindings to be defined for modes they do not usually have an effect in. Fixes #4073.
2023-04-15Use paste for ESC action and IME commitChristian Duerr
Route string terminal input through 'ActionContext::paste' instead of char by char write improving performance by utilizing bracketed paste mode when it's reasonable. Suggested-by: Kirill Chibisov <contact@kchibisov.com>
2023-04-15Reset char suppression for every key bindingChristian Duerr
Previously the character suppression was only reset whenever a key was released. However this did not take key repetition into account. Now every key down also resets the character suppression. This should work since the `ReceivedCharacter` is always received immediately after the `KeyboardInput` without the chance of a racing condition where another keyboard event interrupts the two.
2023-04-08Add missing terminfo capabilitiesChristian Duerr
This adds capabilities for focus in/out (XF, kxIN, kxOUT) and bracketed paste (BD, BE, PE, PS).
2023-03-24Fix selection rotation on the last lineChristian Duerr
This fixes an issue with terminal resizes when the selection is on the last line. Alacritty would fail to rotate lines and keep the selection in the same line index whenever the terminal line count was grown or shrunk. This issue occurred due to the range passed to the selection's rotate function still being based on the old terminal size, which caused the initial or target state of the rotation to be outside of the terminal bounds. Closes #6698.
2023-03-22Bump CHANGELOG development version to 0.13.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release. The original bump to 0.13.0-dev was made in 9cf2c89, but did not make any changes to the changelog. This adds a 0.13.0-dev changelog entry to master so new changes are properly added to the correct place.
2023-03-19Fix `;` character in URI OSC 8 payloadKirill Chibisov
The special character `;` can be not URL-encoded, thus it'll add extra parameter in the payload. Handle it joining extra parameters with the `;` as a separator.
2023-03-17Bump winit to 0.28.3Kirill Chibisov
Fix macOS leak when closing the window.
2023-03-16Improve fish completions installation instructionsCRATO LABS
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
2023-03-11Use `thin` instead of `fat` LTOKirill Chibisov
The performance between `thin` and `fat` is in the margin of error, however `thin` LTO is way faster to build.
2023-03-09Bump x11-clipboard to v0.7.1Kirill Chibisov
Fixes #6760.
2023-03-05Bump winit to 0.28.2Kirill Chibisov
This also bumps copypasta and sctk-adwaita. Fixes #6744. Fixes #6702. Fixes #6696. Fixes #2741.
2023-03-02Fix busy rendering when the same warning persistsKirill Chibisov
When the same warning is thrown on the each rendering iteration, it'll force alacritty to always render. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2023-02-27Send D&D input through paste actionChristian Duerr
Treating D&D like paste allows using D&D to input text into areas other than the PTY, like the search bar.
2023-02-23Fix bracketed paste with EOT payloadChristian Duerr
This works around an issue in many (all?) shells where the bracketed paste logic would only strip out `\r` but interpret EOT (`\x03`) as a termination of the bracketed paste.
2023-02-19Relax horizontal scrollingKirill Chibisov
Apply horizontal scrolling when the angle between the axis X and (x, y) vector is lower than 25 degrees. Fixes #6711.
2023-02-18Add `window.resize_increments` config optionKirill Chibisov
Given how bugged the resize increments are on X11, it's better to disable it by default.
2023-02-17Add missing `ToggleMaximized` docs in the configKirill Chibisov
2023-02-15Update INSTALL.md Ubuntu instructionsNathan Lilienthal
2023-02-15Bump development version to 0.13.0-devKirill Chibisov
This is only an update to the development version and does not represent a stable release.
2023-02-13Add touch input supportChristian Duerr
This patch builds upon the prior work by @4z3 and @bytbox to add touchscreen support to Alacritty. While some inspiration was taken from @4z3's patch, it was rewritten from scratch. This patch supports 4 basic touch interactions: - Tap - Scroll - Select - Zoom Tap allows emulating the mouse to enter a single LMB click. While it would be possible to add more complicated mouse emulation including support for RMB and others, it's likely more confusing than anything else and could conflict with other more useful touch actions. Scroll and Select are started by horizontal or vertical dragging. While selection isn't particularly accurate with a fat finger, it works reasonably well and the separation from selection through horizontal and vertical start feels pretty natural. Since horizontal drag is reserved for selection we do not support horizontal scrolling inside the terminal. While it would be possible to somewhat support it by starting a selection with vertical movement and then scrolling horizontally afterwards, it would likely just confuse people so it was left out. Zoom is pretty simple in just changing the font size when a two-finger pinch gesture is used. Performance of this is pretty terrible especially on low-end hardware since this obviously isn't a cheap operation, but it seems like a worthwhile addition since small touchscreen devices are most likely to need frequent font size adjustment to make output readable. Closes #3671.
2023-02-12Don't send ESC for `OptionAsAlt::None`Kirill Chibisov
This doesn't solve issue for `RALT`/`LALT`, but that part is impossible until winit's keyboard v2 API.
2023-02-12Bump glutin to 0.30.6Kirill Chibisov
Fixes #6694.
2023-02-12Bump glutin to 0.30.5Kirill Chibisov
2023-02-11Fix crash when Atlas is fullKirill Chibisov
This fixes the regression introduced by 2d27fff. Fixes #6688.
2023-02-07Make gles2 renderer actually gles2Kirill Chibisov
Fixes #6209.
2023-02-05Align quadrants with half blocks in built-in fontKirill Chibisov
Fixes #6201.
2023-02-05Revert "Apply 'font.glyph_offset.y' for underline/strikeout"Kirill Chibisov
This reverts commit d5e9d1d88317afc1f4374f2c2a7679cece14cb7b.
2023-02-05Resize the window by cell dimensionsKirill Chibisov
This should resize window by cell dimensions granularity instead of using pixels. Fixes #388.
2023-02-02Bump winit to 0.28.1Kirill Chibisov
This fixes crash on Wayland with multiple windows.
2023-02-02Fix notify doing active pollingKirill Chibisov
The `notify-debouncer-mini` spawn a thread which checks the events every timeout, which is not desired since we want to avoid active polling. This commit re-implements debouncer based on the `RecommendedWatcher` without adding an extra thread on top and not doing any busy-waiting. Fixes #6652.
2023-02-02Update ndk-sys to workaround cargo checksum issueoxalica
See https://github.com/rust-lang/cargo/issues/11412
2023-02-02Update winit to 0.28Kirill Chibisov
Fixes #6644. Fixes #6615. Fixes #6558. Fixes #6515. Fixes #3187. Fixes #62.
2023-02-02Prefer environment variables over passwdJovan Gerodetti
2023-01-27Create new windows with Cmd+N by defaultChristian Duerr
This changes the default Cmd+N binding on macOS to create a new window rather than spawning a new instance. Initially this change was held back for further testing of the multi-window feature. At this point all significant issues found with it have been fixed so it should be ready for prime-time now.
2023-01-26Add alacritty.yml to dmgh-leth
2023-01-23Bump bumpalo from 3.11.0 to 3.12.0dependabot[bot]
2023-01-16Add support for horizontal scrollingKirill Chibisov
This adds support for horizontal mouse scrolling in mouse mode and alternative scrolling modes. Fixes #2185.
2023-01-15Preserve last column with erase in line rightChristian Duerr
When the erase in line escape sequence with a parameter of 0 (right) is passed while the wrapline flag is already set, it will no longer clear the last column and instead ignore the operation. The behavior of `\e[1K` and `\e[2K` is unchanged and both will clear the entire first line without clearing the wrapline flag. Closes #6159.
2023-01-07Use sRGB color space for NSWindow on macOSNaru
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2022-12-30User timer based rendering instead of vsyncKirill Chibisov
Fixes #824.
2022-12-30Fix crash when one dimension of the window is zeroKirill Chibisov
This fixes a crash on Windows when the user resizes the window to the point that it has the height of zero. The crash was introduced by the glutin update, since it requires non-zero sizes for the resize.
2022-12-29Disable depth and stencil buffersChristian Duerr
This patch reduces the active GPU memory consumption by disabling the depth and stencil buffers. During original testing it reduced GPU memory usage on Linux by almost a third. This is a reintroduction of previously reverted patch 3475e44. Closes #2881.
2022-12-25Apply 'font.glyph_offset.y' for underline/strikeoutKirill Chibisov
Fixes #6561.
2022-12-14Fix multi-line bracket selectionChristian Duerr
This fixes a bug where semantic selection for bracket characters wasn't working properly over multiple lines since start and end of the selection were swapped. Closes #6567.
2022-12-11Add changelog to alacritty crateJames McCoy
Shipping the changelog as part of the Alacritty crate allows packagers to use it for their packages.
2022-12-11Add -T short form for --titleJames McCoy
Debian-based distributions provide a standard interface to launch a terminal via the x-terminal-emulator name. In order for a terminal emualtor to satisfy that interface, it must * Be VT100 compatiable * Support the "-e <command> <args>" CLI option * Support the "-T <title>" CLI option Adjust the short form of --title accordingly, providing -t as an alias to avoid breaking any existing usage.
2022-12-09Fix damage computation on boundariesKirill Chibisov
Given that the Rect started to use signed integers saturating_sub became irrelevant and no clamp to zero were performed. This commit uses max instead to fix it.
2022-12-06Fix crash while typing on WaylandKirill Chibisov
Fixes #6487.
2022-12-02Fix VirtualKeyCode config documentationPhilip Taron
The `winit` crate was split off of the `glutin` crate. This patch fixes the config link to correctly point to the winit enum instead of the old glutin reexport.