aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | Add scrollback hotkeysChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This offers a few additional hotkeys that can be used in combination with scrollback. None of these are used by default yet. This implements the following bindings: - ScrollPageUp: Scroll exactly one screen height up - ScrollPageDown: Scroll exactly one screen height down - ScrollToTop: Scroll as far up as possible - ScrollToBottom: Scroll as far down as possible This fixes #1151.
| * | Fix selection starting in first cellChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | When selecting to the top and starting in the first cell, alacritty would crash. These cases have been fixed and now selection should be completely working.
| * | Fix buggy selection when scrolling downChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | When scrolling down with a selection on screen the first line was not properly selected. This has been fixed by making sure the selection always starts in the first cell when it is only partially visible.
| * | Fix multi-line selection with single cell endChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the user selected multiple lines, dragging the selection downwards, and then leaves the cursor to the left side of the first cell, the first cell was still incorrectly selected. This has been fixed. The selection also did not update if the mouse was outside of the window, now all movement events are accpeted even when the mouse is outside of the window. This allows updating the selection when the user is dragging the cursor too far. Mouse movement and click events outside of the window are not propagated, these are only used for updating the selection.
| * | Fix selection in scrollbackChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | There were a few issues with selection in scrollback that were mainly off-by-one errors. This aims at fixing these issues. This also fixes a bug that currently exists in master where the last cell is not selected when the mouse leaves the window to the right.
| * | Fix linux config default valueChristian Duerr2018-06-02
| | |
| * | Merge branch #1095Christian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because there was some overlap with branch #1095, these two PRs have been added together and the config has been restructured to make use of a `scrolling` section. The default faux scrolling amount has also been changed to `3` because this simplifies the code and falls in line with what most other terminal emulators do. There should be no additional test failures due to this.
| * | Change config file to display the correct defaultChristian Duerr2018-06-02
| | |
| * | Make normal scrolling line amount configurableChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | It is now possible to configure the amount of lines the viewport should scroll when using the normal scrolling mode. This fixes #1160.
| * | Fix crash when selection leaves viewportChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Disable faux scrolling when shift is pressedChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Add faux_scrolling back to scrollbackChristian Duerr2018-06-02
| | |
| * | Provide correct default for scroll_historyChristian Duerr2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Add `failure_default` deserializer to `scroll_history`Christian Duerr2018-06-02
| | |
| * | Fix 4+ line copyingJoe Wilm2018-06-02
| | |
| * | Disable LTOJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | It's nice to be able to use incremental compilation for release builds. TODO quantify performance impact.
| * | Add SCROLL_MULTIPLIERJoe Wilm2018-06-02
| | | | | | | | | | | | Scroll wheel needs some scaling so it feels like urxvt and friends.
| * | Support selections with scrolling bufferJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Move selection into GridJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Style cleanupJoe Wilm2018-06-02
| | |
| * | Fix scrolling backwards in tmuxJoe Wilm2018-06-02
| | |
| * | Make number of scrollback lines configurableJoe Wilm2018-06-02
| | |
| * | Scroll to bottom on character receivedJoe Wilm2018-06-02
| | |
| * | wip fix scroll_downJoe Wilm2018-06-02
| | |
| * | Fir cursor not scrollingJoe Wilm2018-06-02
| | |
| * | Add scrolling limit and update on grow linesJoe Wilm2018-06-02
| | |
| * | checkpoint: very basic scrolling worksJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | | | | Things that do not work - Limiting how far back in the buffer it's possible to scroll - Selections (need to transform to buffer offsets)
| * | wip scrollbackJoe Wilm2018-06-02
| | |
| * | Remove some unused implsJoe Wilm2018-06-02
| | |
| * | Minor improvementsJoe Wilm2018-06-02
| | |
| * | WIP optimize scroll in regionJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Use memcpy for resetting row contentsJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | In addition to a marginal performance improvement, this simplifies some logic in the Term implementation since now the Grid fully handles row recycling.
| * | Remove redundant selection::Region typeJoe Wilm2018-06-02
| | | | | | | | | | | | | | | The type selection::Region was defined identially to std::ops::Range. Using something other than range just served to confuse.
| * | Remove some unused methods and implsJoe Wilm2018-06-02
| | |
| * | Eliminate ClearRegion traitJoe Wilm2018-06-02
| | |
| * | Move grid Row and tests into submodulesJoe Wilm2018-06-02
| | | | | | | | | | | | This is part of some cleanup for the grid module as a whole.
| * | Back Grid with VecDequeJoe Wilm2018-06-02
| | | | | | | | | | | | | | | | | | | | | 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).
| * | Cleanup styleJoe Wilm2018-06-02
| | |
* | | Remove redundant copy when selecting font_keyLucas Timmins2018-09-05
| | |
* | | Update dependenciesMatthias Krüger2018-08-05
| | | | | | | | | | | | This fixes an `illegal hardware instruction (core dumped)` error when building in release mode.
* | | Revert cargo-deb install back to use crates.ioChristian Duerr2018-07-29
| | | | | | | | | | | | | | | Since `cargo-deb` has been updated on crates.io it is now possible to just install it from crates.io and build Alacritty's deb without having to rely on github.
* | | Change deb installation from crates.io to gitChristian Duerr2018-07-29
| |/ |/| | | | | | | | | | | | | | | There have been a number of issues an PRs opened since the cargo-deb installation does not work with the latest version from crates.io. To help out users until the crates.io version is updated, the installation instructions have been temporarily changed to install `cargo-deb` through github.
* | Ignore errors when logger can't write to outputChristian Duerr2018-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The (e)print macro will panic when there is no output available to write to, however in our scenario where we only log user errors to stderr, the better choice would be to ignore when writing to stdout or stderr is not possible. This changes the (e)print macro to make use of `write` and ignore any potential errors. Since (e)println rely on (e)print, this also solves potential failuers when calling (e)println. With this change implemented, all of logging, (e)println and (e)print should never fail even if the stdout/stderr is not available.
* | Fix clippy lints and run font tests on travisMatthias Krüger2018-07-25
| | | | | | | | | | | | This fixes some existing clippy issues and runs the `font` tests through travis. Testing of copypasta crate was omitted due to problens when running on headless travis-ci environment (x11 clipboard would fail).
* | Add optional dim foreground colorRémi Garde2018-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add optional color for the dim foreground (`\e[2m;`) Defaults to 2/3 of the foreground color. (same as other colors). If a bright color is dimmed, it's displayed as the normal color. The exception for this is when the bright foreground is dimmed when no bright foreground color is set. In that case it's treated as a normal foreground color and dimmed to DimForeground. To minimize the surprise for the user, the bright and dim colors have been completely removed from the default configuration file. Some documentation has also been added to make it clear to users what these options can be used for. This fixes #1448.
* | Switch to rustup clippy componentChristian Duerr2018-07-22
| |
* | Add binding action for hiding the windowJosh Leeb-du Toit2018-07-22
| |
* | Add support for LCD-V pixel modeyshui2018-07-21
| |
* | Send newline with NumpadEnterAleksandr Pasechnik2018-07-21
| |
* | Allow specifying modifiers for mouse bindingsChristian Duerr2018-07-21
| |