aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Fix freetype 26.6 format conversioncynecx2020-07-14
| | | | | | | | | | | | | | | | | This resolves a rounding issue when converting to the 26.6 format used by freetype for character sizes. This rounding behavior is taken from cairo: https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/src/cairo-ft-font.c#L900-903 There are various different implementations of the F26Dot6 conversion online, but the rounding that cairo does seems to be the most common. Since cairo is very commonly used, it should produce good results compared with the rest of Linux text rendering. Fixes #2780. Co-authored-by: Christian Duerr <contact@christianduerr.com> Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
* Fix crash on cursor resizeChristian Duerr2020-07-14
| | | Fixes #3960.
* Remove gui dependencies from alacritty_terminalKirill Chibisov2020-07-11
| | | | | | | | This commit removes font dependency from alacritty_terminal, so it'll simplify the usage of alacritty_terminal as a library, since you won't link to system's libraries anymore. It also moves many alacritty related config options from it. Fixes #3393.
* Remove alacritty.yml mentions from font crate errorsKirill Chibisov2020-07-11
|
* Fix crash when configured font is missingChristian Duerr2020-07-11
| | | Fixes #3942.
* Add readline bindings to searchChristian Duerr2020-07-10
| | | Fixes #3938.
* Fix clipboard not working on KDE WaylandKirill Chibisov2020-07-10
| | | Fixes #3920.
* Add option to run command on bell Kirill Chibisov2020-07-10
| | | Fixes #1528.
* Set default FreeType propertiesKirill Chibisov2020-07-10
| | | | | | In addition it also starts respecting Fontconfig's `autohint` and `hinting` options. Fixes #3534.
* Bump urlocator and unicode-widthChristian Duerr2020-07-10
|
* Fail compilation if Fontconfig is not installed on Linux/BSDKirill Chibisov2020-07-10
| | | | Statically linking Fontconfig was leading to slow startup and various errors, so forcing the use of system's library.
* Add regex scrollback buffer searchChristian Duerr2020-07-09
| | | | | | | | | | This adds a new regex search which allows searching the entire scrollback and jumping between matches using the vi mode. All visible matches should be highlighted unless their lines are excessively long. This should help with performance since highlighting is done during render time. Fixes #1017.
* Fix cursor reflowChristian Duerr2020-07-09
| | | | | | | | | | | | | | | | | | | | | | To make sure that output is consistent even while resizing the window, the cursor will now reflow with the content whenever the window size is changed. Since the saved cursor is more likely to represent a position in the grid rather than a reference to the content below it and handling of resize before jumping back to it is more likely than with the primary cursor, no reflow is performed for the saved cursor The primary cursor is unfortunately always reflowed automatically by shells like zsh, which has always caused problems like duplicating parts of the prompt and stretching it out "infinitely". Since the cursor is now reflowed appropriately the duplication of the shell prompt should be reduced, however it is possible that the shell moves the cursor up one line after it has already been reflowed, which will cause a line of history to be deleted if there is no duplicated prompt line above the reflowed prompt. Since this behavior is identical in VTE and Kitty, no attempt is made to work around it in this patch. Fixes #3584.
* Fix saved cursor handlingChristian Duerr2020-07-06
| | | | | | | | | | | This resolves several problems with handling of the saved cursor when switching between primary and alternate screen. Additionally ref-tests are also added for all common interactions to make sure the behavior does not regress. The behavior is based on XTerm's behavior except for interaction with `reset`. XTerm does not reset the alternate screen's saved cursor on `reset`, but VTE does. Since a `reset` should reset as much as possible, Alacritty copies VTE here instead of XTerm.
* Preserve linewrap flag across alt screen switchesChristian Duerr2020-07-06
| | | | | | While neither VTE, URxvt nor Kitty handle this, preserving the linewrap flag across alternate screen switches seems like the correct thing to do. XTerm also does handle this correctly, which indicates that it is a bug and not a feature.
* Fix compilation on 32bit targetsKirill Chibisov2020-07-04
| | | Fixes #3915.
* Add auxiliary files to macOS Application bundleAndrew Zhou2020-07-04
| | | Fixes #2653.
* Update --help for class option to match manpageJeff Windsor2020-07-04
|
* Document supported escape sequencesChristian Duerr2020-07-03
| | | Fixes #3440.
* Fix reflow of empty wrapped cursor lineChristian Duerr2020-07-01
| | | | | | | | | | | This bug was caused by trying to grow the terminal while the cursor line was wrapped but entirely empty. Resizing the terminal now accounts for the position of the deleted line and moves the cursor up only when the line deleted was above it. The deletion of the line was caused by the shell redrawing itself whenever the cursor is moved. Fixes #3583.
* Fix foreground dimming with truecolor textCarlo Abelli2020-06-29
| | | Fixes #3766.
* Rename alt_grid to inactive_gridChristian Duerr2020-06-28
| | | | | | Since the alt_grid is not always the alternate screen buffer, the name inactive_grid should fit much better. Fixes #3504.
* Clear selection on clear line/screen escapesKirill Chibisov2020-06-26
| | | | | Selection is now cleared if clear line or clear screen escape sequences are clearing content behind it.
* Fix scroll down escape pulling lines from historyChristian Duerr2020-06-25
| | | | | | | | | | | | | | | | | This works around a bug where the optimized version of the `Grid::scroll_down` function would just rotate the entire grid down if the scrolling region starts at the top of the screen, even if there is history available. Since rotations of scrolling regions should not affect the scrollback history, this optimized version is now only called when the max scrollback size is 0, making it impossible for the grid to have any history while it is used. Since the main usecase of this is the alternate screen buffer, which never has any history, the performance should not be affected negatively by this change. Fixes #3582.
* Fix live right-click expansionChristian Duerr2020-06-24
| | | | | | | | While the commit 43c0ad6ea9d2467ccf867a310c4f1e30f5b627c6 introduced right click as a way to expand the active selection, it did not allow for holding right click to continuously do so. This commit remedies that problem by allowing live expansion with while holding the right mouse button.
* Remove checks on nightly from CIKirill Chibisov2020-06-23
|
* Run rustfmt on sr.htKirill Chibisov2020-06-23
| | | | | This should provide more clear feedback whether rustfmt job is failed or not.
* Add selection expansionChristian Duerr2020-06-23
| | | | | | | This allows for expanding the selection using the right mouse button. The new selection type depends on the number of clicks and applies to both sides of the selection. Fixes #1554.
* Add automatic scrolling during selectionChristian Duerr2020-06-18
| | | | | | | | | | | | | This adds a new `Scheduler` which allows for staging events to be processed at a later time. If there is a selection active and the mouse is above or below the window, the viewport will now scroll torwards the direction of the mouse. The amount of lines scrolled depends on the distance of the mouse to the boundaries used for selection scrolling. To make it possible to scroll while in fullscreen, the selection scrolling area includes the padding of the window and is at least 5 pixels high in case there is not enough padding present.
* Use compile_error! instead of panic! in build.rsKirill Chibisov2020-06-15
| | | | The compile_error! failure is way more readable and noticeable than panic!.
* Rework default config binding replacementKirill Chibisov2020-06-15
| | | | | | | | | | | | | | | | | | | This reworks the criteria necessary for default bindings to be overwritten by custom user bindings. It should provide a better heuristic which accounts for the possibility that notmodes are added which prevent a conflict between the bindings, so the default isn't unnecessarily removed. It is still possible to define a new binding that intersects a default binding without the default getting removed, if the user explicitly specifies a mode that doesn't include the default binding's mode. This is based on the assumption that users explicitly specifying a new mode are trying to make a mode-specific addition and are capable of removing the default when desired. This helps with old modes still being present in user's config files, since a lot of new config options just have the additional ~Vi mode set. Fixes #3476.
* Improve documentation for install on macOS via brew caskSteve Dondley2020-06-15
|
* Add missing docs for ScrollHalfPageUp/DownKirill Chibisov2020-06-09
|
* Cleanup window.rs importsChristian Duerr2020-06-08
| | | | | | | | | | | | | | | | The window.rs imports have been extremely messy due to heavy platform-specific import usage. While some of them are just stray imports for a single platform, a lot of these are specific to Linux/BSD. To make these a little easier to read and maintain, the Linux/BSD specific imports were grouped together, since this allows us to just have a single platform annotation. Most of our imports follow the order of how relevant and foreign these imports are to Alacritty, putting our own frequently used imports at the far bottom and STD with things people usually don't need to care about at the top. Since platform specific imports are generally important to fewer people, I've decided to put them before all the other imports rather than behind them.
* Update dependenciesKirill Chibisov2020-06-07
|
* Remove copypasta dependency from alacritty_terminalKirill Chibisov2020-06-07
|
* Remove copyright notice from filesChristian Duerr2020-06-06
| | | | | | | | | | | | | | Keeping the license as part of every file bloats up the files unnecessarily and introduces an additional overhead to the creation of new modules. Since cargo already provides excellent dependency management, most of the code-reuse of Alacritty should occur through Rust's dependency management instead of copying it source. If code is copied partially, copying the license from the main license file should be just as easy as copying from the top of the file and making some adjustments based on where it is used is likely necessary anyways.
* Fix class and cursor thickness deserializationKirill Chibisov2020-06-05
| | | Fixes #3820.
* Refactor Shell, Command, and Launcher to share implKirill Chibisov2020-06-05
|
* Fix font rendering regression on macOSJade Michael Thornton2020-06-04
| | | | | | This fixes a regression introduced in 77f2d6e853f1ad54e6dc844a811b78daeb463e76. Fixes #3809.
* Add version 0.4.3 entries to changelogChristian Duerr2020-06-03
|
* Add whitespace after dropped file pathsFernando2020-06-03
| | | Fixes #3767.
* Add cargo feature for WinPTYDavid Hewitt2020-06-02
|
* Refactor Term/Grid separationChristian Duerr2020-05-30
| | | | | | | | | | | This commit aims to clear up the separation between Term and Grid to make way for implementing search. The `cursor` and `cursor_save` have been moved to the grid, since they're always bound to their specific grid and this makes updating easier. Since the selection is independent of the active grid, it has been moved to the `Term`.
* Update dependenciesKirill Chibisov2020-05-30
|
* Remove env_logger depedencyChristian Duerr2020-05-29
| | | | | The env logger has been broken for over a year and is not used by anyone as far as I know. This removes this option entirely in favor of Alacritty's built-in logger level selection flags.
* Add documentation about patch releasesChristian Duerr2020-05-27
|
* Set IUTF8 input setting on supported platformsKirill Chibisov2020-05-27
| | | Fixes #3769.
* Fix build warnings on macOS/WindowsKirill Chibisov2020-05-27
|
* Remove unused dependenciesMatthias Krüger2020-05-24
|