aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Use yellow/red from the config for message bar colorsKirill Chibisov2020-08-13
| | | | | | | | | | | | This commit completes the effort to use config colors for message bar content by picking red/yellow from user's colors.normal.{red,yellow} for error/warning messages instead of fixed colors. It also removes alacritty_terminal::term::color::RED and alacritty_terminal::term::color::YELLOW from the alacritty_terminal API, bumping its version to 0.11.0-dev. Fixes #4116.
* Use user's background color for render timer textKirill Chibisov2020-08-13
| | | | | Using the user's background color in pair with red should provide better contrast.
* Add support for double underlinesChristian Duerr2020-08-12
| | | | | | | | | | | | | This adds support for double underlines using the colon separated escape sequence `CSI 4 : 2 m`. Alacritty will now also always fallback to the normal underline in case any of the other underlines like the undercurl are specified. The escape sequence `CSI 4 : 0 m` can now be used to clear all underlines. Some terminals support `CSI 21 m` for double underline, but since Alacritty already uses that as cancel bold which is a little more consistent, that behavior has not changed. So the colon separated variant must be used.
* Fix handling of wrapline flag in last lineChristian Duerr2020-08-12
| | | | | | | | | | | | | | This resolves an issue where Alacritty would crash when a wrapline flag was present in the last column of the last line. While it should not be possible to achieve this with normal text flow, it is possible to rotate the content downwards using the `CSI Ps T` escape, causing this bug to occur. This also works around other issues like the vi cursor jumping to the top of the screen when trying to move beyond the last column using the `l` key. In debug mode this even lead to a crash due to the overflow. Fixes #4109.
* Add `Vi` to available binding modesChristian Duerr2020-08-12
|
* Remove copyright notice from filesKirill Chibisov2020-08-10
| | | | This commit is a follow-up to 7aafbb757d485c5ff065324464dde8b5322cdd921 which was an effort to remove copyright notice from files.
* Remove markdownish markup from `--help` outputKirill Chibisov2020-08-10
|
* Fix characters swallowed during searchChristian Duerr2020-08-09
| | | | This resolves a bug where characters get swallowed when pressing them after pressing backspace before the backspace key is released.
* Add ^C binding to cancel search and leave Vi modeChristian Duerr2020-08-10
| | | | Fixes #4089.
* Add support for colon separated SGR parametersChristian Duerr2020-08-07
| | | | | This implements the colon separated form of SGR 38 and 48. Fixes #1485.
* Rework installation instructionsCanh Dinh2020-08-07
| | | | | | | | | | | | | | Since users should be capable of finding packages for their distributions, this removes all instructions that point users directly at specific packages. The third party repositories like COPR have been kept, since those are more difficult to find. The structure of the installation instructions has also been reworked to adjust for this and the post build instructions should be a bit cleaner now. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix clippy issuesChristian Duerr2020-08-06
| | | Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
* Use `tcgetpgrp` to get PID for SpawnNewInstanceChristian Duerr2020-08-06
| | | Fixes #4082.
* Reduce InstanceData footprintJoe Wilm2020-08-05
| | | | | | | | | | | | | | | | | | | | | | | | The InstanceData type in the rendering subsystem was previously 17 f32s plus one u8 which occupied a total of 72 bytes per instance. This meant that for every character or background cell drawn, 72 bytes were sent to the GPU. In the case of a 400x100 cell grid, a total of 2.9MB would be sent. This patch reduces InstanceData's size to 36 bytes, a 50% improvement! Using the above example for comparison, a worst case of 1.44MB would be transferred. The motivation for this patch comes from macOS. Once the terminal grid would reach a certain size, performance experienced a sharp and dramatic drop (render times would go from ~3ms to ~16ms). I don't want to speculate too much on the underlying issue, but suffice it to say that this patch alleviates the problem in my testing. While the performance impact was most significant on macOS, with rendering times cut by more than 50% in some cases, this also results in a measurable performance difference on other systems with high density grids. Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix typo in example config fileDavid2020-08-03
|
* Document keybinding actionsMark Stosberg2020-08-02
|
* Fix travis release deploymentChristian Duerr2020-08-02
| | | | | This resolves an issue with travis release deployment where tags would cause a release deployment even if the tag did not match the `vX.Y.Z` format.
* Fix negative window positionChristian Duerr2020-08-02
| | | | | | | This resolves an issue where negative window positions set in the configuration file would not place the Alacritty window in the correct location. Fixes #4061.
* Fix typo in readmeRaphael Martin Schindler2020-08-02
|
* Fix configuration file documentationJoshua Steele2020-08-01
|
* Fix crates.io publishing restrictionsChristian Duerr2020-08-01
| | | | This works around the problem that crates pushed to crates.io cannot reference files outside of their crate directory.
* Add 0.5.0 announcement blog to readmeKirill Chibisov2020-08-01
| | | | | This is only an update to the readme and does not represent a stable release.
* Remove 0.5.0 changelog suffixKirill Chibisov2020-08-01
| | | | | This is only an update to the changelog and does not represent a stable release.
* Unify changelog section orderChristian Duerr2020-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | This clarifies the order of subsections in the changelog. All entries are now defined in the order `Packaging`, `Removed`, `Added`, `Changed` and `Fixed`. The sections `Security` and `Deprecated` have been removed. Since deprecation should always just be a soft deprecation with clear user warnings, it's not much different from just `Changed`, so that should make it easier to decide where to put things. The `Security` section is often not clear enough since a lot of changes might have some form of security impact depending on interpretation. Since there's unlikely to be any major security advisories from the Alacritty project, that section is not particularly useful. The `Added`, `Changed` and `Fixed` order follows the interest of the user and the impact on them. This puts the most interesting new features front and center while allowing to go for a deep dive to see if specific bugs have been fixed. The `Removed` section was put last since realistically this should not affect users. All options should be gradually deprecated and no major features should just get removed. So most of the time this will just list deprecated features that are now completely removed, which usually means there's no impact for users that updated from the last version.
* Fix 0.5.0 changelogChristian Duerr2020-07-31
|
* Remove snap packaging configChristian Duerr2020-07-30
| | | | | Since Alacritty should not be responsible for packaging and the maintainers of the snap package have not kept it up to date, this removes its configuration file.
* Bump minimum supported Rust version to 1.43.0Kirill Chibisov2020-07-28
|
* Fix CellForeground and CellBackground cursor colorsKirill Chibisov2020-07-27
| | | | | This commit fixes regression introduced in bedf5f3004e8f33011925ca471be02ead96f4581, when setting certain CellForeground/CellBackground combinations stoppped working.
* Fix scrolling with selection expansionChristian Duerr2020-07-27
| | | Fixes #4040.
* Document rejected window ops escapesChristian Duerr2020-07-26
| | | Fixes #4035.
* Invert fixed color cursor if it's close to cell bgChristian Duerr2020-07-26
| | | | | | | | | | | | | This should reduce the number of times people with fixed cursor colors run into troubles when existing text is already colored. Using just the background color as a metric instead of both background and foreground color should ensure that the cursor still has a clear shape, since just changing the foreground color for a cursor might be difficult to see. Always inverting the entire cursor instead of keeping the fixed foreground color is important to make sure the contrast isn't messed up. Fixes #4016.
* Fix viless search originChristian Duerr2020-07-25
| | | | | | | | | | | | | When searching without vi mode the display is no longer reset when the user hasn't jumped between matches at all. Since there's no reason to confirm the search, we shouldn't just reset the viewport without a good reason. The search is now also restarted completely when the entire search regex is deleted. While this doesn't reset to the original viewport position if the user has jumped between matches, it should make things feel a little less arbitrary. Fixes #4020.
* Remove outdated sections from READMEChristian Duerr2020-07-24
|
* Document Alacritty's featuresChristian Duerr2020-07-23
|
* Add secondary DA supportChristian Duerr2020-07-23
| | | | | | | | | | | This adds support for the secondary DA escape sequence response. Alacritty's version is formatted allowing for up to 99 minor and patch versions, which should be sufficient. The tertiary DA is intentionally not implemented and marked as rejected in the documentation, since a lot of terminals do not support it, or report useless data (XTerm/URxvt/Kitty). Fixes #3100.
* Improve selection expansion changelog entryChristian Duerr2020-07-22
|
* Bump version to 0.6.0-devChristian Duerr2020-07-19
|
* Bump alacritty_terminal versionChristian Duerr2020-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | This change bumps the version of the `alacritty_terminal` crate to force it out of sync with the Alacritty application. Since it is a library that will be published on crates.io, it should be following semver rather than our binary's release version. While it would be possible to just keep it at 0.5.0, explicitly disconnecting it from the Alacritty version should give it a clean starting-off point and prevent unnecessary confusion. Bumping it to 0.10.0 instead of something like 0.6.0 should allow for a nice gap between the different versions without being too arbitrary. Changing the version to 0.1.0 is not an option since decreasing semver version would likely cause a lot of problems. While it would be possible to further separate the Alacritty terminal library from the Alacritty terminal emulator, by renaming it from `alacritty_terminal` to something different, I don't think that is necessary or a good idea at the moment. Even though the `alacritty_terminal` library *can* be used for other terminals, its primary goal is still to support the Alacritty terminal emulator and I don't see that changing. So making that clear in its name seems like a good idea. Since there is no plan to maintain this library separately from Alacritty, but to keep both tied together, the naming should reflect this.
* Fix rustfmt build failuresChristian Duerr2020-07-18
|
* Rename font crate to crossfontChristian Duerr2020-07-18
|
* Fix crashes during searchChristian Duerr2020-07-17
| | | | | | | | | | | | | | | | This fixes two crashes related to search. The first crash was due to variable shadowing computing the incorrect length of a search as soon as it was started, causing an overflow after attempting a subtraction. Since overflows are only debug mode checks, in release this would lead to an IME positioned far, far beyond the window's boundaries (likely offscreen). The other bug was that the search was always started from the last column in reverse search without vi mode, but after shrinking the terminal width that origin point is no longer a valid part of the grid. As a result it would cause an index out of bounds. The line was already clamped to the grid, but now the same is also done for the column. Fixes #3987.
* Add different search label for backward searchChristian Duerr2020-07-17
|
* Fix selection update in viless searchChristian Duerr2020-07-17
|
* Remove Ubuntu PPA installation instructionsChristian Duerr2020-07-16
| | | | | | | | | | | Since the Ubuntu PPA from mmstick is apparently not maintained anymore, people should no longer be instructed to install the outdated version that is available from the PPA. The System76 PPA repository still contains an up to date version of Alacritty, but since it also comes with several other packages we cannot recommend users to install it outside of Pop!_OS. Fixes #3863.
* Add support for searching without vi modeChristian Duerr2020-07-15
| | | | | | | | This implements search without vi mode by using the selection to track the active search match and advancing it on user input. The keys to go to the next or previous match are not configurable and are bound to enter and shift enter based on Firefox's behavior. Fixes #3937.
* Fix docs about multiple simultaneous keybindingsChristian Duerr2020-07-15
|
* Fix padding change not being applied immediatelyKirill Chibisov2020-07-15
|
* Fix cursor reflowChristian Duerr2020-07-15
| | | | | | | | | | | | | | | | | | | | | This resolves three different issues with cursor reflow. The first issue was that the cursor could reach the top of the screen during reflow, since content was pushed into history despite viewport space being available. Since the cursor cannot leave the viewport, this would insert new space between the cursor and content (see #3968). Another issue was that the wrapline flag was not set correctly with content being available behind the cursor. Since the cursor is not necessarily at the end of the line, it is possible that the cursor should reflow to the next line instead of staying on the current one and setting the wrapline flag. The last bug fixed in this is about reflow with content available behind the cursor. Since that might have en effect on new lines being inserted and deleted below the cursor, the cursor needs to be reflown based on it. Fixes #3968.
* Fix movement within search matchesChristian Duerr2020-07-14
| | | | | | | | | | | | | | | | | Previously the SearchEndNext and SearchEndPrevious match acted exactly like the SearchNext and SearchPrevious action, however this is not how vim works. In vim, regardless of direction the `gN` action always jumps to the next match start to the left of the cursor, while the `gn` action always jumps to the next search end to the right of the cursor. While both approaches might seem reasonable at first, vim's approach has a significant advantage w.r.t. predictability and automation of the movement. By always knowing which direction the motion goes to, this allows for mappings that reliably navigate inside the current match regardless of the global search direction. So deleting until the end of the match would always be `dgn` for example, regardless in which direction the user has jumped to it. Fixes #3953.
* Fallback to SHELL instead of passwd if presentMattbazooka2020-07-14
| | | | | | | | | | | | | Instead of just always falling back to the shell specified in the passwd file when no config or cli shell was specified, Alacritty will not first look at the `$SHELL` environment variable. If this is unset, it will still read the passwd file. Since macOS is a bit peculiar and does not set the `$SHELL` environment variable by default, it is set manually to the shell used by Alacritty while any existing `$SHELL` variables are ignored. This matches the behavior of iTerm and Terminal.app. Co-authored-by: Christian Duerr <contact@christianduerr.com>