-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge master and use num-traits instead of num #10
Conversation
Until winit gives us more capabilities in regard to window decorations this implements a simple switch that renders the window without any title bar or border
Move/rename borderless into window_config as decorations
When an atlas is full and the `insert` call fails, a new atlas should be created. This is the current strategy, however the atlas is put at the end of the vector, but the `current_atlas` index is set to 0, instead of the last element. This leads to a recursion where it keeps trying to insert into the full atlas at position 0 instead of the new at `atlas.len() - 1`. With this simple fix a stack-overflow is prevented because the new atlas is inserted as the first element, which then will be used correctly for loading new glyphs. This fixes alacritty/issues/842 and might also solve alacritty/issues/914 (I wasn't able to reproduce this with the latest master).
Previously there were two separate but intended-to-be-identical implementations. Now the two implementations simply delegate to a single, shared method. This should help correctness issues in the future.
This patch implements faux scrolling inside the alternate screen buffer. Whenever the user scrolls up or down while the alternate screen buffer is active, instead of actual scrolling three up/down arrow keys are inserted.
Touchpads which use line-based instead of pixel-based updates send partial scroll requests, so decimal numbers are important. The current implementation only really used scroll amounts that are either 1 or -1. This has been fixed and now the line-based touchpads should have very smooth scrolling, but the pixel-based approach is still WIP and completely untested.
The pixel-based scrolling behavior has been adapted to be as similar to the line-based one as possible. I still have not been able to test this. But this should have a decent chance to at least kinda work.
Void Linux has the alacritty package in the main repository's, so compilation from source isn't needed.
Homebrew Rust will correctly compile `alacritty` now, and the monospace font is automatically set to `Menlo` at first launch.
This became a support burden for me due to various compile and run time issues.
The cascade list is now generated from Menlo for all fonts. This doesn't feel correct to me, but it seems to give the expected behavior on macOS. One of the problems cited was that certain glyphs like ❯ would not be rendered with default cascade lists for some fonts.
When a selection was made, the last line of the selection did not include a new line character when the line ending was selected. This would occur if only one line was selected; if multiple lines were selected, only the final line did not include a newline. This commit updates the `string_from_selection` function to attempt to append a newline character in all places where they are suitable. Because of the simplification of newline insertion, several trait implementations were removed.
Also fixes warning from gl generator
The faux scrolling is definitely broken in this. It looks like scrolling by fixed amounts (+-1) works just fine, but touchpads scroll by fractions. And that definitely doesn't work properly anymore with this PR. I'll look into it a bit more to check out if I can find the reason for it. |
Commit 2920cbe introduced a regression because of a typo in the chunk slice index for the `parse_rgb_color` call. This fixes this issue by resetting it to the state it was before the faulty commit.
Repeated uses of `cp -r target/release/osx/Alacritty.app /Applications/Alacritty.app` will result in copying Alacritty.app to `/Applications/Alacritty.app/Alacritty.app`.
A link to all variants available as `key` has been added to the key bindings documentation, to help users with finding the right place for mapping key codes.
Clippy failed to build with the latest nightly, so the lockfile has been updated to allow the nightly builds to work again.
This change initially spawns alacritty as in invisible window, this makes it possible for the pty to already access data like `window_id` without having to wait for the window manager to actually open the window. Even though `GlWindow::new` is blocking when `with_visibility(true)` is used, the `window.show` call is not blocking. So calling `GlWindow::new` and `with_visibility(false)`, then immediately calling `window.show` will create a window and make it visible instantly.
The lockfile has been updated to make clippy work with nightly again.
Up to this point the `reset_state` method of the `Term` struct has been just a placeholder. This has been changed and all important state has been reset. The only state that has not been reset is stuff which is retrieved from the config and isn't stored as default on the `Term` struct either. From what I can tell these are all never changed though. This fixes alacritty#1033. After doing some more testing trying to figure out how to fix that all glyphs are messed up after doing `cat /dev/urandom`, I was able to confirm that resetting `Term::cursor` fixes the glyphs and restores everything to normal. So this also fixes alacritty#804.
Updated the version of some dependencies. This also changes to a new clippy version so clippy can work with the latest nightly compiler again. Some issues created by new lints have been fixed.
Merged latest changes from master. It's a pretty minor issue but there's still some flickering when scrolling in the alternate buffer (see the status bar in man), though it doesn't seem to happen when scrolling especially slowly. |
Updated the lockfile to make sure clippy is building properly with the latest nightly toolchain.
This cleans up a bunch of code.
@neon64 Everything's up to date with master. Unless @chrisduerr has any ideas about the issue mentioned above this should be done. |
The level of heading were one to high.
Upgrading glutin to the latest version allows building alacritty even with old XRandr versions. This is relevant for Debian machines (and other ancient systems).
Sorry about the prolonged silence here. Is this necessary now that @jwilm has his own implementation going? |
I don't think so. It's probably a better idea to put the effort into that version. |
Since it's kind of a long PR, can you briefly sum up what this PR adds specifically other than rebasing on upstream? I supposed I should be trying this instead of the target branch until the alternative implementation is usable. |
Everything seems to be working but it'd probably be good for @chrisduerr to look over the faux scrolling section.