- 02 Oct, 2018 1 commit
-
-
Peter van der meulen authored
-
- 23 Sep, 2018 3 commits
-
-
Christian Duerr authored
When the DPI factor changed and the window hasn't been resized, Alacritty incorrectly resized the window to the previous size without scaling it by the new DPI factor. This has been fixed by making sure that every resize event triggered by a DPI change uses the DPI factor to scale the window.
-
Christian Duerr authored
-
trimental authored
The mesa workaround has lead to some issues with rendering on Wayland. To resolve this problem, the mesa workaround has been restructured in a way which still allows clearing the screen before rendering without killing performance with the mesa driver. The performance is identical to the master brach and there have been no recorded regressions.
-
- 22 Sep, 2018 1 commit
-
-
Christian Duerr authored
This changes a lot of small details in the configuration file in an attempt to unify its structure. These are some main guidelines used for this refactoring: - Specify that changes require restart consistently - Unify the specification of available field values - Provide clear distinction between description title and body Besides these guidelines used to unify minor details in the configuration file, the section on key configuration has been completely reworked in an attempt to reduce the amount of text used. This should make it possible to understand what's going on without having to read any text. The notice that modifiers are not supported has been removed from the mouse binding documentation.
-
- 20 Sep, 2018 9 commits
-
-
Christian Duerr authored
The latest change to window decorations (3b46859e) introduced a regression when running Alacritty without the `decorations` field specified in the configuration file. Since serde wasn't setup to fallback to the default, the complete config deserialization would fail. This resolves this issue by deserializing it to the default decorations value "Full". To make this setting a little more forgiving, this also introduces another change which ignores the case for the configuration options. So both `full` and `FuLl` are now accepted.
-
Joe Wilm authored
The bracketed paste mode change isn't so much a fix as it is a change to address a potential security issue.
-
Joe Moon authored
The decorations config was changed from a bool to an enum. `full` has taken the place of `true`, and `none`, has replaced `false`. On macOS, there are now options for `transparent` and `buttonless`. These options are explained in both the CHANGELOG and in the configuration files.
-
Joe Wilm authored
-
Aidan Epstein authored
* Fix Bracketed Paste Mode when input contains end sequence. * Remove \x1b instead of just the paste end sequence.
-
Joe Wilm authored
Update snapcraft.yaml
-
Chris MacNaughton authored
The existing snapcraft.yaml is pointing to a file that has been renamed, subsequently breaking the snap build. This change renames the .desktop file to match what is in-tree.
-
Christian Duerr authored
-
Johannes authored
Alacritty has some checks in place to make sure that unsafe code would not fail because of invalid struct sizes. This managed to successfully catch an incorrect unsafe block on 32-bit machines. To make sure this block works on both 32-bit and 64-bit systems, it has been altered to make use of the platform-dependent `usize` type. This will always make use of correct sizes without having to rely on conditional compilation.
-
- 19 Sep, 2018 3 commits
-
-
Jeff Muizelaar authored
The core-* dependencies have been updated and every breaking change has been resolved. These are the main changes which required adaption: - font_path() returns a PathBuf now - get_descriptors() returns an Option<CFArray> - get_advances_for_glyphs and get_glyphs_for_characters are now unsafe. All packages which did not have breaking updates have also been updated.
-
Christian Duerr authored
Alacritty made the assumption that every window started as focused and because of that the hollow cursor wouldn't show up for windows which are launched without focus. Since even the initial focus should be reported as a focus event by winit, this could be easily fixed just setting the default window state to unfocused instead of focused. This fixes #1563.
-
Christian Duerr authored
This adds support for the `hidden` escape sequence `\e[8m`, which will render the text as invisible. This has also raised a few questions about the rendering of foreground and background colors and their interaction with the different escape sequences. Previously, Alacritty has oriented itself after URxvt, which has some strange and unexpected behavior. The new implementation of color inversion is modeled after XTerm, which has a consistent pattern of always inverting the foreground and background colors. This should hopefully lead to less confusion for the user and a more consistent behavior. A full matrix showcasing the new way Alacritty inverses text can be found here: https://i.imgur.com/d1XavG7.png This fixes #1454 and fixes #1455.
-
- 18 Sep, 2018 3 commits
-
-
Philipp authored
macOS 10.14 will bring a new system wide dark mode. To enable this, the [official guides][] suggest to relink using the newest OS. This approach, however, did not work for me as described in [an issue][] in the glutin repository. As a second option, the accompanying `Info.plist` file can also overwrite the link-time check and enable dark mode rendering if the system config is set by setting `NSRequiresAquaSystemAppearance` to `YES`. This approach seems to work flawlessly no matter if a user opts into dark mode or not. I would appreciate it if someone can test this on macOS 10.13 as well, but I suppose the key there is unused and would not break anything. [official guides]: https://developer.apple.com/documentation/appkit/appkit_release_notes_for_macos_10.14_beta [an issue]: https://github.com/tomaka/glutin/issues/1053#issuecomment-409315461
-
Daniel Eklöf authored
Changing tabspaces from the default (8) requires a corresponding update to the `it` item in the terminfo entry used. Some applications, like Emacs, rely on knowing the width of a tab, and will experience unexpected behavior if the terminfo data does not match the actual width used.
-
Christian Duerr authored
Since the scrollback history allocates all lines in memory, it is possible to specify a scrollback history which is big enough to freeze the computer due to OOM. To resolve this issue, an upper limit of `100_000` has been set for the scrollback history. Even though this might still cause some systems to freeze, this should provide a good balance for most users.
-
- 17 Sep, 2018 13 commits
-
-
Matthias Krüger authored
-
VoidNoire authored
-
Nathan West authored
-
Alexander Schlarb authored
The zsh completion name for the deb installer has been corrected. The installation instructions for the zsh completions have also been updated to make it possible to install them without root permissios.
-
David Peter authored
Set `COLORTERM` to `truecolor` in order for applications to be able to detect that alacritty supports 24-bit colors. See https://gist.github.com/XVilka/8346728 for more details. Closes #1526.
-
nolanl authored
Fixes a regression on non-macOS platforms caused by the fix for issue #1291. The fix is to follow platform norms for mouse click behavior on unfocused terminals. On macOS, the first click (that gives the window focus) is swallowed, and has no effect on the terminal. On all other platforms, the first click is passed through to the terminal.
-
Christian Rebischke authored
Since Alacritty does not require the AUR anymore, its mention has been removed from the README. To make future changes simpler, the README has also been reworded so less changes are required for adding new operating systems.
-
Matt Keeler authored
-
Matt Keeler authored
-
Joe Wilm authored
-
Joe Wilm authored
Scrollback
-
Joe Wilm authored
-
Christian Duerr authored
* Change deb installation from crates.io to git 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. * Revert cargo-deb install back to use crates.io 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. * Update dependencies This fixes an `illegal hardware instruction (core dumped)` error when building in release mode. * Remove redundant copy when selecting font_key * Bump version number to 0.2.0 Since the Scrollback branch introduces some major changes, this bumps the version number from 0.1.0 to 0.2.0. The versions of Alacritty have not been updated regularly to this point, so the scrollback branch is a good point in time to start updating Alacritty's version on a regular basis. Further changes to the readme, like dropping the 'alpha' status and updating it to 'beta' could also be introduced with this branch. This way there will be a clean cut which updates everything as soon as scrollback is merged. Building versions is another thing which would be a good thing to start reasonably quickly. However starting this on the main branch after scrollback has been merged seems like a more reliable way to move forward. This fixes #1240. * Add a CHANGELOG file A CHANGELOG file has been added to offer a bit more transparency over which features have been changed, added and potentially removed in Alacritty. There are various formats available for the CHANGELOG file but the most common and sensible one seems to be the one defined by https://keepachangelog.com/en/1.0.0. Following the template proposed by this it should be possible to create a clear CHANGELOG which makes it simple for new contributors to figure out exactly which formatting should be used for it. Since there have been quite a few changes to Alacritty already, not all changes have been added to the changelog. However a few entries have been ported just to give a bit of an example what the format should look like. This also helps with the 0.2.0 version since it will not be completely empty in the changelog. This fixes #1534. * Update CHANGELOG This updates the CHANGELOG to include the changes introduced by 43882ade.
-
- 05 Sep, 2018 2 commits
-
-
Christian Duerr authored
The IL escape sequence (CSI Ps L) allows inserting blank, uninitialized lines. `Ps` is a placeholder for the number of lines that should be inserted. Before this change Alacritty would crash when a large number of lines was passed as `Ps` parameter. The issue was caused whenever the current line of the cursor plus the lines that should be inserted would leave the bottom of the terminal, since this makes indexing impossible. This patch makes sure that the biggest amount of lines inserted does never exceed the end of the visible region minus the current line of the curser, which fixes the underflow issue. This fixes #1515.
-
Lucas Timmins authored
-
- 02 Sep, 2018 1 commit
-
-
Nathan Lilienthal authored
The clearing the screen for the `ansi::ClearMode::Saved` enum value has been implemented. This is used to clear all lines which are currently outside of the visible region but still inside the scrollback buffer. The specifications of XTerm indicate that the clearing of saved lines should only clear the saved lines and not the saved lines plus the currently visible part of the grid. Applications like `clear` send both the escape for clearing history plus the escape for clearing history when requested, so all sources seem to agree here. To allow both clearing the screen and the saved lines when a key is pressed the `process_key_bindings` method has been altered so multiple bindings can be specified. So it is now possible to execute both `^L` and `ClearHistory` with just a single binding. The `process_mouse_bindings` method has also been changed for consistency. To make sure everything works properly a test has been added which clears the history and then attempts to scroll. Since scrolling is the only way for a user to check if scrollback is available, this seems like a nice abstraction to check if there is a scrollback.
-
- 19 Aug, 2018 1 commit
-
-
Christian Duerr authored
-
- 16 Aug, 2018 1 commit
-
-
Matt Keeler authored
-
- 15 Aug, 2018 1 commit
-
-
Christian Duerr authored
Since Alacritty never had any scrollback history, the behavior when the window height was increased was to just keep the prompt on the same line it has been before the resize. However the usual behavior of terminal emulators is to keep the distance from the prompt to the bottom of the screen consistent whenever possible. This fixes this behavior by loading lines from the scrollback buffer when the window height is increased. This is only done when scrollback is available, so there are only N lines available, the maximum amount of lines which will be loaded when growing the height is N. Since the number of lines available in the alternate screen buffer is 0, it still behaves the same way it did before this patch. Different terminal emulators have different behaviors when this is done in the alt screen buffer, XTerm for example loads history from the normal screen buffer when growing the height of the window from the alternate screen buffer. Since this seems wrong (the alt screen is not supposed to have any scrollback), the behavior of Termite (VTE) has been chosen instead. In Termite the alt screen buffer never loads any scrollback history itself, however when the terminal height is grown while the alternate screen is active, the normal screen's scrollback history lines are loaded. This fixes #1502.
-
- 10 Aug, 2018 1 commit
-
-
Christian Duerr authored
Some minor formating issues were still present in the current state of the PR, these should all be resolved with this. The comment about converting between logical and physical sizes was also still present in the `src/display.rs` even though the conversion itself has been moved to the `src/event.rs` file. To fix this the comment has also been moved to the `src/event.rs` file.
-