Skip to content
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

Closed
wants to merge 91 commits into from
Closed

Merge master and use num-traits instead of num #10

wants to merge 91 commits into from

Conversation

chetgurevitch
Copy link

Everything seems to be working but it'd probably be good for @chrisduerr to look over the faux scrolling section.

jmcduffie32 and others added 29 commits December 16, 2017 22:04
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
@chrisduerr
Copy link

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.

NickeZ and others added 11 commits January 8, 2018 13:07
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.
@chetgurevitch
Copy link
Author

chetgurevitch commented Jan 28, 2018

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.

@chetgurevitch
Copy link
Author

@neon64 Everything's up to date with master. Unless @chrisduerr has any ideas about the issue mentioned above this should be done.

mesaugat and others added 6 commits February 13, 2018 16:20
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).
@neon64
Copy link
Owner

neon64 commented Mar 19, 2018

Sorry about the prolonged silence here. Is this necessary now that @jwilm has his own implementation going?

@chrisduerr
Copy link

I don't think so. It's probably a better idea to put the effort into that version.

@FichteFoll
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.