-
Notifications
You must be signed in to change notification settings - Fork 1
Windows master #15
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
Windows master #15
Conversation
Linefeeds should only move the cursor down if it's before the end of the scroll region. The "out of bounds" panic was triggered by linefeeds going off the bottom of the screen when the scroll region end was above the cursor. Note: https://vt100.net/docs/vt102-ug/chapter5.html "Characters added outside the scrolling region do not cause the screen to scroll."
Outside of a scroll region, linefeed will still advances the line until reaching the bottom row in other terminals. Alacritty now matches that.
There were two ref tests that were not being run. Oops!
Useful when requesting more info to help investigating issues.
* Support text cursor color escape codes * Support reset color index escape code * Support multiple colors in set color index escape code
…ritty#907)" This reverts commit a931d69. Please see alacritty#907 (comment) for rationale w/ GIF. > now alacritty starts "in stages". First it paints some small > rectangle, and in a second in "boots" and fills up the available > space.
…less_pass_by_value, needless_borrow).
The default cursor can now be configured through the cursor_style field of the config. Valid options include Block, Underline, and Beam. The default can be restored by sending \e[0q as in VTE terminals. Live config reloading is supported for this parameter.
I dug into this and narrowed the issue down to the macOS app bundle Info.plist file. So, I spun up a native macOS app real quick and tested it by launching the binary directly and launching it via the app bundle. When launching from the command line directly, it created multiple windows & instances of the app. However, when launching via the app bundle it behaved as I normally expect a macOS app to behave, that is when launched multiple times to simply focus the already existing window and instance. This informed me that it wasn't something in code as much as it was something in the app bundle configuration. Hence, I reworked the Info.plist file based on the one that was created by XCode when I made the native macOS app and it started behaving as expected.
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
Updated the lockfile to make sure clippy is building properly with the latest nightly toolchain.
This cleans up a bunch of code.
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).
ok, now it is starting. However I am still seeing corruption when I run emacs inside a tmux session over ssh 😢 |
I had been planning to wait until all the issues were sorted out with the windows build before rebasing on master, however it'd be a shame to throw away all of the work you did on the merge. |
I only see the corruption on windows. On a mac it seems to render as expected. |
Sorry, I meant on my current windows branch; as in, did the rebase cause the issue or was it something that should have been fixed by a commit in the rebase. |
I was hoping it would be something that master should have fixed. I'm seeing the same behaviour on all windows branches that I've tried. There was a commit on master that sounded like it should fix a problem similar to this, but I guess there is something else wrong. |
Other than that the changes look good to me. Could you give me a little more detail on the corruption issue? Screenshots, steps to reproduce, etc. |
#[cfg(not(windows))] | ||
let initially_shown = false; | ||
#[cfg(windows)] | ||
let initially_shown = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What commit is this from? I heard something about this being an issue on OSX, why is it just windows that has a window that's initially shown?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was some code I wrote to stop the app from locking up at the start. I've not had any problems running master under MacOS
I got some weird artifacts from resizing but nothing that I haven't seen before from an SSH connection. As this isn't a regression I'm going to merge this. If it happens consistently feel free to open an issue, though it might be hard for me to diagnose. |
Yeah, I'm guessing it is something related to winpty. It's almost like it is somehow not correctly handling scrolling regions. I suspect that if I split the tmux session the other way I will not see the same issues. |
Interestingly I am not seeing as many issues if I use |
It seems to be behaving in the same way as this bug: alacritty#747 |
I just thought I'd try something and I ran up a standard Windows cmd window and used that to run ssh to connect to my Linux machine and I'm seeing exactly the same behavior as in Alacritty. This means the problem is somewhere else. Maybe the ssh client I'm using is rubbish. I'll look around and see what I can see. |
I have installed the official Windows 10 SSH client and it seems to behave properly. I was using the Cygwin SSH client and it looks like this was fighting with WinPTY. Now to get the Alt key working properly so I can run Emacs 😄 |
There are quite a few bugs that have been fixed in the upstream master that are still present in the windows branch. I've done a merge of master into the windows branch. It is almost working (at least it compiles). What I'm seeing is the app locks up if the config specifies that the window should have decorations. If I turn off decorations then it works but of course moving and resizing the window no longer work. Not being particularly familiar with rust I'm hoping you may be able to see what's going on. I'm looking at it here also.