summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-24Remove unused Linear newtype. (#4248)Nathan Lilienthal
2020-09-24Log new padding and cell size on 'SizeInfo' updateKirill Chibisov
This makes our logging of 'SizeInfo' changes more consistent with the one we're using when creating a new 'Display'.
2020-09-22Add changelog entry for FreeType version bumpChristian Duerr
2020-09-20Fix CLI arguments without config fileChristian Duerr
Since we only applied the CLI arguments as overrides to the configuration file after the file was loaded, all CLI arguments that are stored on the config would be dropped without a configuration file in place. This also makes sure that all configuration file config overrides are still loaded if the configuration file could not be loaded for any reason, since there's no reason why we'd just drop everything in that case.
2020-09-16Update cargo lockfileChristian Duerr
This updates the lockfile to the new format introduced in Rust 1.41.0. Since the lockfile has been completely regenerated, all depedencies were updated.
2020-09-13Improve example for the -o CLI flagNathan Lilienthal
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-09-06Pass existing CLI parameters to SpawnNewInstanceRohan Poojary
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-08-31Disable WinPTY with windows-gnu toolchainMateusz MikuĊ‚a
Co-authored-by: Christian Duerr <contact@christianduerr.com>
2020-08-30Update smithay-clipboard to 0.5.2Kirill Chibisov
Fixes #4139. Fixes #4085.
2020-08-30Fix multiline URL highlightingChristian Duerr
Fixes #4182.
2020-08-28Add escape to report text area sizeAyose Cazorla
This implements the escapes `CSI 14 t` and `CSI 18 t` which report the text area size in pixels and characters.
2020-08-25Unify term dimension callsChristian Duerr
Since the `Term` implements the `Dimensions` trait itself, we shouldn't call `term.grid()` to call methods from the `Dimensions` trait. This removes all instances of this that I could find in the code at the moment.
2020-08-22Add CLI parameter to override config optionsChristian Duerr
This uses the facilities added in 3c3e6870dedad56b270f5b65ea57d5a6e46b1de6 to allow overriding individual configuration file options dynamically from the CLI using the --options/-o parameter. Fixes #1258.
2020-08-22Fix config import error handlingChristian Duerr
2020-08-21Add configuration file importsChristian Duerr
This adds the ability for users to have multiple configuration files which all inherit from each other. The order of imports is chronological, branching out to the deepest children first and overriding every field with that of the configuration files that are loaded at a later point in time. Live config reload watches the directories of all configuration files, allowing edits in any of them to update Alacritty immediately. While the imports are live reloaded, a new configuration file watcher will only be spawned once Alacritty is restarted. Since this might cause loops which would be very difficult to detect, a maximum depth is set to limit the recursion possible with nested configuration files. Fixes #779.
2020-08-15Update spec filegrumpey
2020-08-14Add logging for crossfontChristian Duerr
This refactors the logging function to clean things up a little bit and also adds the ability to see log messages for the `crossfont` library.
2020-08-14Fix selection scrolling with message bar visibleChristian Duerr
This resolves an issue with selection scrolling which would cause the selection to wrap to the top of the screen once the cursor enters the padding below the message bar. Fixes #4120.
2020-08-13Use yellow/red from the config for message bar colorsKirill Chibisov
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.
2020-08-13Use user's background color for render timer textKirill Chibisov
Using the user's background color in pair with red should provide better contrast.
2020-08-12Add support for double underlinesChristian Duerr
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.
2020-08-12Fix handling of wrapline flag in last lineChristian Duerr
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.
2020-08-12Add `Vi` to available binding modesChristian Duerr
2020-08-10Remove copyright notice from filesKirill Chibisov
This commit is a follow-up to 7aafbb757d485c5ff065324464dde8b5322cdd921 which was an effort to remove copyright notice from files.
2020-08-10Remove markdownish markup from `--help` outputKirill Chibisov
2020-08-09Fix characters swallowed during searchChristian Duerr
This resolves a bug where characters get swallowed when pressing them after pressing backspace before the backspace key is released.
2020-08-10Add ^C binding to cancel search and leave Vi modeChristian Duerr
Fixes #4089.
2020-08-07Add support for colon separated SGR parametersChristian Duerr
This implements the colon separated form of SGR 38 and 48. Fixes #1485.
2020-08-07Rework installation instructionsCanh Dinh
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>
2020-08-06Fix clippy issuesChristian Duerr
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
2020-08-06Use `tcgetpgrp` to get PID for SpawnNewInstanceChristian Duerr
Fixes #4082.
2020-08-05Reduce InstanceData footprintJoe Wilm
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>
2020-08-03Fix typo in example config fileDavid
2020-08-02Document keybinding actionsMark Stosberg
2020-08-02Fix travis release deploymentChristian Duerr
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.
2020-08-02Fix negative window positionChristian Duerr
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.
2020-08-02Fix typo in readmeRaphael Martin Schindler
2020-08-01Fix configuration file documentationJoshua Steele
2020-08-01Fix crates.io publishing restrictionsChristian Duerr
This works around the problem that crates pushed to crates.io cannot reference files outside of their crate directory.
2020-08-01Add 0.5.0 announcement blog to readmeKirill Chibisov
This is only an update to the readme and does not represent a stable release.
2020-08-01Remove 0.5.0 changelog suffixKirill Chibisov
This is only an update to the changelog and does not represent a stable release.
2020-07-31Unify changelog section orderChristian Duerr
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.
2020-07-31Fix 0.5.0 changelogChristian Duerr
2020-07-30Remove snap packaging configChristian Duerr
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.
2020-07-28Bump minimum supported Rust version to 1.43.0Kirill Chibisov
2020-07-27Fix CellForeground and CellBackground cursor colorsKirill Chibisov
This commit fixes regression introduced in bedf5f3004e8f33011925ca471be02ead96f4581, when setting certain CellForeground/CellBackground combinations stoppped working.
2020-07-27Fix scrolling with selection expansionChristian Duerr
Fixes #4040.
2020-07-26Document rejected window ops escapesChristian Duerr
Fixes #4035.
2020-07-26Invert fixed color cursor if it's close to cell bgChristian Duerr
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.
2020-07-25Fix viless search originChristian Duerr
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.