aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-02Make normal scrolling line amount configurableChristian Duerr
It is now possible to configure the amount of lines the viewport should scroll when using the normal scrolling mode. This fixes #1160.
2018-06-02Fix crash when selection leaves viewportChristian Duerr
There was an issue where alacritty tries to convert the lines in a selection to the on-screen lines even when the selection is not on the screen. This results in a crash. To prevent this from happening the selection now is not shown if it is off the screen. There currently still is a bug that when the selection is at the top of the screen but still half visible, it will not show the top line as selected but start in the second line. This bug should be resolved with https://github.com/jwilm/alacritty/pull/1171. This fixes #1148.
2018-06-02Disable faux scrolling when shift is pressedChristian Duerr
To make it possible to access the native scrollback buffer in the alternate screen without having to disable faux scrolling, faux scrolling is now disabled when the `shift` key is held down. This should allow alacritty to have the best of both worlds, a native scrollback buffer in the alternate screen buffer and faux scrolling.
2018-06-02Add faux_scrolling back to scrollbackChristian Duerr
2018-06-02Provide correct default for scroll_historyChristian Duerr
When implementing fallback to the default value with an u32 you will get 0 as the default value. However the default scrollback value is 10_000. A custom deserializer has been implemented which automatically falls back to the correct default value.
2018-06-02Add `failure_default` deserializer to `scroll_history`Christian Duerr
2018-06-02Fix 4+ line copyingJoe Wilm
2018-06-02Disable LTOJoe Wilm
It's nice to be able to use incremental compilation for release builds. TODO quantify performance impact.
2018-06-02Add SCROLL_MULTIPLIERJoe Wilm
Scroll wheel needs some scaling so it feels like urxvt and friends.
2018-06-02Support selections with scrolling bufferJoe Wilm
Selections now *mostly* work. They move as the buffer scrolls, copying works as it should, and it looks like the different selection modes behave properly as well. The new Selection implementation uses buffer coordinates instead of screen coordinates. This leads to doing a transform from mouse input to update the selection, and back to screen coordinates when displaying the selection. Scrolling the selection is fast because the grid is already operating in buffer coordinates. There are several bugs to address: * A _partially_ visible selection will lead to a crash since the drawing routine converts selection coordinates to screen coordinates. The solution will be to clip the coordinates at draw time. * A selection scrolling off the buffer in either direction leads to indexing out-of-bounds. The solution again is to clip, but this needs to be done within Selection::rotate by passing a max limit. It may also need a return type to indicate that the selection is no longer visible and should be discarded. * A selection scrolling out of a logical scrolling region is not clipped. A temporary and robust workaround is to simply discard the selection in the case of scrolling in a region. wip selections fix issue with line selection selection mostly working need to support selection not being on the screen at draw time Fix selection_to_string Uncomment tests
2018-06-02Move selection into GridJoe Wilm
Supporting selections with scrollback has two major components: 1. Grid needs access to Selection so that it may update the scroll position as the terminal text changes. 2. Selection needs to be implemented in terms of buffer offsets -- NOT lines -- and be updated when Storage is rotated. This commit implements the first part.
2018-06-02Style cleanupJoe Wilm
2018-06-02Fix scrolling backwards in tmuxJoe Wilm
2018-06-02Make number of scrollback lines configurableJoe Wilm
2018-06-02Scroll to bottom on character receivedJoe Wilm
2018-06-02wip fix scroll_downJoe Wilm
2018-06-02Fir cursor not scrollingJoe Wilm
2018-06-02Add scrolling limit and update on grow linesJoe Wilm
2018-06-02checkpoint: very basic scrolling worksJoe Wilm
Things that do not work - Limiting how far back in the buffer it's possible to scroll - Selections (need to transform to buffer offsets)
2018-06-02wip scrollbackJoe Wilm
2018-06-02Remove some unused implsJoe Wilm
2018-06-02Minor improvementsJoe Wilm
2018-06-02WIP optimize scroll in regionJoe Wilm
This intends to optimize the case where the top of the scrolling region is the top of the screen. In theory, scrolling in this case can be optimized to shifting the start/end of the visible region, and then rearranging any lines that were not supposed to be scrolled (at the bottom of the region). However, this didn't produce quite the speedup I expected.
2018-06-02Use memcpy for resetting row contentsJoe Wilm
In addition to a marginal performance improvement, this simplifies some logic in the Term implementation since now the Grid fully handles row recycling.
2018-06-02Remove redundant selection::Region typeJoe Wilm
The type selection::Region was defined identially to std::ops::Range. Using something other than range just served to confuse.
2018-06-02Remove some unused methods and implsJoe Wilm
2018-06-02Eliminate ClearRegion traitJoe Wilm
2018-06-02Move grid Row and tests into submodulesJoe Wilm
This is part of some cleanup for the grid module as a whole.
2018-06-02Back Grid with VecDequeJoe Wilm
VecDeque offers improved performance beyond a plain Vec for common scrolling situations (full screen scroll). Additionally, VecDeque is necessary for performant scrollback since recycling old rows for a Vec would be expensive (push/pop front would shift entire vec).
2018-06-02Cleanup styleJoe Wilm
2018-05-30Reduce debug level for releaseTatsuyuki Ishi
Backtraces are useful, but line-level debuginfo bloats the binary, and has impact on compile times notably. This reduces it to function-level debuginfo which is a good compromise point.
2018-05-29Update to glutin 0.16.0Francesca Frangipane
Note that `WM_CLASS` is now set to `"alacritty", "Alacritty"` instead of the previous value of `"Alacritty", "Alacritty"`. This seems to be more standard. This also contains some revised recommendations for installing the `.desktop` file.
2018-05-25Fix typo in error messageRandy Ramos
2018-05-25Fix locale_id for older versions of OS X (<= 10.11)Bradford Boyle
This fixes a regression introduced in https://github.com/jwilm/alacritty/pull/1087/files#diff-5ffadea12561d6964b05ac2a0b8e388fL33.
2018-05-14handle older macOS versionsJoe Moon
add logic to fallback to `localeIdentifier` if `currentLocale.languageCode` and `currentLocale.countryCode` are not available.
2018-05-14macos: add check for valid localeJoe Moon
2018-05-14remove commented out lineJoe Moon
2018-05-14Set $LANG env var using languageCode, countryCodeJoe Moon
fixes #933 Using logic from https://github.com/gnachman/iTerm2/blob/79aff4d59fd591e7628649bcabe5f27541740bf6/sources/PTYSession.m#L1703
2018-05-11Fix clippy lintsChristian Duerr
2018-05-11Paste path into terminal when drag & dropping fileChristian Duerr
It's now possible to insert the path of a file or directory by dropping it from the file manager into alacritty. This fixes #1301.
2018-05-05Don't paste selection when in mouse modeChristian Duerr
When the mouse mode is set using either 1000h, 1002h or 1003h, the selection should not be pasted when hitting the middle mouse button, because it is job of the application to handle this when mouse mode is enabled. This has been solved by checking for the current mouse modes whenever the `PasteSelection` binding is invoked. This fixes #1215.
2018-05-01Fix completion install instructions for Fish on macOS (#1237)zhouji
2018-04-27macOS: fixes segfault on nightlyJoe Moon
fixes #1264
2018-04-14alacritty: add support for OpenBSD.Matt T. Proud
This commit expands the conditional compilation directives to support building Alacritty for OpenBSD. The build succeeds, and Alacritty runs without issue once https://github.com/rust-lang/libc/pull/957 has been merged and added to a versioned libc release. This has been tested on the recently-released OpenBSD 6.3 on amd64 with rustc 1.24.0 from its standard ports tree.
2018-03-29Oxford commaBernardo Meurer
Added an Oxford comma to the OS support list
2018-03-29Fixed typos, alphabetical orderingBernardo Meurer
freeBSD->FreeBSD. Ordered OS support alphabetically.
2018-03-27add freeBSD on the topMatthiasSchuster
2018-03-23Fix typoSaugat Acharya
2018-03-22Explicitly call log::set_max_level (Closes: #1201)Harlan Lieberman-Berg
For some reason, log 0.4 requires that we explicitly set the log level with log::set_max_level or it defaults to Off. The documentation isn't clear but suggests we must do this in addition to doing the filtration ourselves in the Log impl.
2018-03-13Try to create window with different SRGB config when failedYOSHIOKA Takuma
This may truly solve #921 (and issue caused by #1178) <https://github.com/jwilm/alacritty/issues/921#issuecomment-372619121>.