summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-28Draw selection below Vi cursor when it's hiddenKirill Chibisov
2020-11-26Fix DoS caused by excessive CSI parameter valuesChristian Duerr
2020-11-26Remove redundant CLI flagsChristian Duerr
This removes some of Alacritty's CLI flags since the same functionality is provided by the '--option' flag now. The removed flags are: * '--persistent-logging' * '--live-config-reload' * '--no-live-config-reload' * '--dimensions' * '--position' Fixes #4246.
2020-11-25Fix CI upload assets tag matchingChristian Duerr
The previous version would search for the last tag by matching the beginning of the tag name. By explicitly searching for the trailing `"` with grep, an exact tag match is now enforced. Since releases like v1.2.3 always match the beginning of their RCs (v1.2.3-rc4), this makes sure that the assets aren't pushed to the previous release.
2020-11-24Fixed typo in INSTALL.mdEverlastinggit
2020-11-24Remove copr from installation instructionsEverlastinggit
Since Fedora now provides Alacritty in the default repository, that should be used instead of the copr repository.
2020-11-24Fix Cargo.lockKirill Chibisov
During 07cfe8b the regenerated Cargo.lock file was somehow missed.
2020-11-24Fix CHANGELOG sectionsKirill Chibisov
Commit 2fd2db4 added one more 'Added' section during rebase, thus merging it with existing one.
2020-11-23Add blinking cursor supportDettorer
This adds support for blinking the terminal cursor. This can be controlled either using the configuration file, or using escape sequences. The supported control sequences for changing the blinking state are `CSI Ps SP q` and private mode 12.
2020-11-24Add support for '~/' in config importsChristian Duerr
This allows the configuration file imports to start with '~/' and resolve relative to the user's home directory. There is no support for '~user/' or '$HOME/' or any other shell expansion. However since paths relative to the home directory should be sufficient for everything, this provides a very simple solution without any significant drawbacks. Fixes #4157.
2020-11-22Increase font size in CSDs on WaylandKirill Chibisov
Winit changed the default font size for CSDs from 17pt to 11pt, this patch reverts that since it is too small to be readable.
2020-11-19Fix stdout log message orderKirill Chibisov
This patch makes sure that the message for the creation of a log file is always the first entry, before any other log file messages. Since we initialize our log file dynamically, the message is printed as soon as something is written to it. By making sure that we always write to a file first and then try stdout, we can ensure that the log file is always initialized before ever writing log messages to stdout.
2020-11-19Ignore nonexistent config imports instead of raising an errorJames Simpson
Fixes: #4330.
2020-11-19Fix vi mode terminal resetChristian Duerr
Since the vi mode is unrelated to the terminal emulation itself, it should not be reset during a `reset` to prevent unnecessary confusion. This also prevents the search from switching from vi mode to vi-less search without any indication to the user.
2020-11-17Fix wide characters being cut offKirill Chibisov
Fixes #791.
2020-11-17Reduce number of GitHub Actions CI buildsChristian Duerr
By reducing the number of CI jobs for GitHub actions, it should be possible to get a faster overview over the status of all CI jobs. While this does increase the total build time of GitHub Actions by reducing parallelization, it should still finish within the SourceHut CI times.
2020-11-16Add Alpine Linux build dependenciesChandler Swift
2020-11-15Bump development version to 0.7.0-devChristian Duerr
This is only an update to the development version and does not represent a stable release.
2020-11-15Fix unused import warningChristian Duerr
This fixes an unused import warning introduced with 198d3cb.
2020-11-15Fix zerowidth characters in the last columnKirill Chibisov
This commit fixes the issue that when attempting to write zerowidth characters into the last column, it is written in the second to last column instead. Fixes #4227. Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-11-14Load only gl 3.3 functionsKirill Chibisov
This commit makes 'gl::load_with' only load symbols from the minimal OpenGL (3.3) version alacritty aims to support. Doing so reduces the size of gl_bindings.rs from 21K LoC to 11K LoC, and also the actual loading by up to ~2x, thugh the loading is usually sub millisecond anyway.
2020-11-14Feature gate 'image' when building without x11 featureKirill Chibisov
On Wayland there's no way to embed icon into the window, thus there's no point in loading it when x11 feature is disabled.
2020-11-14Fix github releases tag patternChristian Duerr
2020-11-13Update vte to 0.9.0Christian Duerr
2020-11-13Add ability to select text during searchChristian Duerr
This removes the restriction of not being able to select text while the search is active, making it a bit less jarring of a UX when the user tries to interact with the terminal during search. Since the selection was used during vi-less search to highlight the focused match, there is now an option for a focused match color, which uses the inverted normal match color by default. This focused match is used for both search modes. Other mouse interactions are now also possible during search, like opening URLs or clicking inside of mouse mode applications.
2020-11-13Fix use after free when dropping zerowidth dataKirill Chibisov
Commit ec42b42ce601808070462111c0c28edb0e89babb added an optional pointer for each cell, thus some old code that was optimizing copying with 'ptr::copy' was duplicating "unique" pointers ('Box'), which was resulting in use after free, after attempting to free both of these pointers. By replacing these unsafe blocks with safe Rust, the issue itself is fixed and the potential for future memory problems is eliminated from this area of the code.
2020-11-10Add g++ to Fedora build dependency documentationMatthew Neal
Fixes #4400.
2020-11-10Fix sr.ht clippy jobKirill Chibisov
This commit brings back '--all-targets' parameter for clippy, which was accidentally removed in dae0145.
2020-11-10Fix github actions clippy jobChristian Duerr
2020-11-09Update wayland-rs to 0.28.2Kirill Chibisov
Fixes #4385.
2020-11-07Fix configuration file formattingChristian Duerr
The configuration file, especially the section documenting the different binding actions, had some extremely long lines. All the text is now reformatted to be at most 80 columns wide. The only lines remaining which are beyond 80 columns wide are the configuration bindings, which would significantly suffer from linebreaks and are not plain text.
2020-11-07Spawn new alacritty processes in CWD on macOSNathan Lilienthal
On macOS we can use 'proc_pidinfo' to determine the working directory of the terminal foreground process. Fixes #1979.
2020-11-06Migrate from Travis CI to GitHub ActionsChristian Duerr
This removes all CI builds from travis-ci, due to their recent changes in policy and harsh limitations on builds. With build times over 2 hours, it was a significant hindrance to development. Instead of Travis CI, the CI is now split on Sourcehut and GitHub. Since Sourcehut only supports Linux/BSD, all builds on those operating systems are executed there. The GitHub Actions CI is used to build for Windows/macOS, which are not available on Sourcehut. Since asset deployment for releases requires builds on all platforms, this is also done on GitHub actions. Though the new `upload_asset.sh` script makes sure that migration in the future is fairly simple and we do not tie ourselves to the overly complicated GitHub Actions ecosystem.
2020-11-06Deprecate the WinPTY backendChristian Duerr
2020-11-06Add editorconfig Kirill Chibisov
This commit also purges .gitignore, since the files mentioned in it should be handled by global ignore file. Fixes #4378.
2020-11-05Use dynamic storage for zerowidth charactersChristian Duerr
The zerowidth characters were conventionally stored in a [char; 5]. This creates problems both by limiting the maximum number of zerowidth characters and by increasing the cell size beyond what is necessary even when no zerowidth characters are used. Instead of storing zerowidth characters as a slice, a new CellExtra struct is introduced which can store arbitrary optional cell data that is rarely required. Since this is stored behind an optional pointer (Option<Box<CellExtra>>), the initialization and dropping in the case of no extra data are extremely cheap and the size penalty to cells without this extra data is limited to 8 instead of 20 bytes. The most noticible difference with this PR should be a reduction in memory size of up to at least 30% (1.06G -> 733M, 100k scrollback, 72 lines, 280 columns). Since the zerowidth characters are now stored dynamically, the limit of 5 per cell is also no longer present.
2020-10-30Fix visual bell getting stuckChristian Duerr
This resolves a problem with the visual bell where it would not automatically trigger a redraw itself after the initial frame has been rendered. Since the unit of the visual bell duration is also unclear, it has been clarified.
2020-10-29Fix crash with large negative font offsetChristian Duerr
Fixes #4363.
2020-10-29Error on warnings when running clippyKirill Chibisov
It should simplify tracking of new warnings raised on CI builds and when cross checking. This commit also enables warnings for 'rust_2018_idioms' and 'future_incompatible'.
2020-10-28Fix build failure on macOS without featuresChristian Duerr
Fixes #4353.
2020-10-25Remove rustc_tools_util dependencyChristian Duerr
Since our usage of the rustc_tools_util crate is so trivial, it seems like we should be able to just inline it directly into Alacritty. It's a very well trusted crate, being hosted directly by rust-lang and it does not pull in any other dependencies, but having a dependency for just 6 lines of code seems a bit extreme.
2020-10-24Remove all duplicate dependencies from Linux/BSDChristian Duerr
This bumps andrew and removes the last duplicate dependency ('num-traits') from Alacritty's Linux/BSD dependencies.
2020-10-22Remove unneeded collect during line rect creationMark Lodato
2020-10-22Check viewport size after initial resizeChristian Duerr
Since the 'set_inner_size' call might immediately alter the window size, the query for the window's dimensions should be performed after the resize has been requested.
2020-10-17Add license symlinks for cratesStefano Figura
2020-10-14Update dependenciesKirill Chibisov
Fixes #4194.
2020-10-12Fix incorrect X11 feature checkChristian Duerr
See https://github.com/alacritty/alacritty/commit/721f789b5f98ab5c47e6e817c3c2228636ca0a1a#r43183826.
2020-10-12Make use of glutin wayland/x11 featuresKirill Chibisov
This should allow users that are not using Wayland/X11 to reduce the resulted binary size and compilation times.
2020-10-10Add support for urgency hints CSITaylor Blau
Teach Alacritty to stop setting the window as urgent upon a bell by emulating xterm's 'bellIsUrgent' resource and relevant CSI. When this resource is enabled (with 'CSI ? 1042 h'), a bell event causes the window to be marked as urgent. When the resource is disabled (with 'CSI ? 1042 l'), the window is not marked urgent in the event of a bell. There are two wrinkles worth noting here: - The 'TermMode::URGENCY_HINTS' does _not_ affect the terminal's configured bell command, since we only want to control whether or not the window is marked as urgent, not anything else. - In xterm, the 'bellIsUrgent' resource is _disabled_ by default. Since bouncing the dock icon has been the default in Alacritty on macOS thus far, do not make an effort to change that in this patch. This allows users to emit "\e[?1042l" and disable bouncing the dock icon. Fixes #2950.
2020-10-10Fix feature checking in cross buildsKirill Chibisov
Checking for target os in build.rs doesn't work, since build.rs is running for host, so checking should be done in src. Thus moving 'compile_error!' check from build.rs to main.rs.